Commit d7beeb9358a93e2dfd01e0ab5ff4317ce106c4d7
Committed by
Marek Vasut
1 parent
afb8e71cae
Exists in
v2017.01-smarct4x
and in
40 other branches
usb: ci_udc: fix ci_flush_{qh,qtd} calls in ci_udc_probe()
ci_udc_probe() initializes a pair of QHs and QTDs for each EP. After each pair has been initialized, the pair is cache-flushed. The conversion from QH/QTD index [0..2*NUM_END_POINTS) to EP index [0..NUM_ENDPOINTS] is incorrect; it simply subtracts 1 (which yields the QH/QTD index of the first entry in the pair) rather than dividing by two (which scales the range). Fix this. On my system, this avoids cache debug prints due to requests to flush unaligned ranges. This is caused because the flush calls happen before the items[] array entries are initialized for all but EP0. Signed-off-by: Stephen Warren <swarren@nvidia.com>
Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff
drivers/usb/gadget/ci_udc.c