diff options
Diffstat (limited to 'patches.tizen/1104-Revert-usb-gadget-f_mass_storage-use-usb_gstrings_at.patch')
-rw-r--r-- | patches.tizen/1104-Revert-usb-gadget-f_mass_storage-use-usb_gstrings_at.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/patches.tizen/1104-Revert-usb-gadget-f_mass_storage-use-usb_gstrings_at.patch b/patches.tizen/1104-Revert-usb-gadget-f_mass_storage-use-usb_gstrings_at.patch new file mode 100644 index 00000000000..f7a5d6158aa --- /dev/null +++ b/patches.tizen/1104-Revert-usb-gadget-f_mass_storage-use-usb_gstrings_at.patch @@ -0,0 +1,81 @@ +From f8bf4a554d0e7f042ff7beab4dddee40c0c4ab48 Mon Sep 17 00:00:00 2001 +From: Andrzej Pietrasiewicz <andrzej.p@samsung.com> +Date: Tue, 14 Jan 2014 14:27:23 +0100 +Subject: [PATCH 1104/1302] Revert "usb/gadget: f_mass_storage: use + usb_gstrings_attach" + +This reverts commit 2089c2070341b55b6476907100bfe2fd04467edd. + +Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> +--- + drivers/usb/gadget/f_mass_storage.c | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c +index 04ee635..05d34a0 100644 +--- a/drivers/usb/gadget/f_mass_storage.c ++++ b/drivers/usb/gadget/f_mass_storage.c +@@ -242,11 +242,6 @@ static struct usb_gadget_strings fsg_stringtab = { + .strings = fsg_strings, + }; + +-static struct usb_gadget_strings *fsg_strings_array[] = { +- &fsg_stringtab, +- NULL, +-}; +- + /*-------------------------------------------------------------------------*/ + + struct fsg_dev; +@@ -2615,7 +2610,6 @@ struct fsg_common *fsg_common_init(struct fsg_common *common, + struct fsg_buffhd *bh; + struct fsg_lun **curlun_it; + struct fsg_lun_config *lcfg; +- struct usb_string *us; + int nluns, i, rc; + char *pathbuf; + +@@ -2658,13 +2652,14 @@ struct fsg_common *fsg_common_init(struct fsg_common *common, + common->ep0req = cdev->req; + common->cdev = cdev; + +- us = usb_gstrings_attach(cdev, fsg_strings_array, +- ARRAY_SIZE(fsg_strings)); +- if (IS_ERR(us)) { +- rc = PTR_ERR(us); +- goto error_release; ++ /* Maybe allocate device-global string IDs, and patch descriptors */ ++ if (fsg_strings[FSG_STRING_INTERFACE].id == 0) { ++ rc = usb_string_id(cdev); ++ if (unlikely(rc < 0)) ++ goto error_release; ++ fsg_strings[FSG_STRING_INTERFACE].id = rc; ++ fsg_intf_desc.iInterface = rc; + } +- fsg_intf_desc.iInterface = us[FSG_STRING_INTERFACE].id; + + /* + * Create the LUNs, open their backing files, and register the +@@ -2958,6 +2953,11 @@ autoconf_fail: + + /****************************** ADD FUNCTION ******************************/ + ++static struct usb_gadget_strings *fsg_strings_array[] = { ++ &fsg_stringtab, ++ NULL, ++}; ++ + static int fsg_bind_config(struct usb_composite_dev *cdev, + struct usb_configuration *c, + struct fsg_common *common) +@@ -2970,6 +2970,7 @@ static int fsg_bind_config(struct usb_composite_dev *cdev, + return -ENOMEM; + + fsg->function.name = FSG_DRIVER_DESC; ++ fsg->function.strings = fsg_strings_array; + fsg->function.bind = fsg_bind; + fsg->function.unbind = fsg_unbind; + fsg->function.setup = fsg_setup; +-- +1.8.3.2 + |