• Andrzej Pietrasiewicz's avatar
    usb: gadget: printer: enqueue printer's response for setup request · eb132ccb
    Andrzej Pietrasiewicz authored
    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.
    
    Cc: <stable@vger.kernel.org> # v3.4+
    Fixes: 2e87edf4: "usb: gadget: make g_printer use composite"
    Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    eb132ccb
printer.c 35 KB