diff options
| -rw-r--r-- | drivers/net/wireless/ipw2200.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index dcce3542d5a..7a9f901d4ff 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
| @@ -3897,6 +3897,7 @@ static int ipw_disassociate(void *data) | |||
| 3897 | if (!(priv->status & (STATUS_ASSOCIATED | STATUS_ASSOCIATING))) | 3897 | if (!(priv->status & (STATUS_ASSOCIATED | STATUS_ASSOCIATING))) |
| 3898 | return 0; | 3898 | return 0; |
| 3899 | ipw_send_disassociate(data, 0); | 3899 | ipw_send_disassociate(data, 0); |
| 3900 | netif_carrier_off(priv->net_dev); | ||
| 3900 | return 1; | 3901 | return 1; |
| 3901 | } | 3902 | } |
| 3902 | 3903 | ||
| @@ -10190,6 +10191,9 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, | |||
| 10190 | u16 remaining_bytes; | 10191 | u16 remaining_bytes; |
| 10191 | int fc; | 10192 | int fc; |
| 10192 | 10193 | ||
| 10194 | if (!(priv->status & STATUS_ASSOCIATED)) | ||
| 10195 | goto drop; | ||
| 10196 | |||
| 10193 | hdr_len = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl)); | 10197 | hdr_len = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl)); |
| 10194 | switch (priv->ieee->iw_mode) { | 10198 | switch (priv->ieee->iw_mode) { |
| 10195 | case IW_MODE_ADHOC: | 10199 | case IW_MODE_ADHOC: |
