Re: [PATCH] usb: gadget: printer: enqueue printer's response for setup request

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

 



On 05/05/2015, 12:30 PM, Andrzej Pietrasiewicz wrote:
> This is eb132ccbdec5df46e29c9814adf76075ce83576b
> "usb: gadget: printer: enqueue printer's response for setup request"
> ported to stable.

Ported to which stable -- where do you want this to be applied? Thanks.

> Function-specific setup requests should be handled in such a way, that
> apart from filling in the data buffer, the requests are also actually
> enqueued: if function-specific setup is called from composte_setup(),
> the "usb_ep_queue()" block of code in composite_setup() is skipped.
> 
> The printer function lacks this part and it results in e.g. get device id
> requests failing: the host expects some response, the device prepares it
> but does not equeue it for sending to the host, so the host finally asserts
> timeout.
> 
> This patch adds enqueueing the prepared responses.
> 
> Fixes: 2e87edf49227: "usb: gadget: make g_printer use composite"
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>
> Signed-off-by: Felipe Balbi <balbi@xxxxxx>
> [ported to stable]
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>
> ---
>  drivers/usb/gadget/printer.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/usb/gadget/printer.c b/drivers/usb/gadget/printer.c
> index bf7a56b..a0dfdbd 100644
> --- a/drivers/usb/gadget/printer.c
> +++ b/drivers/usb/gadget/printer.c
> @@ -975,6 +975,15 @@ unknown:
>  		break;
>  	}
>  	/* host either stalls (value < 0) or reports success */
> +	if (value >= 0) {
> +		req->length = value;
> +		req->zero = value < wLength;
> +		value = usb_ep_queue(cdev->gadget->ep0, req, GFP_ATOMIC);
> +		if (value < 0) {
> +			ERROR(dev, "%s:%d Error!\n", __func__, __LINE__);
> +			req->status = 0;
> +		}
> +	}
>  	return value;
>  }
>  
> 


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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]