summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/function
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-01-30 07:04:58 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-30 07:04:58 -0800
commit5c307ffbc7e1de019bb8e4a27956bf97ad74562e (patch)
treeefaa429609f92667a8231228c53ed6f0cbc89f89 /drivers/usb/gadget/function
parent91db9ff3ff237e790e930cbd5dc21d84812a4231 (diff)
parentbaaba9bc36a5df26544f0430b47600494066138d (diff)
Merge "usb: gadget: f_mass_storage: Add delay before continuing status stage"
Diffstat (limited to 'drivers/usb/gadget/function')
-rw-r--r--drivers/usb/gadget/function/f_mass_storage.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c
index 7cafd0dd59f5..97d86b6ac69b 100644
--- a/drivers/usb/gadget/function/f_mass_storage.c
+++ b/drivers/usb/gadget/function/f_mass_storage.c
@@ -2490,8 +2490,14 @@ static void handle_exception(struct fsg_common *common)
case FSG_STATE_CONFIG_CHANGE:
do_set_interface(common, common->new_fsg);
- if (common->new_fsg)
+ if (common->new_fsg) {
+ /*
+ * make sure delayed_status flag updated when set_alt
+ * returned.
+ */
+ msleep(200);
usb_composite_setup_continue(common->cdev);
+ }
break;
case FSG_STATE_EXIT: