USB: Force unbinding of drivers lacking reset_resume or other methods
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 23 Jun 2008 20:00:40 +0000 (16:00 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 21 Jul 2008 22:16:40 +0000 (15:16 -0700)
commit78d9a487ee961c356e1a934d9a92eca38ffb3a70
treea49a862bf45b1aae6ecd746ac8aa0f48fdfa0917
parent64b3d6d11948cc71ff12124dcb693392a32f1bf4
USB: Force unbinding of drivers lacking reset_resume or other methods

This patch (as1024) takes care of a FIXME issue: Drivers that don't
have the necessary suspend, resume, reset_resume, pre_reset, or
post_reset methods will be unbound and their interface reprobed when
one of the unsupported events occurs.

This is made slightly more difficult by the fact that bind operations
won't work during a system sleep transition.  So instead the code has
to defer the operation until the transition ends.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/driver.c
drivers/usb/core/hub.c
drivers/usb/core/usb.h
include/linux/usb.h