diff options
-rw-r--r-- | cmd/usb_mass_storage.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/f_mass_storage.c | 6 | ||||
-rw-r--r-- | include/usb_mass_storage.h | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c index cfeecb7068..ec7906ba00 100644 --- a/cmd/usb_mass_storage.c +++ b/cmd/usb_mass_storage.c @@ -167,7 +167,7 @@ static int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, goto cleanup_ums_init; } - rc = fsg_init(ums, ums_count); + rc = fsg_init(ums, ums_count, controller_index); if (rc) { pr_err("fsg_init failed"); rc = CMD_RET_FAILURE; diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c index 1ecb92ac6b..e6d9e5e770 100644 --- a/drivers/usb/gadget/f_mass_storage.c +++ b/drivers/usb/gadget/f_mass_storage.c @@ -447,6 +447,7 @@ static void set_bulk_out_req_length(struct fsg_common *common, static struct ums *ums; static int ums_count; static struct fsg_common *the_fsg_common; +static unsigned int controller_index = 0; static int fsg_set_halt(struct fsg_dev *fsg, struct usb_ep *ep) { @@ -691,7 +692,7 @@ static int sleep_thread(struct fsg_common *common) k = 0; } - usb_gadget_handle_interrupts(0); + usb_gadget_handle_interrupts(controller_index); } common->thread_wakeup_needed = 0; return rc; @@ -2776,10 +2777,11 @@ int fsg_add(struct usb_configuration *c) return fsg_bind_config(c->cdev, c, fsg_common); } -int fsg_init(struct ums *ums_devs, int count) +int fsg_init(struct ums *ums_devs, int count, unsigned int controller_idx) { ums = ums_devs; ums_count = count; + controller_index = controller_idx; return 0; } diff --git a/include/usb_mass_storage.h b/include/usb_mass_storage.h index 8229f62b97..ffb72da9bb 100644 --- a/include/usb_mass_storage.h +++ b/include/usb_mass_storage.h @@ -26,7 +26,7 @@ struct ums { struct blk_desc block_dev; }; -int fsg_init(struct ums *ums_devs, int count); +int fsg_init(struct ums *ums_devs, int count, unsigned int controller_idx); void fsg_cleanup(void); int fsg_main_thread(void *); int fsg_add(struct usb_configuration *c); |