aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorWinkler, Tomas <tomas.winkler@intel.com>2009-01-19 18:30:22 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-01-29 16:00:54 -0500
commit42986796409a6293351207150edb7b4689b6013d (patch)
tree5c920d2dac0a90a179dff34301ce5c6f59a49a45 /drivers/net
parent5cd19c5f15f4bd3354cc7f8f8b1125018a84a25c (diff)
iwlwifi: fix iwl_mac_set_key and iwl3945_mac_set_key
This patch fix iwl_mac_set_key function changed in patch "mac80211: clean up set_key callback" 1. removing 'static' const u8 *addr' that can possible cause conflict when two or more NICs are present in the system. 2. simplifying functions Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c14
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c19
2 files changed, 13 insertions, 20 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index be14cd942a53..7e0baf6deedf 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -2998,12 +2998,10 @@ static int iwl_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
2998 struct ieee80211_key_conf *key) 2998 struct ieee80211_key_conf *key)
2999{ 2999{
3000 struct iwl_priv *priv = hw->priv; 3000 struct iwl_priv *priv = hw->priv;
3001 int ret = 0; 3001 const u8 *addr;
3002 u8 sta_id = IWL_INVALID_STATION; 3002 int ret;
3003 u8 is_default_wep_key = 0; 3003 u8 sta_id;
3004 static const u8 bcast_addr[ETH_ALEN] = 3004 bool is_default_wep_key = false;
3005 { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, };
3006 static const u8 *addr;
3007 3005
3008 IWL_DEBUG_MAC80211("enter\n"); 3006 IWL_DEBUG_MAC80211("enter\n");
3009 3007
@@ -3011,9 +3009,7 @@ static int iwl_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
3011 IWL_DEBUG_MAC80211("leave - hwcrypto disabled\n"); 3009 IWL_DEBUG_MAC80211("leave - hwcrypto disabled\n");
3012 return -EOPNOTSUPP; 3010 return -EOPNOTSUPP;
3013 } 3011 }
3014 3012 addr = sta ? sta->addr : iwl_bcast_addr;
3015 addr = sta ? sta->addr : bcast_addr;
3016
3017 sta_id = iwl_find_station(priv, addr); 3013 sta_id = iwl_find_station(priv, addr);
3018 if (sta_id == IWL_INVALID_STATION) { 3014 if (sta_id == IWL_INVALID_STATION) {
3019 IWL_DEBUG_MAC80211("leave - %pM not in station map.\n", 3015 IWL_DEBUG_MAC80211("leave - %pM not in station map.\n",
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index b916f00b61bf..010df19d01ef 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -6500,10 +6500,8 @@ static int iwl3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
6500{ 6500{
6501 struct iwl_priv *priv = hw->priv; 6501 struct iwl_priv *priv = hw->priv;
6502 const u8 *addr; 6502 const u8 *addr;
6503 int rc = 0; 6503 int ret;
6504 u8 sta_id; 6504 u8 sta_id;
6505 static const u8 bcast_addr[ETH_ALEN] =
6506 { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
6507 6505
6508 IWL_DEBUG_MAC80211("enter\n"); 6506 IWL_DEBUG_MAC80211("enter\n");
6509 6507
@@ -6512,8 +6510,7 @@ static int iwl3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
6512 return -EOPNOTSUPP; 6510 return -EOPNOTSUPP;
6513 } 6511 }
6514 6512
6515 addr = sta ? sta->addr : bcast_addr; 6513 addr = sta ? sta->addr : iwl_bcast_addr;
6516
6517 sta_id = iwl3945_hw_find_station(priv, addr); 6514 sta_id = iwl3945_hw_find_station(priv, addr);
6518 if (sta_id == IWL_INVALID_STATION) { 6515 if (sta_id == IWL_INVALID_STATION) {
6519 IWL_DEBUG_MAC80211("leave - %pM not in station map.\n", 6516 IWL_DEBUG_MAC80211("leave - %pM not in station map.\n",
@@ -6527,8 +6524,8 @@ static int iwl3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
6527 6524
6528 switch (cmd) { 6525 switch (cmd) {
6529 case SET_KEY: 6526 case SET_KEY:
6530 rc = iwl3945_update_sta_key_info(priv, key, sta_id); 6527 ret = iwl3945_update_sta_key_info(priv, key, sta_id);
6531 if (!rc) { 6528 if (!ret) {
6532 iwl3945_set_rxon_hwcrypto(priv, 1); 6529 iwl3945_set_rxon_hwcrypto(priv, 1);
6533 iwl3945_commit_rxon(priv); 6530 iwl3945_commit_rxon(priv);
6534 key->hw_key_idx = sta_id; 6531 key->hw_key_idx = sta_id;
@@ -6537,21 +6534,21 @@ static int iwl3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
6537 } 6534 }
6538 break; 6535 break;
6539 case DISABLE_KEY: 6536 case DISABLE_KEY:
6540 rc = iwl3945_clear_sta_key_info(priv, sta_id); 6537 ret = iwl3945_clear_sta_key_info(priv, sta_id);
6541 if (!rc) { 6538 if (!ret) {
6542 iwl3945_set_rxon_hwcrypto(priv, 0); 6539 iwl3945_set_rxon_hwcrypto(priv, 0);
6543 iwl3945_commit_rxon(priv); 6540 iwl3945_commit_rxon(priv);
6544 IWL_DEBUG_MAC80211("disable hwcrypto key\n"); 6541 IWL_DEBUG_MAC80211("disable hwcrypto key\n");
6545 } 6542 }
6546 break; 6543 break;
6547 default: 6544 default:
6548 rc = -EINVAL; 6545 ret = -EINVAL;
6549 } 6546 }
6550 6547
6551 IWL_DEBUG_MAC80211("leave\n"); 6548 IWL_DEBUG_MAC80211("leave\n");
6552 mutex_unlock(&priv->mutex); 6549 mutex_unlock(&priv->mutex);
6553 6550
6554 return rc; 6551 return ret;
6555} 6552}
6556 6553
6557static int iwl3945_mac_conf_tx(struct ieee80211_hw *hw, u16 queue, 6554static int iwl3945_mac_conf_tx(struct ieee80211_hw *hw, u16 queue,