ChangeSet 1.865.28.11, 2002/12/19 12:11:06-08:00, oliver@neukum.name

[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


diff -Nru a/drivers/usb/net/cdc-ether.c b/drivers/usb/net/cdc-ether.c
--- a/drivers/usb/net/cdc-ether.c	Sun Dec 22 00:39:46 2002
+++ b/drivers/usb/net/cdc-ether.c	Sun Dec 22 00:39:46 2002
@@ -132,7 +132,7 @@
 
 	// Give this to the USB subsystem so it can tell us
 	// 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);
 	}
 
@@ -302,7 +302,7 @@
 	ether_dev->tx_urb->transfer_buffer_length = count;
 	
 	// 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...
 		warn("failed tx_urb %d", res);
 		// update some stats...
