aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2200.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r--drivers/net/wireless/ipw2200.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index c6da5f534250..626e78a336eb 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -9169,11 +9169,19 @@ static int ipw_wx_set_encode(struct net_device *dev,
9169{ 9169{
9170 struct ipw_priv *priv = ieee80211_priv(dev); 9170 struct ipw_priv *priv = ieee80211_priv(dev);
9171 int ret; 9171 int ret;
9172 u32 cap = priv->capability;
9172 9173
9173 down(&priv->sem); 9174 down(&priv->sem);
9174 ret = ieee80211_wx_set_encode(priv->ieee, info, wrqu, key); 9175 ret = ieee80211_wx_set_encode(priv->ieee, info, wrqu, key);
9175 up(&priv->sem);
9176 9176
9177 /* In IBSS mode, we need to notify the firmware to update
9178 * the beacon info after we changed the capability. */
9179 if (cap != priv->capability &&
9180 priv->ieee->iw_mode == IW_MODE_ADHOC &&
9181 priv->status & STATUS_ASSOCIATED)
9182 ipw_disassociate(priv);
9183
9184 up(&priv->sem);
9177 return ret; 9185 return ret;
9178} 9186}
9179 9187