iwlwifi: fix rs_get_rate WARN_ON()
authorAbbas, Mohamed <mohamed.abbas@intel.com>
Wed, 21 Jan 2009 18:58:02 +0000 (10:58 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 23 Jan 2009 20:38:36 +0000 (15:38 -0500)
commitc338ba3ca5bef2df2082d9e8d336ff7b2880c326
tree2a02048eb3fb40072fd1715f3d863f3f4be61a21
parentb4068a80492022848c11123bf485aff5c902c583
iwlwifi: fix rs_get_rate WARN_ON()

In ieee80211_sta structure there is u64 supp_rates[IEEE80211_NUM_BANDS]
this is filled with all support rate from assoc_resp.  If we associate
with G-band AP only supp_rates of G-band will be set the other band
supp_rates will be set to 0. If the user type this command
this will cause mac80211 to set to new channel, mac80211
does not disassociate in setting new channel, so the active
band is now A-band. then in handling the new essid mac80211 will
kick in the assoc steps which involve sending disassociation frame.
in this mac80211 will WARN_ON sta->supp_rates[A_BAND] == 0.

This fixes:
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1822
http://www.kerneloops.org/searchweek.php?search=rs_get_rate

Signed-off-by: mohamed abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-3945-rs.c
drivers/net/wireless/iwlwifi/iwl-agn-rs.c