Commit afa73820 authored by Oliver Neukum's avatar Oliver Neukum Committed by Greg Kroah-Hartman

[PATCH] USB cdc-ether: GFP_KERNEL in interrupt

cdc-ether has the same problem as cdc-acm.
  - usb_submit_urb() under spinlock or in interrupt must use GFP_ATOMIC
parent e26d349a
...@@ -132,7 +132,7 @@ static void read_bulk_callback( struct urb *urb, struct pt_regs *regs ) ...@@ -132,7 +132,7 @@ static void read_bulk_callback( struct urb *urb, struct pt_regs *regs )
// Give this to the USB subsystem so it can tell us // Give this to the USB subsystem so it can tell us
// when more data arrives. // when more data arrives.
if ( (res = usb_submit_urb(ether_dev->rx_urb, GFP_KERNEL)) ) { if ( (res = usb_submit_urb(ether_dev->rx_urb, GFP_ATOMIC)) ) {
warn("%s failed submint rx_urb %d", __FUNCTION__, res); warn("%s failed submint rx_urb %d", __FUNCTION__, res);
} }
...@@ -302,7 +302,7 @@ static int CDCEther_start_xmit( struct sk_buff *skb, struct net_device *net ) ...@@ -302,7 +302,7 @@ static int CDCEther_start_xmit( struct sk_buff *skb, struct net_device *net )
ether_dev->tx_urb->transfer_buffer_length = count; ether_dev->tx_urb->transfer_buffer_length = count;
// Send the URB on its merry way. // Send the URB on its merry way.
if ((res = usb_submit_urb(ether_dev->tx_urb, GFP_KERNEL))) { if ((res = usb_submit_urb(ether_dev->tx_urb, GFP_ATOMIC))) {
// Hmm... It didn't go. Tell someone... // Hmm... It didn't go. Tell someone...
warn("failed tx_urb %d", res); warn("failed tx_urb %d", res);
// update some stats... // update some stats...
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment