mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
	Alan Stern <stern@rowland.harvard.edu>
Subject: [22/35] USB: dont let the hub driver prevent system sleep
Date: Fri, 08 Jul 2011 15:50:11 -0700	[thread overview]
Message-ID: <20110708225120.924136559@clark.kroah.org> (raw)
In-Reply-To: <20110708225343.GA14402@kroah.com>

2.6.32-longterm review patch.  If anyone has any objections, please let us know.

------------------

From: Alan Stern <stern@rowland.harvard.edu>

commit cbb330045e5df8f665ac60227ff898421fc8fb92 upstream.

This patch (as1465) continues implementation of the policy that errors
during suspend or hibernation should not prevent the system from going
to sleep.

In this case, failure to turn on the Suspend feature for a hub port
shouldn't be reported as an error.  There are situations where this
does actually occur (such as when the device plugged into that port
was disconnected in the recent past), and it turns out to be harmless.
There's no reason for it to prevent a system sleep.

Also, don't allow the hub driver to fail a system suspend if the
downstream ports aren't all suspended.  This is also harmless (and
should never happen, given the change mentioned above); printing a
warning message in the kernel log is all we really need to do.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/usb/core/hub.c |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2188,6 +2188,10 @@ int usb_port_suspend(struct usb_device *
 				USB_DEVICE_REMOTE_WAKEUP, 0,
 				NULL, 0,
 				USB_CTRL_SET_TIMEOUT);
+
+		/* System sleep transitions should never fail */
+		if (!(msg.event & PM_EVENT_AUTO))
+			status = 0;
 	} else {
 		/* device has up to 10 msec to fully suspend */
 		dev_dbg(&udev->dev, "usb %ssuspend\n",
@@ -2427,16 +2431,15 @@ static int hub_suspend(struct usb_interf
 	struct usb_device	*hdev = hub->hdev;
 	unsigned		port1;
 
-	/* fail if children aren't already suspended */
+	/* Warn if children aren't already suspended */
 	for (port1 = 1; port1 <= hdev->maxchild; port1++) {
 		struct usb_device	*udev;
 
 		udev = hdev->children [port1-1];
 		if (udev && udev->can_submit) {
-			if (!(msg.event & PM_EVENT_AUTO))
-				dev_dbg(&intf->dev, "port %d nyet suspended\n",
-						port1);
-			return -EBUSY;
+			dev_warn(&intf->dev, "port %d nyet suspended\n", port1);
+			if (msg.event & PM_EVENT_AUTO)
+				return -EBUSY;
 		}
 	}
 



  parent reply	other threads:[~2011-07-09  5:54 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-08 22:53 [00/35] 2.6.32.43-longterm review Greg KH
2011-07-08 22:49 ` [01/35] ksm: fix NULL pointer dereference in scan_get_next_rmap_item() Greg KH
2011-07-08 22:49 ` [02/35] migrate: dont account swapcache as shmem Greg KH
2011-07-08 22:49 ` [03/35] xen: partially revert "xen: set max_pfn_mapped to the last pfn mapped" Greg KH
2011-07-08 22:49 ` [04/35] clocksource: Make watchdog robust vs. interruption Greg KH
2011-07-08 22:49 ` [05/35] TTY: ldisc, do not close until there are readers Greg KH
2011-07-08 22:49 ` [06/35] xhci: Reject double add of active endpoints Greg KH
2011-07-08 22:49 ` [07/35] PM: Free memory bitmaps if opening /dev/snapshot fails Greg KH
2011-07-08 22:49 ` [08/35] ath5k: fix memory leak when fewer than N_PD_CURVES are in use Greg KH
2011-07-08 22:49 ` [09/35] ath9k: Fix suspend/resume when no interface is UP Greg KH
2011-07-09 15:58   ` Paul Gortmaker
2011-07-11  5:21     ` Rajkumar Manoharan
2011-07-13  3:28     ` [Stable-review] " Greg KH
2011-07-08 22:49 ` [10/35] mm: fix negative commitlimit when gigantic hugepages are allocated Greg KH
2011-07-08 22:50 ` [11/35] [media] uvcvideo: Remove buffers from the queues when freeing Greg KH
2011-07-08 22:50 ` [12/35] watchdog: mtx1-wdt: request gpio before using it Greg KH
2011-07-08 22:50 ` [13/35] debugobjects: Fix boot crash when kmemleak and debugobjects enabled Greg KH
2011-07-08 22:50 ` [14/35] cfq-iosched: fix locking around ioc->ioc_data assignment Greg KH
2011-07-08 22:50 ` [15/35] cfq-iosched: fix a rcu warning Greg KH
2011-07-08 22:50 ` [16/35] i2c-taos-evm: Fix log messages Greg KH
2011-07-08 22:50 ` [17/35] md: avoid endless recovery loop when waiting for fail device to complete Greg KH
2011-07-08 22:50 ` [18/35] SUNRPC: Ensure the RPC client only quits on fatal signals Greg KH
2011-07-08 22:50 ` [19/35] 6pack,mkiss: fix lock inconsistency Greg KH
2011-07-08 22:50 ` [20/35] taskstats: dont allow duplicate entries in listener mode Greg KH
2011-07-08 22:50 ` [21/35] USB: dont let errors prevent system sleep Greg KH
2011-07-08 22:50 ` Greg KH [this message]
2011-07-08 22:50 ` [23/35] uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc Greg KH
2011-07-08 22:50 ` [24/35] um: os-linux/mem.c needs sys/stat.h Greg KH
2011-07-08 22:50 ` [25/35] netlink: Make nlmsg_find_attr take a const nlmsghdr* Greg KH
2011-07-08 22:50 ` [26/35] inet_diag: fix inet_diag_bc_audit() Greg KH
2011-07-08 22:50 ` [27/35] PM / Hibernate: Avoid hitting OOM during preallocation of memory Greg KH
2011-07-08 22:50 ` [28/35] PM / Hibernate: Fix free_unnecessary_pages() Greg KH
2011-07-08 22:50 ` [29/35] bug.h: Add WARN_RATELIMIT Greg KH
2011-07-08 22:50 ` [30/35] net: filter: Use WARN_RATELIMIT Greg KH
2011-07-08 22:50 ` [31/35] af_packet: prevent information leak Greg KH
2011-07-08 22:50 ` [32/35] net/ipv4: Check for mistakenly passed in non-IPv4 address Greg KH
2011-07-08 22:50 ` [33/35] ipv6/udp: Use the correct variable to determine non-blocking condition Greg KH
2011-07-08 22:50 ` [34/35] udp/recvmsg: Clear MSG_TRUNC flag when starting over for a new packet Greg KH
2011-07-08 22:50 ` [35/35] mm: prevent concurrent unmap_mapping_range() on the same inode Greg KH
2011-07-08 23:01 [00/35] 2.6.33.16-longterm review Greg KH
2011-07-08 23:00 ` [22/35] USB: dont let the hub driver prevent system sleep Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110708225120.924136559@clark.kroah.org \
    --to=gregkh@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable-review@kernel.org \
    --cc=stable@kernel.org \
    --cc=stern@rowland.harvard.edu \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®