Hi,
Peter Chen peter.chen@nxp.com writes:
From: Pawel Laszczak pawell@cadence.com
Patch fixes issue caused setting On-chip memory overflow bit in usb_sts register. The issue occurred because EP_CFG register was set twice before USB_STS.CFGSTS was set. Every write operation on EP_CFG.BUFFERING causes that controller increases internal counter holding the number of reserved on-chip buffers. First time this register was updated in function cdns3_ep_config before delegating SET_CONFIGURATION request to class driver and again it was updated when class wanted to enable endpoint. This patch fixes this issue by configuring endpoints enabled by class driver in cdns3_gadget_ep_enable and others just before status stage.
Cc: stable@vger.kernel.org #v5.8+ Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver") Reported-and-tested-by: Peter Chen peter.chen@nxp.com Signed-off-by: Pawel Laszczak pawell@cadence.com Signed-off-by: Peter Chen peter.chen@nxp.com
comment from previous thread is still valid. Far too extensive change to qualify for stable or -rc. Sure there isn't a minimal patch possible?
I think that it's the only way to fix this issue. This fix require to displacement of code fragments and it's the reason why this patch is such extensive.
Regards, Pawel