linux/drivers/net/wireless/iwlwifi
Shanyu Zhao b561e8274f iwlagn: verify flow id in compressed BA packet
The flow id (scd_flow) in a compressed BA packet should match the txq_id
of the queue from which the aggregated packets were sent. However, in
some hardware like the 1000 series, sometimes the flow id is 0 for the
txq_id (10 to 19). This can cause the annoying message:
[ 2213.306191] iwlagn 0000:01:00.0: Received BA when not expected
[ 2213.310178] iwlagn 0000:01:00.0: Read index for DMA queue txq id (0),
index 5, is out of range [0-256] 7 7.

And even worse, if agg->wait_for_ba is true when the bad BA is arriving,
this can cause system hang due to NULL pointer dereference because the
code is operating in a wrong tx queue!

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Pradeep Kulkarni <pradeepx.kulkarni@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-06-14 10:51:37 -07:00
..
iwl3945-base.c iwlwifi: serialize station management actions 2010-06-14 10:51:16 -07:00
iwl-1000.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-3945-debugfs.c iwl3945: add ucode statistics 2010-04-30 15:34:31 -07:00
iwl-3945-debugfs.h iwl3945: add ucode statistics 2010-04-30 15:34:31 -07:00
iwl-3945-fh.h
iwl-3945-hw.h iwlwifi: code cleanup for generic defines 2010-04-02 12:52:17 -07:00
iwl-3945-led.c
iwl-3945-led.h
iwl-3945-rs.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
iwl-3945.c iwl3945: enable stuck queue detection on 3945 2010-06-05 22:59:22 -07:00
iwl-3945.h iwlwifi: track station IDs 2010-05-10 15:09:04 -07:00
iwl-4965-hw.h iwlwifi: code cleanup for generic defines 2010-04-02 12:52:17 -07:00
iwl-4965.c iwlwifi: move iwl_find_station() to 4965 2010-05-10 15:09:06 -07:00
iwl-5000-hw.h iwlwifi: move hw related defines to separate file 2010-03-25 11:18:05 -07:00
iwl-5000.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-6000-hw.h
iwl-6000.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-agn-debugfs.c iwlwifi: "tx power per chain" are part of ucode_tx_stats 2010-05-10 15:09:03 -07:00
iwl-agn-debugfs.h iwlwifi: add debugfs ops to iwlwifi 2010-04-16 13:51:31 -07:00
iwl-agn-hcmd.c iwlwifi: make BT coex config a virtual method 2010-04-16 13:53:34 -07:00
iwl-agn-hw.h iwlwifi: code cleanup for generic defines 2010-04-02 12:52:17 -07:00
iwl-agn-ict.c wireless: update gfp/slab.h includes 2010-05-24 14:59:26 -04:00
iwl-agn-led.c
iwl-agn-led.h
iwl-agn-lib.c iwl3945: fix internal scan 2010-06-05 23:01:55 -07:00
iwl-agn-rs.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
iwl-agn-rs.h iwlwifi: implement new mac80211 station add/remove calls 2010-03-19 13:40:58 -07:00
iwl-agn-tx.c iwlagn: verify flow id in compressed BA packet 2010-06-14 10:51:37 -07:00
iwl-agn-ucode.c iwlwifi: remove ucode virtual functions 2010-05-10 15:08:54 -07:00
iwl-agn.c iwlwifi: serialize station management actions 2010-06-14 10:51:16 -07:00
iwl-agn.h iwlagn: use iwl_sta_id() for aggregation 2010-05-10 15:09:06 -07:00
iwl-calib.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
iwl-calib.h
iwl-commands.h iwlwifi: "tx power per chain" are part of ucode_tx_stats 2010-05-10 15:09:03 -07:00
iwl-core.c iwl3945: fix internal scan 2010-06-05 23:01:55 -07:00
iwl-core.h iwl3945: fix internal scan 2010-06-05 23:01:55 -07:00
iwl-csr.h iwlwifi: add hw revision for 6000g2 NIC 2010-04-16 13:52:45 -07:00
iwl-debug.h iwlwifi: add debugfs ops to iwlwifi 2010-04-16 13:51:31 -07:00
iwl-debugfs.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-17 13:57:43 -04:00
iwl-dev.h iwlwifi: track station IDs 2010-05-10 15:09:04 -07:00
iwl-devtrace.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-04-15 16:21:34 -04:00
iwl-devtrace.h iwlwifi: don't include iwl-dev.h from iwl-devtrace.h 2010-03-30 22:02:21 +09:00
iwl-eeprom.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-17 13:57:43 -04:00
iwl-eeprom.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-21 01:14:25 -07:00
iwl-fh.h
iwl-hcmd.c iwlwifi: remove trailing space in messages 2010-04-02 12:53:54 -07:00
iwl-helpers.h iwlagn: move ICT code into separate file 2010-03-09 16:03:13 -08:00
iwl-io.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-04-15 16:21:34 -04:00
iwl-led.c iwlwifi: remove "\n" from module parameter description 2010-03-25 11:21:11 -07:00
iwl-led.h
iwl-power.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-17 13:57:43 -04:00
iwl-power.h
iwl-prph.h iwlwifi: more code clean up for agn devices 2010-04-16 13:53:20 -07:00
iwl-rx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-17 13:57:43 -04:00
iwl-scan.c iwlwifi: fix internal scan race 2010-05-21 14:40:00 -04:00
iwl-spectrum.h
iwl-sta.c iwlwifi: serialize station management actions 2010-06-14 10:51:16 -07:00
iwl-sta.h iwlwifi: clear driver stations when going down 2010-05-10 15:09:08 -07:00
iwl-tx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-04-15 16:21:34 -04:00
Kconfig
Makefile iwl3945: add ucode statistics 2010-04-30 15:34:31 -07:00