All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jim Lin <jilin@nvidia.com>
To: Felipe Balbi <balbi@kernel.org>
Cc: <linux-usb@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] usb: gadget: f_fs: Fix kernel panic for SuperSpeed
Date: Wed, 4 May 2016 16:07:37 +0800	[thread overview]
Message-ID: <5729ADC9.3030704@nvidia.com> (raw)
In-Reply-To: <87bn4siq5c.fsf@intel.com>

On 2016年04月29日 19:57, Felipe Balbi wrote:
> * PGP Signed by an unknown key
>
>
> Hi,
>
> Jim Lin <jilin@nvidia.com> writes:
>> On 2016年04月28日 20:21, Felipe Balbi wrote:
>>>> I also attach git log of system/core/adb/usb_linux_client.cpp of Android
>>>> N for your reference.
>>>> "
>>>> Author: Badhri Jagan Sridharan <Badhri@google.com>
>>>> Date:   Mon Oct 5 13:04:03 2015 -0700
>>>>
>>>>        adbd: Add os descriptor support for adb.
>>>>
>>>>        Eventhough windows does not rely on extended os
>>>>        descriptor for adbd, when android usb device is
>>>>        configures as a composite device such as mtp+adb,
>>>>        windows discards the extended os descriptor even
>>>>        if one of the USB function fails to send
>>>>        the extended compat descriptor. This results in automatic
>>>>        install of MTP driverto fail when Android device is in
>>>>        "File Transfer" mode with adb enabled.
>>>>
>>>> https://msdn.microsoft.com/en-us/library/windows/hardware/gg463179.aspx
>>>> "
>>> Okay, cool. Can you check that you're limitting your controller's speed
>>> to high-speed ?
>>>
>> Let's focus on original patch.
>> Could you help to explain why we need below d->Reserved1 checking?
>> Now the question is that
>>
>> https://msdn.microsoft.com/en-us/library/windows/hardware/gg463179.aspx
>>
>> Page 7 of OS_Desc_CompatID.doc
>> defines reserved field to be 1 and
>> below code will think that os_desc is invalid because d->Reserved1 is 1.
>>
>>
>> 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.

--nvpublic

  reply	other threads:[~2016-05-04  8:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-22 10:43 [PATCH] usb: gadget: f_fs: Fix kernel panic for SuperSpeed Jim Lin
2016-04-22 11:21 ` Lars-Peter Clausen
2016-04-22 11:52 ` Felipe Balbi
2016-04-25 11:32   ` Jim Lin
2016-04-25 12:01     ` Felipe Balbi
2016-04-26  8:49       ` Jim Lin
2016-04-28 11:16         ` Jim Lin
2016-04-28 12:21         ` Felipe Balbi
2016-04-29 11:27           ` Jim Lin
2016-04-29 11:57             ` Felipe Balbi
2016-05-04  8:07               ` Jim Lin [this message]
2016-05-04 10:37                 ` Felipe Balbi
2016-05-05 10:35                   ` Jim Lin
2016-05-06  6:44                     ` Felipe Balbi
2016-05-06  2:37                   ` Jim Lin
2016-04-29 15:28           ` Mathias Nyman
2016-05-02  6:23             ` Felipe Balbi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5729ADC9.3030704@nvidia.com \
    --to=jilin@nvidia.com \
    --cc=balbi@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.