Message ID | 1346049698-10740-1-git-send-email-oliver@neukum.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: oliver@neukum.org Date: Mon, 27 Aug 2012 08:41:38 +0200 > From: Oliver Neukum <oliver@neukum.org> > > A usbnet device can share a multifunction device > with a storage device. If the storage device is autoresumed > the usbnet devices also needs to be autoresumed. Allocating > memory with GFP_KERNEL can deadlock in this case. > > This should go back into all kernels that have > commit 65841fd5132c3941cdf5df09e70df3ed28323212 > That is 3.5 > > Signed-off-by: Oliver Neukum <oneukum@suse.de> Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index 8531c1c..fd4b26d 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -1573,7 +1573,7 @@ int usbnet_resume (struct usb_interface *intf) netif_device_present(dev->net) && !timer_pending(&dev->delay) && !test_bit(EVENT_RX_HALT, &dev->flags)) - rx_alloc_submit(dev, GFP_KERNEL); + rx_alloc_submit(dev, GFP_NOIO); if (!(dev->txq.qlen >= TX_QLEN(dev))) netif_tx_wake_all_queues(dev->net);