diff options
| author | Chunfeng Yun <[email protected]> | 2021-10-21 13:33:07 +0800 |
|---|---|---|
| committer | Marek Vasut <[email protected]> | 2021-11-03 08:47:57 +0100 |
| commit | 2c4f21763d7132bc355d343347032bd6d2f199f4 (patch) | |
| tree | dffb53c314135e733235bf06b79ca5201fb3b9bc /drivers | |
| parent | b8bfe05282c12fbf006957a2564127d3c1be3e78 (diff) | |
usb: mtu3: flush cache for the first GPD when allocate GPD ring
When allocate the GPD ring, and tell its address to the controller, then
the driver starts or resumes the QMU, the controller will try to access
the first GPD, so need flush the first one to avoid wrong GPD status.
Reported-by: Xin Lin <[email protected]>
Signed-off-by: Chunfeng Yun <[email protected]>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/usb/mtu3/mtu3_qmu.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/mtu3/mtu3_qmu.c b/drivers/usb/mtu3/mtu3_qmu.c index 95eaf6d2365..e8dc0095ab5 100644 --- a/drivers/usb/mtu3/mtu3_qmu.c +++ b/drivers/usb/mtu3/mtu3_qmu.c @@ -112,6 +112,7 @@ int mtu3_gpd_ring_alloc(struct mtu3_ep *mep) memset(gpd, 0, QMU_GPD_RING_SIZE); ring->dma = (dma_addr_t)gpd; gpd_ring_init(ring, gpd); + mtu3_flush_cache((uintptr_t)gpd, sizeof(*gpd)); return 0; } |
