On Thu, Aug 25, 2022 at 02:31:07AM +0600, Khalid Masum wrote: > Currently we look up for endpoint in a table and initate urb endpoint > with it. This is unnecessary because the lookup will always result in > endpoint 0. > > Suggested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Khalid Masum <khalid.masum.92@xxxxxxxxx> > --- > Changes since v1: > - Remove endpoint lookup and NULL check > - Remove unnecessary variable *ep > - Initiate urb ep with udev ep0 > - Update commit message > - v1 Link: https://lore.kernel.org/lkml/20220824130702.10912-1-khalid.masum.92@xxxxxxxxx/ > > drivers/usb/core/hcd.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c > index 94b305bbd621..05f30ae5570b 100644 > --- a/drivers/usb/core/hcd.c > +++ b/drivers/usb/core/hcd.c > @@ -2158,21 +2158,14 @@ static struct urb *request_single_step_set_feature_urb( > { > struct urb *urb; > struct usb_hcd *hcd = bus_to_hcd(udev->bus); > - struct usb_host_endpoint *ep; > > urb = usb_alloc_urb(0, GFP_KERNEL); > if (!urb) > return NULL; > > urb->pipe = usb_rcvctrlpipe(udev, 0); > - ep = (usb_pipein(urb->pipe) ? udev->ep_in : udev->ep_out) > - [usb_pipeendpoint(urb->pipe)]; > - if (!ep) { > - usb_free_urb(urb); > - return NULL; > - } > > - urb->ep = ep; > + urb->ep = &udev->ep0; > urb->dev = udev; > urb->setup_packet = (void *)dr; > urb->transfer_buffer = buf; Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>