Thread (16 messages) 16 messages, 3 authors, 2021-08-17

Re: [PATCH 3/6] usb: cdnsp: fix the wrong mult value for HS isoc or intr

From: Chunfeng Yun (云春峰) <Chunfeng.Yun@mediatek.com>
Date: 2021-08-17 07:10:53
Also in: linux-usb, lkml

On Tue, 2021-08-17 at 05:05 +0000, Pawel Laszczak wrote:
quoted
Chunfeng Yun [off-list ref] writes:
quoted
usb_endpoint_maxp() only returns the bit[10:0] of wMaxPacketSize
of endpoint descriptor, not include bit[12:11] anymore, so use
usb_endpoint_maxp_mult() instead.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/usb/cdns3/cdnsp-mem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/cdns3/cdnsp-mem.c
b/drivers/usb/cdns3/cdnsp-mem.c
index a47948a1623f..ad9aee3f1e39 100644
--- a/drivers/usb/cdns3/cdnsp-mem.c
+++ b/drivers/usb/cdns3/cdnsp-mem.c
@@ -882,7 +882,7 @@ static u32
cdnsp_get_endpoint_max_burst(struct usb_gadget *g,
 	if (g->speed == USB_SPEED_HIGH &&
 	    (usb_endpoint_xfer_isoc(pep->endpoint.desc) ||
 	     usb_endpoint_xfer_int(pep->endpoint.desc)))
-		return (usb_endpoint_maxp(pep->endpoint.desc) & 0x1800)
quoted
quoted
11;
+		return usb_endpoint_maxp_mult(pep->endpoint.desc) - 1;
this looks like a bugfix. Do we need to Cc stable here?

In any case:

Acked-by: Felipe Balbi <balbi@kernel.org>
It's not a bugfix. The result is the same.
"(usb_endpoint_maxp(pep->endpoint.desc) & 0x1800) >> 11" is always zero
now!
but not for "usb_endpoint_maxp_mult(pep->endpoint.desc) - 1".
Acked-by: Pawel Laszczak <pawell@cadence.com>

--

Thanks 
Pawel Laszczak
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help