Re: [PATCH 08/10] gadgetfs: use helper functions to determine endpoint type and direction

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

 



On Wednesday 15 April 2009, Matthias Kaehlcke wrote:
> Use helper functions to determine the type and direction of an endpoint
> instead of fiddling with bEndpointAddress and bmAttributes
> 
> Signed-off-by: Matthias Kaehlcke <matthias@xxxxxxxxxxxx>

Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>

> ---
>  drivers/usb/gadget/inode.c |   14 ++++++--------
>  1 files changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c
> index d20937f..f420071 100644
> --- a/drivers/usb/gadget/inode.c
> +++ b/drivers/usb/gadget/inode.c
> @@ -384,9 +384,8 @@ ep_read (struct file *fd, char __user *buf, size_t len, loff_t *ptr)
>  		return value;
>  
>  	/* halt any endpoint by doing a "wrong direction" i/o call */
> -	if (data->desc.bEndpointAddress & USB_DIR_IN) {
> -		if ((data->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
> -				== USB_ENDPOINT_XFER_ISOC)
> +	if (usb_endpoint_dir_in(&data->desc)) {
> +		if (usb_endpoint_xfer_isoc(&data->desc))
>  			return -EINVAL;
>  		DBG (data->dev, "%s halt\n", data->name);
>  		spin_lock_irq (&data->dev->lock);
> @@ -428,9 +427,8 @@ ep_write (struct file *fd, const char __user *buf, size_t len, loff_t *ptr)
>  		return value;
>  
>  	/* halt any endpoint by doing a "wrong direction" i/o call */
> -	if (!(data->desc.bEndpointAddress & USB_DIR_IN)) {
> -		if ((data->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
> -				== USB_ENDPOINT_XFER_ISOC)
> +	if (usb_endpoint_dir_in(&data->desc)) {
> +		if (usb_endpoint_xfer_isoc(&data->desc))
>  			return -EINVAL;
>  		DBG (data->dev, "%s halt\n", data->name);
>  		spin_lock_irq (&data->dev->lock);
> @@ -691,7 +689,7 @@ ep_aio_read(struct kiocb *iocb, const struct iovec *iov,
>  	struct ep_data		*epdata = iocb->ki_filp->private_data;
>  	char			*buf;
>  
> -	if (unlikely(epdata->desc.bEndpointAddress & USB_DIR_IN))
> +	if (unlikely(usb_endpoint_dir_in(&epdata->desc)))
>  		return -EINVAL;
>  
>  	buf = kmalloc(iocb->ki_left, GFP_KERNEL);
> @@ -711,7 +709,7 @@ ep_aio_write(struct kiocb *iocb, const struct iovec *iov,
>  	size_t			len = 0;
>  	int			i = 0;
>  
> -	if (unlikely(!(epdata->desc.bEndpointAddress & USB_DIR_IN)))
> +	if (unlikely(!usb_endpoint_dir_in(&epdata->desc)))
>  		return -EINVAL;
>  
>  	buf = kmalloc(iocb->ki_left, GFP_KERNEL);
> -- 
> 1.6.2.1
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

  Powered by Linux