summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikram Pandita <vikram.pandita@ti.com>2007-05-25 21:31:07 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2007-07-12 16:29:51 -0700
commitffcdc18d64d73ecce49c182f969977ae88ff4384 (patch)
tree66282f72235c24191f672aff96cc7305767d2aef
parentb29dbbd811b006deea85275e37fc1a09e8983d48 (diff)
USB Core: hub.c: prevent re-enumeration on HNP
Patch is to prevent the OTG host of doing 3 times enumeration of device when the Host suspends for HNP. The error code used in this case is ENOTSUPP. Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/core/hub.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 08f0c22fa91..7946d7b6c71 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1443,7 +1443,7 @@ int usb_new_device(struct usb_device *udev)
if (err < 0)
dev_dbg(&udev->dev, "HNP fail, %d\n", err);
}
- err = -ENODEV;
+ err = -ENOTSUPP;
goto fail;
}
#endif
@@ -2582,7 +2582,7 @@ loop:
ep0_reinit(udev);
release_address(udev);
usb_put_dev(udev);
- if (status == -ENOTCONN)
+ if ((status == -ENOTCONN) || (status == -ENOTSUPP))
break;
}