aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage/usb.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2007-05-04 11:52:20 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-07-12 19:29:47 -0400
commit0458d5b4c9cc4ca0f62625d0144ddc4b4bc97a3c (patch)
tree8b1fcb4f063ef4aa6f2e3cd41a60d986a1e432d4 /drivers/usb/storage/usb.c
parentce7cd137fced114d49178b73d468b82096a107fb (diff)
USB: add USB-Persist facility
This patch (as886) adds the controversial USB-persist facility, allowing USB devices to persist across a power loss during system suspend. The facility is controlled by a new Kconfig option (with appropriate warnings about the potential dangers); when the option is off the behavior will remain the same as it is now. But when the option is on, people will be able to use suspend-to-disk and keep their USB filesystems intact -- something particularly valuable for small machines where the root filesystem is on a USB device! Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/storage/usb.c')
-rw-r--r--drivers/usb/storage/usb.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index df5dc186aef5..be4cd8fe4ce6 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -236,7 +236,7 @@ static void storage_pre_reset(struct usb_interface *iface)
236 mutex_lock(&us->dev_mutex); 236 mutex_lock(&us->dev_mutex);
237} 237}
238 238
239static void storage_post_reset(struct usb_interface *iface) 239static void storage_post_reset(struct usb_interface *iface, int reset_resume)
240{ 240{
241 struct us_data *us = usb_get_intfdata(iface); 241 struct us_data *us = usb_get_intfdata(iface);
242 242
@@ -249,7 +249,11 @@ static void storage_post_reset(struct usb_interface *iface)
249 249
250 /* FIXME: Notify the subdrivers that they need to reinitialize 250 /* FIXME: Notify the subdrivers that they need to reinitialize
251 * the device */ 251 * the device */
252 mutex_unlock(&us->dev_mutex); 252
253 /* If this is a reset-resume then the pre_reset routine wasn't
254 * called, so we don't need to unlock the mutex. */
255 if (!reset_resume)
256 mutex_unlock(&us->dev_mutex);
253} 257}
254 258
255/* 259/*