USB: f_fs: Use HS and SS descriptors without checking gadget speed

User space function driver could always provide descriptors for all
speeds irrespective of USB speed supported with USB gadget. If USB
gadget is not high/super speed capable, f_fs driver doesn't parse
HS or SS descriptors which results into OS descriptors processing
fail due to checking against wrong offset within received descriptor
buffer. Fix this issue by always processing HS and SS descriptors
without checking USB gadget speed.

CRs-Fixed: 1003565
Change-Id: Icb6537271ce55e44f5fc3e1ef28dd4d6810b681f
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This commit is contained in:
Mayank Rana 2016-04-13 16:45:13 -07:00 committed by Jeevan Shriram
parent ed7b9f5828
commit 362a9cd138

View file

@ -2857,10 +2857,8 @@ static int _ffs_func_bind(struct usb_configuration *c,
struct ffs_data *ffs = func->ffs;
const int full = !!func->ffs->fs_descs_count;
const int high = gadget_is_dualspeed(func->gadget) &&
func->ffs->hs_descs_count;
const int super = gadget_is_superspeed(func->gadget) &&
func->ffs->ss_descs_count;
const int high = func->ffs->hs_descs_count;
const int super = func->ffs->ss_descs_count;
int fs_len, hs_len, ss_len, ret, i;