iwlwifi: Fix uCode error on association
The problem is that priv->assoc_id is set when assoc. resp frame is received. But, when it is set, LQ cmd is still not sent to the uCode, it is done from bg_post_assoc, which is called through a workqueue. On the other hand, when a tx arrives at the moment when this flag is set, but LQ is still not sent, the if condition in tx_skb will not hold and the frame will not be dropped. Thus, it will be sent through which is still not in the sta table in the uCoded. Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
25c03d8e8c
commit
76f3915b4c
|
@ -790,7 +790,6 @@ struct iwl3945_priv {
|
|||
u16 active_rate_basic;
|
||||
|
||||
u8 call_post_assoc_from_beacon;
|
||||
u8 assoc_station_added;
|
||||
/* Rate scaling data */
|
||||
s8 data_retry_limit;
|
||||
u8 retry_rate;
|
||||
|
|
|
@ -2806,7 +2806,7 @@ static int iwl3945_tx_skb(struct iwl3945_priv *priv,
|
|||
#endif
|
||||
|
||||
/* drop all data frame if we are not associated */
|
||||
if (!iwl3945_is_associated(priv) && !priv->assoc_id &&
|
||||
if ((!iwl3945_is_associated(priv) || !priv->assoc_id) &&
|
||||
((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA)) {
|
||||
IWL_DEBUG_DROP("Dropping - !iwl3945_is_associated\n");
|
||||
goto drop_unlock;
|
||||
|
|
|
@ -2933,8 +2933,10 @@ static int iwl4965_tx_skb(struct iwl4965_priv *priv,
|
|||
#endif
|
||||
|
||||
/* drop all data frame if we are not associated */
|
||||
if (!iwl4965_is_associated(priv) && !priv->assoc_id &&
|
||||
((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA)) {
|
||||
if (((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA) &&
|
||||
(!iwl4965_is_associated(priv) ||
|
||||
!priv->assoc_id ||
|
||||
!priv->assoc_station_added)) {
|
||||
IWL_DEBUG_DROP("Dropping - !iwl4965_is_associated\n");
|
||||
goto drop_unlock;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue