On Wed, Feb 19, 2025 at 09:36:44AM +0100, Stefan Eichenberger wrote: > From: Stefan Eichenberger <stefan.eichenberger@xxxxxxxxxxx> > > The usb_sndaddr0pipe macro is only used in the hub_set_address function. > Replace it with usb_sndctrlpipe which provides the same functionality > but would also consider the endpoint device number. > > If the device has not been initialised, it is safe to use > usb_sndctrlpipe in this context because udev->devnum is set to 0. > Therefore, this change does not affect behaviour, but reduces code > complexity by reusing the existing macro. > > Signed-off-by: Stefan Eichenberger <stefan.eichenberger@xxxxxxxxxxx> > --- > Even though this patch does not fix a bug it is related to the following > discussion and addresses the change proposed by Alan: > https://lore.kernel.org/all/aa0c06f6-f997-4bcf-a5a3-6b17f6355fca@xxxxxxxxxxxxxxxxxxx/ > --- Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > drivers/usb/core/hub.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > index 59e38780f76d0..66dfdf0bab90b 100644 > --- a/drivers/usb/core/hub.c > +++ b/drivers/usb/core/hub.c > @@ -4697,8 +4697,6 @@ void usb_ep0_reinit(struct usb_device *udev) > } > EXPORT_SYMBOL_GPL(usb_ep0_reinit); > > -#define usb_sndaddr0pipe() (PIPE_CONTROL << 30) > - > static int hub_set_address(struct usb_device *udev, int devnum) > { > int retval; > @@ -4722,7 +4720,7 @@ static int hub_set_address(struct usb_device *udev, int devnum) > if (hcd->driver->address_device) > retval = hcd->driver->address_device(hcd, udev, timeout_ms); > else > - retval = usb_control_msg(udev, usb_sndaddr0pipe(), > + retval = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), > USB_REQ_SET_ADDRESS, 0, devnum, 0, > NULL, 0, timeout_ms); > if (retval == 0) { > -- > 2.45.2 >