From: Selvarasu Ganesan <selvarasu.g@samsung.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg KH <gregkh@linuxfoundation.org>,
quic_jjohnson@quicinc.com, kees@kernel.org,
abdul.rahim@myyahoo.com, m.grzeschik@pengutronix.de,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
jh0801.jung@samsung.com, dh10.jung@samsung.com,
naushad@samsung.com, akash.m5@samsung.com, rc93.raju@samsung.com,
taehyun.cho@samsung.com, hongpooh.kim@samsung.com,
eomji.oh@samsung.com, shijie.cai@samsung.com,
alim.akhtar@samsung.com, stable@vger.kernel.org
Subject: Re: [PATCH] usb: gadget: f_midi: Fixing wMaxPacketSize exceeded issue during MIDI bind retries
Date: Thu, 19 Dec 2024 09:36:50 +0530 [thread overview]
Message-ID: <6933f402-ee55-42a1-a307-cb1b81190e3e@samsung.com> (raw)
In-Reply-To: <eaa330e8-0510-445d-8aef-b39164169cb1@rowland.harvard.edu>
On 12/18/2024 9:21 PM, Alan Stern wrote:
> On Wed, Dec 18, 2024 at 03:51:50PM +0530, Selvarasu Ganesan wrote:
>> The issue arises during the second time the "f_midi_bind" function is
>> called. The problem lies in the fact that the size of
>> "bulk_in_desc.wMaxPacketSize" is set to 1024 during the first call,
>> which exceeds the hardware capability of the dwc3 TX/RX FIFO
>> (ep->maxpacket_limit = 512).
> Is this gadget supposed to be able to run at SuperSpeed? I thought the
> dwc3 controller supported SuperSpeed operation.
>
> The USB-3 spec requires that all SuperSpeed bulk endpoints must have a
> wMaxPacketSize of 1024 (see Table 9-24 on p.9-25 of the USB-3.1
> specification).
>
> Alan Stern
>
Hi Alan,
No, In our platform, the DWC3 controller supports up to HighSpeed. While
DWC3 is capable of SuperSpeed operation, it is not necessary to operate
at the same speed. Moreover, even in our SoC, the DWC3 IP is limited to
supporting only USB 2.0 mode (HighSpeed) at the hardware design level.
As previously mentioned, there is no need to set the wMaxPacketSize
based on the current speed support before claiming the endpoint (before
calling usb_ep_autoconfig), as usb_ep_autoconfig treats endpoint
descriptors as if they were full-speed by default.
For reference, let's see the usb_ep_autoconfig code where the
wMaxPacketSize is set to 64 bytes if the ep->maxpacket_limit is greater
than 64. As i mentioned earlier in our specific failure scenarios, the
code does not reach this point because the wMaxPacketSize is greater
than the ep->maxpacket_limit.
struct usb_ep *usb_ep_autoconfig()
{
…
…
…
/* report (variable) full speed bulk maxpacket */
if (type == USB_ENDPOINT_XFER_BULK) {
int size = ep->maxpacket_limit;
if (size > 64)
size = 64;
desc->wMaxPacketSize = cpu_to_le16(size);
}
return ep;
}
Thanks,
Selva
next prev parent reply other threads:[~2024-12-19 4:06 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20241208152338epcas5p4fde427bb4467414417083221067ac7ab@epcas5p4.samsung.com>
2024-12-08 15:23 ` [PATCH] usb: gadget: f_midi: Fixing wMaxPacketSize exceeded issue during MIDI bind retries Selvarasu Ganesan
2024-12-10 9:53 ` Selvarasu Ganesan
2024-12-10 10:18 ` Greg KH
2024-12-10 14:11 ` Selvarasu Ganesan
2024-12-10 14:25 ` Greg KH
2024-12-12 12:28 ` Selvarasu Ganesan
2024-12-18 5:31 ` Greg KH
2024-12-18 10:21 ` Selvarasu Ganesan
2024-12-18 15:51 ` Alan Stern
2024-12-19 4:06 ` Selvarasu Ganesan [this message]
2024-12-20 12:24 ` Greg KH
2024-12-20 13:32 ` Selvarasu Ganesan
2024-12-20 15:15 ` Greg KH
2024-12-21 18:07 ` Selvarasu Ganesan
2025-01-06 5:17 ` Selvarasu Ganesan
2025-01-16 5:19 ` Selvarasu Ganesan
2025-01-17 11:05 ` Greg KH
2025-01-18 6:09 ` Selvarasu Ganesan
[not found] <CGME20241208151349epcas5p1a94ca45020318f54885072d4987160b3@epcas5p1.samsung.com>
2024-12-08 15:13 ` Faraz Ata
2024-12-08 15:28 ` Selvarasu Ganesan
2024-12-08 15:48 ` Greg KH
2024-12-08 16:00 ` Selvarasu Ganesan
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=6933f402-ee55-42a1-a307-cb1b81190e3e@samsung.com \
--to=selvarasu.g@samsung.com \
--cc=abdul.rahim@myyahoo.com \
--cc=akash.m5@samsung.com \
--cc=alim.akhtar@samsung.com \
--cc=dh10.jung@samsung.com \
--cc=eomji.oh@samsung.com \
--cc=gregkh@linuxfoundation.org \
--cc=hongpooh.kim@samsung.com \
--cc=jh0801.jung@samsung.com \
--cc=kees@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=m.grzeschik@pengutronix.de \
--cc=naushad@samsung.com \
--cc=quic_jjohnson@quicinc.com \
--cc=rc93.raju@samsung.com \
--cc=shijie.cai@samsung.com \
--cc=stable@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=taehyun.cho@samsung.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox