diff options
Diffstat (limited to 'drivers/usb/gadget/function/f_fs.c')
-rw-r--r-- | drivers/usb/gadget/function/f_fs.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index d7acab873836..d8f46f6233ac 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -99,7 +99,8 @@ static void ffs_func_disable(struct usb_function *); static int ffs_func_setup(struct usb_function *, const struct usb_ctrlrequest *); static bool ffs_func_req_match(struct usb_function *, - const struct usb_ctrlrequest *); + const struct usb_ctrlrequest *, + bool config0); static void ffs_func_suspend(struct usb_function *); static void ffs_func_resume(struct usb_function *); @@ -3136,10 +3137,14 @@ static int ffs_func_setup(struct usb_function *f, } static bool ffs_func_req_match(struct usb_function *f, - const struct usb_ctrlrequest *creq) + const struct usb_ctrlrequest *creq, + bool config0) { struct ffs_function *func = ffs_func_from_usb(f); + if (config0) + return false; + switch (creq->bRequestType & USB_RECIP_MASK) { case USB_RECIP_INTERFACE: return ffs_func_revmap_intf(func, |