mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 00:34:20 +08:00
fotg210-udc: Add missing completion handler
This is used when responding to GET_STATUS requests. Without this, it
crashes on completion.
Fixes: b84a8dee23
("usb: gadget: add Faraday fotg210_udc driver")
Signed-off-by: Fabian Vogt <fabian@ritter-vogt.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230123073508.2350402-2-linus.walleij@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4ba2e7cd98
commit
e55f67391f
@ -709,6 +709,20 @@ static int fotg210_is_epnstall(struct fotg210_ep *ep)
|
||||
return value & INOUTEPMPSR_STL_EP ? 1 : 0;
|
||||
}
|
||||
|
||||
/* For EP0 requests triggered by this driver (currently GET_STATUS response) */
|
||||
static void fotg210_ep0_complete(struct usb_ep *_ep, struct usb_request *req)
|
||||
{
|
||||
struct fotg210_ep *ep;
|
||||
struct fotg210_udc *fotg210;
|
||||
|
||||
ep = container_of(_ep, struct fotg210_ep, ep);
|
||||
fotg210 = ep->fotg210;
|
||||
|
||||
if (req->status || req->actual != req->length) {
|
||||
dev_warn(&fotg210->gadget.dev, "EP0 request failed: %d\n", req->status);
|
||||
}
|
||||
}
|
||||
|
||||
static void fotg210_get_status(struct fotg210_udc *fotg210,
|
||||
struct usb_ctrlrequest *ctrl)
|
||||
{
|
||||
@ -1253,6 +1267,8 @@ int fotg210_udc_probe(struct platform_device *pdev, struct fotg210 *fotg)
|
||||
if (fotg210->ep0_req == NULL)
|
||||
goto err_map;
|
||||
|
||||
fotg210->ep0_req->complete = fotg210_ep0_complete;
|
||||
|
||||
fotg210_init(fotg210);
|
||||
|
||||
fotg210_disable_unplug(fotg210);
|
||||
|
Loading…
Reference in New Issue
Block a user