aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2200.c
diff options
context:
space:
mode:
authorHong Liu <hong.liu@intel.com>2005-08-05 05:25:50 -0400
committerJames Ketrenos <jketreno@linux.intel.com>2005-11-07 18:50:42 -0500
commitcaeff81b4e6479884f3cd2ced526bebd4f0c5eff (patch)
treef5b3a452d519d904acd16f30ef4a5c973635ecbd /drivers/net/wireless/ipw2200.c
parent1fbfea549f07f1f7afd436f1e45b25437f0172c2 (diff)
Fixes the ad-hoc network WEP key list issue.
If we configure the wep keys after creating the ibss network, the beacons of this network will not show correctly (it still shows "key off" in iwlist scan report). This is because we don't update the beacon info in firmware. Signed-off-by: Hong Liu <hong.liu@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com>
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