From: Peter Chen Date: Mon, 29 Sep 2014 02:09:31 +0000 (+0800) Subject: usb: core: return -ENOTSUPP for all targeted hosts X-Git-Tag: v4.14-rc1~6740^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5a9d62199af2ae6c4e7aa13614199b6dbaf5eb2;p=platform%2Fkernel%2Flinux-rpi.git usb: core: return -ENOTSUPP for all targeted hosts The current code only returns -ENOTSUPP for OTG host, but in fact, embedded host also needs to returns -ENOTSUPP if the peripheral is not at TPL. Signed-off-by: Peter Chen Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 374b3f9..1d21b2c 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -2319,11 +2319,12 @@ static int usb_enumerate_device(struct usb_device *udev) return err; if (IS_ENABLED(CONFIG_USB_OTG_WHITELIST) && hcd->tpl_support && - !is_targeted(udev) && IS_ENABLED(CONFIG_USB_OTG)) { + !is_targeted(udev)) { /* Maybe it can talk to us, though we can't talk to it. * (Includes HNP test device.) */ - if (udev->bus->b_hnp_enable || udev->bus->is_b_host) { + if (IS_ENABLED(CONFIG_USB_OTG) && (udev->bus->b_hnp_enable + || udev->bus->is_b_host)) { err = usb_port_suspend(udev, PMSG_AUTO_SUSPEND); if (err < 0) dev_dbg(&udev->dev, "HNP fail, %d\n", err);