mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
3598e1774c
We mark command as huge by using meta->flags from other (non huge) command, but flags can be possibly overridden, when non huge command is enqueued, what can lead to: WARNING: at lib/dma-debug.c:696 dma_debug_device_change+0x1a3/0x1f0() DMA-API: device driver has pending DMA allocations while released from device [count=1] To fix introduce additional CMD_MAPPED to mark command as mapped and serialize iwl_enqueue_hcmd() with iwl_tx_cmd_complete() using hcmd_lock. Serialization will also fix possible race conditions, because q->read_ptr, q->write_ptr are modified/used in parallel. On the way fix whitespace. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> |
||
---|---|---|
.. | ||
iwl-1000.c | ||
iwl-2000.c | ||
iwl-5000-hw.h | ||
iwl-5000.c | ||
iwl-6000-hw.h | ||
iwl-6000.c | ||
iwl-agn-calib.c | ||
iwl-agn-calib.h | ||
iwl-agn-debugfs.c | ||
iwl-agn-debugfs.h | ||
iwl-agn-eeprom.c | ||
iwl-agn-hcmd.c | ||
iwl-agn-hw.h | ||
iwl-agn-ict.c | ||
iwl-agn-led.c | ||
iwl-agn-led.h | ||
iwl-agn-lib.c | ||
iwl-agn-rs.c | ||
iwl-agn-rs.h | ||
iwl-agn-rxon.c | ||
iwl-agn-sta.c | ||
iwl-agn-tt.c | ||
iwl-agn-tt.h | ||
iwl-agn-tx.c | ||
iwl-agn-ucode.c | ||
iwl-agn.c | ||
iwl-agn.h | ||
iwl-commands.h | ||
iwl-core.c | ||
iwl-core.h | ||
iwl-csr.h | ||
iwl-debug.h | ||
iwl-debugfs.c | ||
iwl-dev.h | ||
iwl-devtrace.c | ||
iwl-devtrace.h | ||
iwl-eeprom.c | ||
iwl-eeprom.h | ||
iwl-fh.h | ||
iwl-hcmd.c | ||
iwl-helpers.h | ||
iwl-io.h | ||
iwl-led.c | ||
iwl-led.h | ||
iwl-power.c | ||
iwl-power.h | ||
iwl-prph.h | ||
iwl-rx.c | ||
iwl-scan.c | ||
iwl-spectrum.h | ||
iwl-sta.c | ||
iwl-sta.h | ||
iwl-tx.c | ||
Kconfig | ||
Makefile |