From patchwork Wed Jul 6 01:35:05 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Fries X-Patchwork-Id: 103398 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 1FA1DB6F74 for ; Wed, 6 Jul 2011 11:35:35 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755556Ab1GFBfa (ORCPT ); Tue, 5 Jul 2011 21:35:30 -0400 Received: from exprod5og105.obsmtp.com ([64.18.0.180]:37729 "EHLO exprod5og105.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755224Ab1GFBfa (ORCPT ); Tue, 5 Jul 2011 21:35:30 -0400 Received: from DE01MGRG01.AM.MOT-MOBILITY.COM ([192.54.82.14]) (using TLSv1) by exprod5ob105.postini.com ([64.18.4.12]) with SMTP ID DSNKThO74Dj+kNM4W/MCY9tH+Z/9has7bzpC@postini.com; Tue, 05 Jul 2011 18:35:29 PDT Received: from DE01MGRG01.AM.MOT-MOBILITY.COM ([10.22.94.168]) by DE01MGRG01.AM.MOT-MOBILITY.COM (8.14.3/8.14.3) with ESMTP id p661a6Os019830 for ; Tue, 5 Jul 2011 21:36:07 -0400 (EDT) Received: from mail-pz0-f42.google.com (mail-pz0-f42.google.com [209.85.210.42]) by DE01MGRG01.AM.MOT-MOBILITY.COM (8.14.3/8.14.3) with ESMTP id p661a5Mv019817 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=OK) for ; Tue, 5 Jul 2011 21:36:06 -0400 (EDT) Received: by pzk37 with SMTP id 37so3239519pzk.15 for ; Tue, 05 Jul 2011 18:35:26 -0700 (PDT) Received: by 10.143.97.9 with SMTP id z9mr3800611wfl.193.1309916125909; Tue, 05 Jul 2011 18:35:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.157.5 with HTTP; Tue, 5 Jul 2011 18:35:05 -0700 (PDT) Reply-To: C.Fries@Motorola.com From: Chris Fries Date: Tue, 5 Jul 2011 20:35:05 -0500 Message-ID: Subject: [PATCH] usb: usbnet: suspend count gets lost when -EBUSY To: David Miller Cc: netdev@vger.kernel.org, stable@kernel.org X-CFilter-Loop: Reflected Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- drivers/net/usb/usbnet.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) set_bit(EVENT_DEV_ASLEEP, &dev->flags); 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 {