+ usb-fix-root-hub-resume-when-config_usb_suspend-is-not-set.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     USB: fix root-hub resume when CONFIG_USB_SUSPEND is not set

has been added to the -mm tree.  Its filename is

     usb-fix-root-hub-resume-when-config_usb_suspend-is-not-set.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: USB: fix root-hub resume when CONFIG_USB_SUSPEND is not set
From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

This patch (as786) removes a redundant test and fixes a problem involving
repeated system sleeps when CONFIG_USB_SUSPEND is not set.  During the
first wakeup, the root hub's dev.power.power_state.event field doesn't get
updated, causing it not to be suspended during the second sleep transition.

This takes care of the issue raised by Rafael J. Wysocki and Mattia
Dongili.

Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 drivers/usb/core/driver.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)

diff -puN drivers/usb/core/driver.c~usb-fix-root-hub-resume-when-config_usb_suspend-is-not-set drivers/usb/core/driver.c
--- a/drivers/usb/core/driver.c~usb-fix-root-hub-resume-when-config_usb_suspend-is-not-set
+++ a/drivers/usb/core/driver.c
@@ -1079,10 +1079,15 @@ int usb_resume_both(struct usb_device *u
 					PM_EVENT_ON)
 				status = -EHOSTUNREACH;
 		}
-		if (status == 0 && udev->state == USB_STATE_SUSPENDED)
+		if (status == 0)
 			status = resume_device(udev);
 		if (parent)
 			mutex_unlock(&parent->pm_mutex);
+	} else {
+
+		/* Needed only for setting udev->dev.power.power_state.event
+		 * and for possible debugging message. */
+		status = resume_device(udev);
 	}
 
 	/* Now the parent won't suspend until we are finished */
_

Patches currently in -mm which might be from stern@xxxxxxxxxxxxxxxxxxx are

git-scsi-misc.patch
fix-gregkh-usb-usbcore-add-autosuspend-autoresume-infrastructure.patch
gregkh-usb-usbcore-add-autosuspend-autoresume-infrastructure-2.patch
usb-force-root-hub-resume-after-power-loss.patch
usb-fix-root-hub-resume-when-config_usb_suspend-is-not-set.patch
block-layer-early-detection-of-medium-not-present.patch
scsi-core-and-sd-early-detection-of-medium-not-present.patch
sd-early-detection-of-medium-not-present.patch
scsi-early-detection-of-medium-not-present-updated.patch
add-section-on-function-return-values-to-codingstyle.patch
add-srcu-based-notifier-chains.patch
srcu-report-out-of-memory-errors.patch
srcu-report-out-of-memory-errors-fixlet.patch
cpufreq-make-the-transition_notifier-chain-use-srcu.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux