linux-kernel-test/drivers/net/wireless/iwlwifi
Johannes Berg 2c810ccdba iwlwifi: rework broadcast station management
Currently, the broadcast station is managed along
with the interface type, rather than always being
present. That leads to a bug with injection -- it
is currently not possible to inject frames when
the only virtual interface is a monitor, because
in that the required broadcast station is missing.

Additionally, allocating and deallocating the
broadcast station's LQ all the time is wasteful,
and the code to support this is fairly complex.

So this changes completely the way we manage the
broadcast station. Rather than manage it along
with any interface, we now allocate it when we
bring the device up, and remove it again when we
bring the device down. When we bring the device
up, we don't immediately program the broadcast
station into it, instead we just mark it active
and rely on the next restore cycle to upload it
to the device. This works because an unassociated
RXON is always required at least once to set up
device parameters, which implies a reprogramming
of stations into the device.

As we now manage all stations properly, there no
longer is a need for forcing a clearing of them
via iwl_clear_ucode_stations(), which can become
a lot simpler.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-05-10 15:09:02 -07:00
..
iwl3945-base.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -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 iwlwifi: fix compile warnings when compiling without debug 2010-04-09 11:32:36 -07:00
iwl-3945.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-3945.h iwlwifi: push virtual interface through 2010-05-10 15:08:58 -07:00
iwl-4965-hw.h iwlwifi: code cleanup for generic defines 2010-04-02 12:52:17 -07:00
iwl-4965.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-5000-hw.h
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: add debugfs ops to iwlwifi 2010-04-16 13:51:31 -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 iwlwifi: change spin_lock to spin_lock_irqsave 2010-03-25 11:22:08 -07:00
iwl-agn-led.c
iwl-agn-led.h
iwl-agn-lib.c iwlwifi: push virtual interface through 2010-05-10 15:08:58 -07:00
iwl-agn-rs.c iwlwifi: recalculate average tpt if not current 2010-05-04 13:24:22 -04:00
iwl-agn-rs.h
iwl-agn-tx.c iwlagn: use virtual interface in TX aggregation handling 2010-05-10 15:08:59 -07:00
iwl-agn-ucode.c iwlwifi: remove ucode virtual functions 2010-05-10 15:08:54 -07:00
iwl-agn.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-agn.h iwlagn: use virtual interface in TX aggregation handling 2010-05-10 15:08:59 -07:00
iwl-calib.c Merge branch 'wireless-2.6' into wireless-next-2.6 2010-04-16 13:43:40 -07:00
iwl-calib.h
iwl-commands.h iwlagn: implement loading a new firmware file type 2010-05-10 15:08:55 -07:00
iwl-core.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-core.h iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -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 iwlwifi: give correct return information for tx power debugfs 2010-05-10 15:08:49 -07:00
iwl-dev.h iwlwifi: note that priv->bssid is used only by 3945 2010-05-10 15:09:01 -07:00
iwl-devtrace.c iwlwifi: move agn only tx functions from iwlcore to iwlagn 2010-03-25 11:19:27 -07:00
iwl-devtrace.h
iwl-eeprom.c iwlwifi: move eeprom version printout to eeprom init 2010-05-10 15:08:54 -07:00
iwl-eeprom.h iwlwifi: bring up 6000 Series 2x2 AGN Gen2 adapters 2010-04-16 13:48:06 -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
iwl-io.h iwlwifi: remove trailing space in messages 2010-04-02 12:53:54 -07: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 iwlwifi: remove useless priv->vif check 2010-05-10 15:08:59 -07: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 iwl3945: add plcp error checking 2010-05-10 15:08:56 -07:00
iwl-scan.c iwlwifi: push virtual interface through 2010-05-10 15:08:58 -07:00
iwl-spectrum.h
iwl-sta.c iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-sta.h iwlwifi: rework broadcast station management 2010-05-10 15:09:02 -07:00
iwl-tx.c iwlwifi: avoid Tx queue memory allocation in interface down 2010-04-09 12:41:26 -07:00
Kconfig
Makefile iwl3945: add ucode statistics 2010-04-30 15:34:31 -07:00