Commit 52d3967
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: 7733f6c ("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>1 parent 5fca3f0 commit 52d3967
3 files changed
Lines changed: 94 additions & 76 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
141 | 140 | | |
142 | 141 | | |
143 | | - | |
144 | 142 | | |
145 | 143 | | |
146 | 144 | | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | 145 | | |
158 | 146 | | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
| 147 | + | |
| 148 | + | |
167 | 149 | | |
168 | 150 | | |
169 | 151 | | |
170 | 152 | | |
| 153 | + | |
| 154 | + | |
171 | 155 | | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | 156 | | |
178 | 157 | | |
179 | | - | |
| 158 | + | |
180 | 159 | | |
181 | 160 | | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
182 | 170 | | |
183 | 171 | | |
184 | 172 | | |
| |||
705 | 693 | | |
706 | 694 | | |
707 | 695 | | |
| 696 | + | |
708 | 697 | | |
709 | 698 | | |
710 | 699 | | |
| |||
720 | 709 | | |
721 | 710 | | |
722 | 711 | | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
723 | 723 | | |
724 | 724 | | |
725 | 725 | | |
| |||
811 | 811 | | |
812 | 812 | | |
813 | 813 | | |
| 814 | + | |
814 | 815 | | |
815 | 816 | | |
816 | 817 | | |
| |||
842 | 843 | | |
843 | 844 | | |
844 | 845 | | |
845 | | - | |
846 | | - | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
847 | 850 | | |
848 | 851 | | |
849 | 852 | | |
850 | 853 | | |
851 | 854 | | |
852 | 855 | | |
853 | 856 | | |
854 | | - | |
855 | | - | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
856 | 861 | | |
857 | 862 | | |
858 | 863 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
| 299 | + | |
| 300 | + | |
299 | 301 | | |
300 | 302 | | |
301 | 303 | | |
| |||
304 | 306 | | |
305 | 307 | | |
306 | 308 | | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
307 | 313 | | |
308 | 314 | | |
309 | 315 | | |
| |||
1977 | 1983 | | |
1978 | 1984 | | |
1979 | 1985 | | |
1980 | | - | |
1981 | | - | |
1982 | | - | |
1983 | | - | |
1984 | | - | |
1985 | | - | |
1986 | | - | |
1987 | | - | |
1988 | | - | |
1989 | | - | |
1990 | | - | |
1991 | | - | |
1992 | | - | |
1993 | | - | |
1994 | | - | |
1995 | | - | |
1996 | | - | |
1997 | | - | |
1998 | | - | |
1999 | | - | |
2000 | | - | |
2001 | 1986 | | |
2002 | 1987 | | |
2003 | 1988 | | |
| |||
2035 | 2020 | | |
2036 | 2021 | | |
2037 | 2022 | | |
| 2023 | + | |
2038 | 2024 | | |
2039 | | - | |
| 2025 | + | |
2040 | 2026 | | |
2041 | 2027 | | |
2042 | 2028 | | |
| |||
2097 | 2083 | | |
2098 | 2084 | | |
2099 | 2085 | | |
2100 | | - | |
| 2086 | + | |
2101 | 2087 | | |
2102 | 2088 | | |
2103 | 2089 | | |
| |||
2107 | 2093 | | |
2108 | 2094 | | |
2109 | 2095 | | |
2110 | | - | |
2111 | | - | |
2112 | | - | |
2113 | | - | |
2114 | | - | |
| 2096 | + | |
| 2097 | + | |
| 2098 | + | |
| 2099 | + | |
| 2100 | + | |
| 2101 | + | |
| 2102 | + | |
| 2103 | + | |
| 2104 | + | |
| 2105 | + | |
| 2106 | + | |
| 2107 | + | |
| 2108 | + | |
| 2109 | + | |
| 2110 | + | |
| 2111 | + | |
| 2112 | + | |
| 2113 | + | |
| 2114 | + | |
| 2115 | + | |
| 2116 | + | |
| 2117 | + | |
| 2118 | + | |
| 2119 | + | |
| 2120 | + | |
| 2121 | + | |
| 2122 | + | |
2115 | 2123 | | |
2116 | 2124 | | |
2117 | 2125 | | |
| |||
2121 | 2129 | | |
2122 | 2130 | | |
2123 | 2131 | | |
| 2132 | + | |
2124 | 2133 | | |
2125 | 2134 | | |
2126 | 2135 | | |
| 2136 | + | |
| 2137 | + | |
2127 | 2138 | | |
2128 | 2139 | | |
2129 | 2140 | | |
| |||
2264 | 2275 | | |
2265 | 2276 | | |
2266 | 2277 | | |
2267 | | - | |
| 2278 | + | |
2268 | 2279 | | |
2269 | 2280 | | |
2270 | 2281 | | |
| |||
2303 | 2314 | | |
2304 | 2315 | | |
2305 | 2316 | | |
| 2317 | + | |
| 2318 | + | |
| 2319 | + | |
| 2320 | + | |
| 2321 | + | |
| 2322 | + | |
| 2323 | + | |
| 2324 | + | |
| 2325 | + | |
| 2326 | + | |
| 2327 | + | |
2306 | 2328 | | |
2307 | 2329 | | |
2308 | 2330 | | |
| |||
2313 | 2335 | | |
2314 | 2336 | | |
2315 | 2337 | | |
2316 | | - | |
| 2338 | + | |
2317 | 2339 | | |
2318 | 2340 | | |
| 2341 | + | |
| 2342 | + | |
2319 | 2343 | | |
2320 | 2344 | | |
2321 | | - | |
| 2345 | + | |
| 2346 | + | |
2322 | 2347 | | |
| 2348 | + | |
2323 | 2349 | | |
2324 | 2350 | | |
2325 | 2351 | | |
| |||
2349 | 2375 | | |
2350 | 2376 | | |
2351 | 2377 | | |
2352 | | - | |
2353 | | - | |
2354 | | - | |
2355 | | - | |
2356 | | - | |
2357 | | - | |
2358 | | - | |
2359 | | - | |
2360 | | - | |
2361 | | - | |
2362 | | - | |
2363 | | - | |
2364 | | - | |
2365 | | - | |
2366 | 2378 | | |
2367 | 2379 | | |
2368 | 2380 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1159 | 1159 | | |
1160 | 1160 | | |
1161 | 1161 | | |
| 1162 | + | |
1162 | 1163 | | |
1163 | 1164 | | |
1164 | 1165 | | |
| |||
1360 | 1361 | | |
1361 | 1362 | | |
1362 | 1363 | | |
1363 | | - | |
| 1364 | + | |
1364 | 1365 | | |
1365 | 1366 | | |
1366 | 1367 | | |
| |||
0 commit comments