Re: [PATCH v3 9/9] usb: rework usb_maxpacket() using usb_pipe_endpoint()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

Alan Stern

>  }
>  
>  /* translate USB error codes to codes user space understands */
> -- 
> 2.34.1
> 



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux