On Thu. 17 Mar 2022 at 02:17, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Thu, Mar 17, 2022 at 01:19:35AM +0900, Vincent Mailhol wrote: > > Rework the body of usb_maxpacket() in order not to reinvent the wheel > > and just rely on the usb_pipe_endpoint() helper function instead. > > > > Signed-off-by: Vincent Mailhol <mailhol.vincent@xxxxxxxxxx> > > --- > > include/linux/usb.h | 14 +------------- > > 1 file changed, 1 insertion(+), 13 deletions(-) > > > > diff --git a/include/linux/usb.h b/include/linux/usb.h > > index 8127782aa7a1..653d34ff0999 100644 > > --- a/include/linux/usb.h > > +++ b/include/linux/usb.h > > @@ -1971,19 +1971,7 @@ usb_pipe_endpoint(struct usb_device *dev, unsigned int pipe) > > > > static inline u16 usb_maxpacket(struct usb_device *udev, int pipe) > > { > > - struct usb_host_endpoint *ep; > > - unsigned epnum = usb_pipeendpoint(pipe); > > - > > - if (usb_pipeout(pipe)) > > - ep = udev->ep_out[epnum]; > > - else > > - ep = udev->ep_in[epnum]; > > - > > - if (!ep) > > - return 0; > > - > > - /* NOTE: only 0x07ff bits are for packet size... */ > > - return usb_endpoint_maxp(&ep->desc); > > + return usb_endpoint_maxp(&usb_pipe_endpoint(udev, pipe)->desc); > > The original code was careful to handle the case where ep was a NULL > pointer. What will your routine do if usb_pipe_endpoint(udev, pipe) > returns NULL? Sorry, you are absolutely right. Will send a v4. Thank you! Yours sincerely, Vincent Maihol