summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/gadget/function/f_mass_storage.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c
index fc4818fb2a8b..42fd2d6ffd88 100644
--- a/drivers/usb/gadget/function/f_mass_storage.c
+++ b/drivers/usb/gadget/function/f_mass_storage.c
@@ -463,7 +463,12 @@ static int fsg_setup(struct usb_function *f,
u16 w_value = le16_to_cpu(ctrl->wValue);
u16 w_length = le16_to_cpu(ctrl->wLength);
- if (!fsg_is_set(fsg->common))
+ /*
+ * fsg_is_set() warns when common->fsg is NULL, but that can happen
+ * normally while a configuration change installs or removes the active
+ * function.
+ */
+ if (!fsg->common->fsg)
return -EOPNOTSUPP;
++fsg->common->ep0_req_tag; /* Record arrival of a new request */