public inbox for linux-usb@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: quic_zijuhu <quic_zijuhu@quicinc.com>
Cc: stern@rowland.harvard.edu, linux-usb@vger.kernel.org,
	usb-storage@lists.one-eyed-alien.net
Subject: Re: [PATCH] Bluetooth: btusb: Use right timeout macro to receive control message
Date: Mon, 26 Feb 2024 07:19:08 +0100	[thread overview]
Message-ID: <2024022601-amniotic-perfectly-f767@gregkh> (raw)
In-Reply-To: <bce66ef7-efb7-4bbe-9d84-d363f046963f@quicinc.com>

On Mon, Feb 26, 2024 at 02:01:12PM +0800, quic_zijuhu wrote:
> On 2/23/2024 7:33 PM, Greg KH wrote:
> > On Fri, Feb 23, 2024 at 06:00:16PM +0800, Zijun Hu wrote:
> >> USB driver defines macro @USB_CTRL_SET_TIMEOUT for sending control message
> >> and @USB_CTRL_GET_TIMEOUT for receiving, but sierra_get_swoc_info() wrongly
> >> uses @USB_CTRL_SET_TIMEOUT as argument of usb_control_msg() to receive
> >> control message, fixed by using @USB_CTRL_GET_TIMEOUT to receive message.
> > 
> > You do realize they are both the same value, right?  Why don't we just
> > change it to USB_CTRL_TIMEOUT so that people don't think changing this
> > matters?
> > 
> 1)
> will optimize this change title if this change is worthy after code review

It's wrong as-is so we can't take it anyway, so yes, please fix.

> 2)
> yes, i noticed both macros have the same value and carefully read below code block.
> 
> include/linux/usb.h:
> /*
>  * timeouts, in milliseconds, used for sending/receiving control messages
>  * they typically complete within a few frames (msec) after they're issued
>  * USB identifies 5 second timeouts, maybe more in a few cases, and a few
>  * slow devices (like some MGE Ellipse UPSes) actually push that limit.
>  */
> #define USB_CTRL_GET_TIMEOUT	5000
> #define USB_CTRL_SET_TIMEOUT	5000

And so your changelog comments are wrong.

> 3)
> these two macros are introduced at the same time by Linus Torvalds with commit 1da177e4c3f4 ("Linux-2.6.12-rc2")
> below is my points why it is better to keep current two macros than unifying both to one USB_CTRL_TIMEOUT
> 
>  point A)
>  we can't confirm that sending always have the same timeout as receiving for various devices, it is easy to adjust individual
>  macro value if sending potentially does not have the same value as receiving in future.

As it has been a few decades without needing this change, I think it's
safe to make now.

>  point B)
>  current two macros defined by usb.h has been used by many usb drivers, there are more drivers need to be corrected if macro NAME are changed.

That is fine, there is no issue with changing all uses in the kernel
tree, right?

thanks,

greg k-h

      reply	other threads:[~2024-02-26  6:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-23 10:00 [PATCH] Bluetooth: btusb: Use right timeout macro to receive control message Zijun Hu
2024-02-23 11:32 ` Greg KH
2024-02-23 11:33 ` Greg KH
2024-02-26  6:01   ` quic_zijuhu
2024-02-26  6:19     ` Greg KH [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2024022601-amniotic-perfectly-f767@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=quic_zijuhu@quicinc.com \
    --cc=stern@rowland.harvard.edu \
    --cc=usb-storage@lists.one-eyed-alien.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox