From 963360b955bae58963399124b4a542827f3272ea Mon Sep 17 00:00:00 2001
From: Chris Fries <C.Fries@motorola.com>
Date: Fri, 1 Jul 2011 15:28:58 -0500
Subject: [PATCH] usb: usbnet: suspend count gets lost when -EBUSY

When suspend is refused due to pending transmits, the
busy counter gets out of sync, and suspend will stop
working correctly.

Change-Id: I89d31d6584e8914192315671c8031a9c7658ca22
Signed-off-by: Chris Fries <C.Fries@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

