Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=46dede4690bbb23a2c9d60561e2e4fdc3e6bee61
Commit:     46dede4690bbb23a2c9d60561e2e4fdc3e6bee61
Parent:     f095137e799ddb6a7c2bf0e4c73cda193ab9df41
Author:     Alan Stern <[EMAIL PROTECTED]>
AuthorDate: Tue Aug 14 10:56:10 2007 -0400
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Wed Aug 22 14:27:49 2007 -0700

    USB: accept 1-byte Device Status replies, fixing some b0rken devices
    
    Some devices have a bug which causes them to send a 1-byte reply to
    Get-Device-Status requests instead of 2 bytes as required by the
    spec.  This doesn't play well with autosuspend, since we look for a
    valid status reply to make sure the device is still present when it
    resumes.  Without both bytes, we assume the device has been
    disconnected.
    
    Lack of the second byte shouldn't matter much, since the spec requires
    it always to be equal to 0.  Hence this patch (as959) causes
    finish_port_resume() to accept a 1-byte reply as valid.
    
    Signed-off-by: Alan Stern <[EMAIL PROTECTED]>
    Acked-by: David Brownell <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/usb/core/hub.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index e341a1d..f7b337f 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1644,9 +1644,10 @@ static int finish_port_resume(struct usb_device *udev)
         * and device drivers will know about any resume quirks.
         */
        if (status == 0) {
+               devstatus = 0;
                status = usb_get_status(udev, USB_RECIP_DEVICE, 0, &devstatus);
                if (status >= 0)
-                       status = (status == 2 ? 0 : -ENODEV);
+                       status = (status > 0 ? 0 : -ENODEV);
        }
 
        if (status) {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to