-
Notifications
You must be signed in to change notification settings - Fork 6.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drivers: udc_mcux_ehci: fix typo in transfer handler #85004
Conversation
992fba3
to
839bcdc
Compare
Confirmed, tested with mimxrt1014_evk.
My lpcxpresso55s16 board still doesn't enumerate on MS Windows even with this fix. |
From your description it looks like similar issue, can you please add LOG_ERRs like diff --git a/drivers/usb/udc/udc_mcux_ip3511.c b/drivers/usb/udc/udc_mcux_ip3511.c
index 9b1665168c5..8800e7a8976 100644
--- a/drivers/usb/udc/udc_mcux_ip3511.c
+++ b/drivers/usb/udc/udc_mcux_ip3511.c
@@ -354,10 +354,12 @@ static bool udc_mcux_handler_zlt(const struct device *dev, uint8_t ep, struct ne
struct udc_mcux_data *priv = udc_get_private(dev);
/* The whole transfer is already done by MCUX controller driver. */
+ LOG_ERR("ep %x mcux_len %u buf->len %u", ep, mcux_len, buf->len);
if (mcux_len >= buf->len) {
if (udc_ep_buf_has_zlp(buf)) {
usb_status_t status;
+ LOG_ERR("zlp");
udc_ep_buf_clear_zlp(buf);
status = mcux_if->deviceSend(priv->mcux_device.controllerHandle,
ep, NULL, 0); and post the logs here? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't include two pretty much independent commits in a single PR. :samples: hid-keyboard: initialize report buffer at startup" is pretty much completely unrelated to "drivers: udc_mcux_ehci: fix typo in transfer handler".
839bcdc
to
dfe29d8
Compare
It is related to the MCUX UDC drivers. But it needs more investigation. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blocking to prevent merge until the fix is working.
If the to-host data stage length is less than that requested by the host, but equal to or a multiple of MPS, the device should send a ZLP, not receive it. Signed-off-by: Johann Fischer <[email protected]>
2f2e0f4
dfe29d8
to
2f2e0f4
Compare
@MarkWangChinese udc_mcux_ip3511.c has similar typo, but according to the reporter it would not fix it, I do not have hardware to investigate it further, can you please look at the #83306? Thank you. |
@henrikbrixandersen I reduced the commit to fix #84999 only. This is tested and should not be blocked. |
OK, I will look at it later. |
If the to-host data stage length is less than that requested by the
host, but equal to or a multiple of MPS, the device should send a ZLP,
not receive it.
Fixes: #84999
Tested on mimxrt1020_evk
udc_mcux_ip3511.c has similar type, but according to the reporter it would not fix similar issue there, so there should be something else.