When suspend is refused due to pending transmits, the busy counter gets out of sync, and suspend will stop working correctly.
Signed-off-by: Chris Fries <c.fr...@motorola.com> --- drivers/net/usb/usbnet.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index cc95aad..9bcc3e3 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -1451,6 +1451,7 @@ int usbnet_suspend (struct usb_interface *intf, pm_message_t message) /* don't autosuspend while transmitting */ if (dev->txq.qlen && (message.event & PM_EVENT_AUTO)) { spin_unlock_irq(&dev->txq.lock); + dev->suspend_count--; return -EBUSY; } else { set_bit(EVENT_DEV_ASLEEP, &dev->flags); -- 1.7.0.4 _______________________________________________ stable mailing list stable@linux.kernel.org http://linux.kernel.org/mailman/listinfo/stable