Re: [PATCH] usb: gadget: f_fs: Fix kernel panic for SuperSpeed

From: Jim Lin
Date: Thu May 05 2016 - 22:37:17 EST


On 2016å05æ04æ 18:37, Felipe Balbi wrote:
* PGP Signed by an unknown key


Hi,

Jim Lin <jilin@xxxxxxxxxx> writes:

<snip>

In f_fs.c
"
static int __ffs_data_do_os_desc(enum ffs_os_desc_type type,
struct usb_os_desc_header *h, void *data,
unsigned len, void *priv)
{
struct ffs_data *ffs = priv;
u8 length;

ENTER();

switch (type) {
case FFS_OS_DESC_EXT_COMPAT: {
struct usb_ext_compat_desc *d = data;
int i;

if (len < sizeof(*d) ||
d->bFirstInterfaceNumber >= ffs->interfaces_count ||
d->Reserved1)
return -EINVAL;
"
that's fine, but this is only failing because something else is
returning the wrong set of descriptors (SS vs HS). That's the bug we
want to fix, not work around it.

Thanks.
you're welcome, but to fix that bug we need more information. Why is
composite.c using the wrong set of descriptors ? What is your setup ?

Are you using an in-kernel gadget ? which one ? Using configfs or legacy
gadgets ? gadgetfs ? f_fs ? How to trigger this ? Can you provide
instructions and (in case of gadgetfs/ffs) code to create a gadget that
hits this problem ?

For some reason I have to put this patch on hold.

Thanks,
--nvpublic