iwlwifi: fix iwl_mac_set_key and iwl3945_mac_set_key
authorWinkler, Tomas <tomas.winkler@intel.com>
Mon, 19 Jan 2009 23:30:22 +0000 (15:30 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 21:00:54 +0000 (16:00 -0500)
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>
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl3945-base.c

index be14cd942a53f5e80fffd86d94afae91f603ce6b..7e0baf6deedf2aa146e8fa58666f46b1839addc3 100644 (file)
@@ -2998,12 +2998,10 @@ static int iwl_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
                           struct ieee80211_key_conf *key)
 {
        struct iwl_priv *priv = hw->priv;
-       int ret = 0;
-       u8 sta_id = IWL_INVALID_STATION;
-       u8 is_default_wep_key = 0;
-       static const u8 bcast_addr[ETH_ALEN] =
-               { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, };
-       static const u8 *addr;
+       const u8 *addr;
+       int ret;
+       u8 sta_id;
+       bool is_default_wep_key = false;
 
        IWL_DEBUG_MAC80211("enter\n");
 
@@ -3011,9 +3009,7 @@ static int iwl_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
                IWL_DEBUG_MAC80211("leave - hwcrypto disabled\n");
                return -EOPNOTSUPP;
        }
-
-       addr = sta ? sta->addr : bcast_addr;
-
+       addr = sta ? sta->addr : iwl_bcast_addr;
        sta_id = iwl_find_station(priv, addr);
        if (sta_id == IWL_INVALID_STATION) {
                IWL_DEBUG_MAC80211("leave - %pM not in station map.\n",
index b916f00b61bf5261977d3e0198a473f22e3d8d60..010df19d01efa3912db84cd162b1cd2fde8c1ac8 100644 (file)
@@ -6500,10 +6500,8 @@ static int iwl3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
 {
        struct iwl_priv *priv = hw->priv;
        const u8 *addr;
-       int rc = 0;
+       int ret;
        u8 sta_id;
-       static const u8 bcast_addr[ETH_ALEN] =
-               { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
 
        IWL_DEBUG_MAC80211("enter\n");
 
@@ -6512,8 +6510,7 @@ static int iwl3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
                return -EOPNOTSUPP;
        }
 
-       addr = sta ? sta->addr : bcast_addr;
-
+       addr = sta ? sta->addr : iwl_bcast_addr;
        sta_id = iwl3945_hw_find_station(priv, addr);
        if (sta_id == IWL_INVALID_STATION) {
                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,
 
        switch (cmd) {
        case  SET_KEY:
-               rc = iwl3945_update_sta_key_info(priv, key, sta_id);
-               if (!rc) {
+               ret = iwl3945_update_sta_key_info(priv, key, sta_id);
+               if (!ret) {
                        iwl3945_set_rxon_hwcrypto(priv, 1);
                        iwl3945_commit_rxon(priv);
                        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,
                }
                break;
        case DISABLE_KEY:
-               rc = iwl3945_clear_sta_key_info(priv, sta_id);
-               if (!rc) {
+               ret = iwl3945_clear_sta_key_info(priv, sta_id);
+               if (!ret) {
                        iwl3945_set_rxon_hwcrypto(priv, 0);
                        iwl3945_commit_rxon(priv);
                        IWL_DEBUG_MAC80211("disable hwcrypto key\n");
                }
                break;
        default:
-               rc = -EINVAL;
+               ret = -EINVAL;
        }
 
        IWL_DEBUG_MAC80211("leave\n");
        mutex_unlock(&priv->mutex);
 
-       return rc;
+       return ret;
 }
 
 static int iwl3945_mac_conf_tx(struct ieee80211_hw *hw, u16 queue,