diff options
author | Pawel Laszczak <pawell@cadence.com> | 2020-10-22 08:55:05 +0800 |
---|---|---|
committer | Peter Chen <peter.chen@nxp.com> | 2020-10-30 11:40:54 +0800 |
commit | 52d3967704aea6cb316d419a33a5e1d56d33a3c1 (patch) | |
tree | 4291a383e93da91027e0908cf89543039672ab9e /fs | |
parent | 5fca3f062879f8e5214c56f3e3e2be6727900f5d (diff) |
usb: cdns3: Fix on-chip memory overflow issue
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>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions