[RESEND] usb: hub: change CLEAR_FEATURE to SET_FEATURE
diff mbox

Message ID 1470713487-7596-1-git-send-email-yonglong.wu@mediatek.com
State New
Headers show

Commit Message

Yonglong Wu Aug. 9, 2016, 3:31 a.m. UTC
From: Yonglong Wu <yonglong.wu@mediatek.com>

According to USB30 specification, the Function Remote Wakeup field can be
modified by the SetFeature() requests. SetFeature() is recommended to use.

Signed-off-by: Yonglong Wu <yonglong.wu@mediatek.com>
---
 drivers/usb/core/hub.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Chen Aug. 9, 2016, 6:29 a.m. UTC | #1
On Tue, Aug 9, 2016 at 11:31 AM, Yonglong Wu <yonglong.wu@mediatek.com> wrote:
> From: Yonglong Wu <yonglong.wu@mediatek.com>
>
> According to USB30 specification, the Function Remote Wakeup field can be
> modified by the SetFeature() requests. SetFeature() is recommended to use.
>
> Signed-off-by: Yonglong Wu <yonglong.wu@mediatek.com>
> ---
>  drivers/usb/core/hub.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index bee1351..a6f5095 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -3111,7 +3111,7 @@ static int usb_disable_remote_wakeup(struct usb_device *udev)
>                                 USB_CTRL_SET_TIMEOUT);
>         else
>                 return usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
> -                               USB_REQ_CLEAR_FEATURE, USB_RECIP_INTERFACE,
> +                               USB_REQ_SET_FEATURE, USB_RECIP_INTERFACE,
>                                 USB_INTRF_FUNC_SUSPEND, 0, NULL, 0,
>                                 USB_CTRL_SET_TIMEOUT);
>  }
> --
> 1.7.9.5
>

This requirement is so strange, would you please list the detail
chapter at specification.

Peter
Greg Kroah-Hartman Aug. 9, 2016, 8:25 a.m. UTC | #2
On Tue, Aug 09, 2016 at 04:07:56PM +0800, yonglong.wu wrote:
> Hi,
> On Tue, 2016-08-09 at 14:29 +0800, Peter Chen wrote:
> 
>     On Tue, Aug 9, 2016 at 11:31 AM, Yonglong Wu <yonglong.wu@mediatek.com> wrote:
>     > From: Yonglong Wu <yonglong.wu@mediatek.com>
>     >
>     > According to USB30 specification, the Function Remote Wakeup field can be
>     > modified by the SetFeature() requests. SetFeature() is recommended to use.
>     >
>     > Signed-off-by: Yonglong Wu <yonglong.wu@mediatek.com>
>     > ---
>     >  drivers/usb/core/hub.c |    2 +-
>     >  1 file changed, 1 insertion(+), 1 deletion(-)
>     >
>     > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
>     > index bee1351..a6f5095 100644
>     > --- a/drivers/usb/core/hub.c
>     > +++ b/drivers/usb/core/hub.c
>     > @@ -3111,7 +3111,7 @@ static int usb_disable_remote_wakeup(struct usb_device *udev)
>     >                                 USB_CTRL_SET_TIMEOUT);
>     >         else
>     >                 return usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
>     > -                               USB_REQ_CLEAR_FEATURE, USB_RECIP_INTERFACE,
>     > +                               USB_REQ_SET_FEATURE, USB_RECIP_INTERFACE,
>     >                                 USB_INTRF_FUNC_SUSPEND, 0, NULL, 0,
>     >                                 USB_CTRL_SET_TIMEOUT);
>     >  }
>     > --
>     > 1.7.9.5
>     >
> 
>     This requirement is so strange, would you please list the detail
>     chapter at specification.
> 
> 
> In USB20 specification, describes in chapter 9.4.5: The Remote Wakeup field can
> be modified by the SetFeature() and ClearFeature() requests using the
> DEVICE_REMOTE_WAKEUP feature selector.
> 
> In USB30 specification, also describes in chapter 9.4.5: The Function Remote
> Wakeup field can be modified by the SetFeature() requests using the
> FUNCTION_SUSPEND feature selector.
> 
> In USB30 specification only mentioned SetFeature().

Can you put this information in the changelog text when you resend this
again?

thanks,

greg k-h
Peter Chen Aug. 9, 2016, 8:59 a.m. UTC | #3
On Tue, Aug 9, 2016 at 4:25 PM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Tue, Aug 09, 2016 at 04:07:56PM +0800, yonglong.wu wrote:
>> Hi,
>> On Tue, 2016-08-09 at 14:29 +0800, Peter Chen wrote:
>>
>>     On Tue, Aug 9, 2016 at 11:31 AM, Yonglong Wu <yonglong.wu@mediatek.com> wrote:
>>     > From: Yonglong Wu <yonglong.wu@mediatek.com>
>>     >
>>     > According to USB30 specification, the Function Remote Wakeup field can be
>>     > modified by the SetFeature() requests. SetFeature() is recommended to use.
>>     >
>>     > Signed-off-by: Yonglong Wu <yonglong.wu@mediatek.com>
>>     > ---
>>     >  drivers/usb/core/hub.c |    2 +-
>>     >  1 file changed, 1 insertion(+), 1 deletion(-)
>>     >
>>     > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
>>     > index bee1351..a6f5095 100644
>>     > --- a/drivers/usb/core/hub.c
>>     > +++ b/drivers/usb/core/hub.c
>>     > @@ -3111,7 +3111,7 @@ static int usb_disable_remote_wakeup(struct usb_device *udev)
>>     >                                 USB_CTRL_SET_TIMEOUT);
>>     >         else
>>     >                 return usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
>>     > -                               USB_REQ_CLEAR_FEATURE, USB_RECIP_INTERFACE,
>>     > +                               USB_REQ_SET_FEATURE, USB_RECIP_INTERFACE,
>>     >                                 USB_INTRF_FUNC_SUSPEND, 0, NULL, 0,
>>     >                                 USB_CTRL_SET_TIMEOUT);
>>     >  }
>>     > --
>>     > 1.7.9.5
>>     >
>>
>>     This requirement is so strange, would you please list the detail
>>     chapter at specification.
>>
>>
>> In USB20 specification, describes in chapter 9.4.5: The Remote Wakeup field can
>> be modified by the SetFeature() and ClearFeature() requests using the
>> DEVICE_REMOTE_WAKEUP feature selector.
>>
>> In USB30 specification, also describes in chapter 9.4.5: The Function Remote
>> Wakeup field can be modified by the SetFeature() requests using the
>> FUNCTION_SUSPEND feature selector.
>>
>> In USB30 specification only mentioned SetFeature().
>

Thanks for your information, you may add chapter 9.4.9 Set Feature reference,
It describes Function Remote Wake Enabled/Disabled at suspend options, then
the reader can know we can use SET_FEATURE to disable function remote wakeup.

Peter

> Can you put this information in the changelog text when you resend this
> again?
>
> thanks,
>
> greg k-h

Patch
diff mbox

diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index bee1351..a6f5095 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -3111,7 +3111,7 @@  static int usb_disable_remote_wakeup(struct usb_device *udev)
 				USB_CTRL_SET_TIMEOUT);
 	else
 		return usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
-				USB_REQ_CLEAR_FEATURE, USB_RECIP_INTERFACE,
+				USB_REQ_SET_FEATURE, USB_RECIP_INTERFACE,
 				USB_INTRF_FUNC_SUSPEND,	0, NULL, 0,
 				USB_CTRL_SET_TIMEOUT);
 }