This review contains several fixes:
- Fix some dma sync operations to use matching tags
- Perform BUS_DMASYNC_PREWRITE op before accessing ICT table
Differential D8804
iwn: DMA fixes, and race condition fix gonzo on Dec 15 2016, 6:03 AM. Authored by Tags None Referenced Files
Subscribers
Details
This review contains several fixes:
I ran following sequence for couple of hours:
I didn't see any "iwn0: device timeout" or BAD_COMMAND firmware errors
Diff Detail
Event TimelineComment Actions weird, how'd we not notice that command race before? How are they trampling on each other? is it some shared buffer, or is it just allocating the same command entry in the TX ring?
Comment Actions There are several reports in bugzilla that may be relevant to this issue. If two threads call iwn_cmd in parallel they may end up copying cmd data to the same cmd slot, because slot index is increased at the end of the function. Comment Actions I think locking stuff requires more thought/investigation, so I removed race fix from this review |