aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-1000.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.c7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c3
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-sta.c11
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-sta.h1
9 files changed, 23 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-1000.c b/drivers/net/wireless/iwlwifi/iwl-1000.c
index 85162e2c35d9..4281999cfaaa 100644
--- a/drivers/net/wireless/iwlwifi/iwl-1000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-1000.c
@@ -140,6 +140,7 @@ static struct iwl_lib_ops iwl1000_lib = {
140 .temperature = iwl5000_temperature, 140 .temperature = iwl5000_temperature,
141 .set_ct_kill = iwl1000_set_ct_threshold, 141 .set_ct_kill = iwl1000_set_ct_threshold,
142 }, 142 },
143 .add_bcast_station = iwl_add_bcast_station,
143}; 144};
144 145
145static const struct iwl_ops iwl1000_ops = { 146static const struct iwl_ops iwl1000_ops = {
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c
index 764479f74c8b..57194bbd2762 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.c
@@ -1951,11 +1951,7 @@ static int iwl3945_commit_rxon(struct iwl_priv *priv)
1951 } 1951 }
1952 1952
1953 /* Add the broadcast address so we can send broadcast frames */ 1953 /* Add the broadcast address so we can send broadcast frames */
1954 if (iwl_add_station(priv, iwl_bcast_addr, false, CMD_SYNC, NULL) == 1954 priv->cfg->ops->lib->add_bcast_station(priv);
1955 IWL_INVALID_STATION) {
1956 IWL_ERR(priv, "Error adding BROADCAST address for transmit.\n");
1957 return -EIO;
1958 }
1959 1955
1960 /* If we have set the ASSOC_MSK and we are in BSS mode then 1956 /* If we have set the ASSOC_MSK and we are in BSS mode then
1961 * add the IWL_AP_ID to the station rate table */ 1957 * add the IWL_AP_ID to the station rate table */
@@ -2796,6 +2792,7 @@ static struct iwl_lib_ops iwl3945_lib = {
2796 .post_associate = iwl3945_post_associate, 2792 .post_associate = iwl3945_post_associate,
2797 .isr = iwl_isr_legacy, 2793 .isr = iwl_isr_legacy,
2798 .config_ap = iwl3945_config_ap, 2794 .config_ap = iwl3945_config_ap,
2795 .add_bcast_station = iwl3945_add_bcast_station,
2799}; 2796};
2800 2797
2801static struct iwl_hcmd_utils_ops iwl3945_hcmd_utils = { 2798static struct iwl_hcmd_utils_ops iwl3945_hcmd_utils = {
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index c36fef99b4b0..aebe8c51d3e1 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -2206,6 +2206,7 @@ static struct iwl_lib_ops iwl4965_lib = {
2206 .temperature = iwl4965_temperature_calib, 2206 .temperature = iwl4965_temperature_calib,
2207 .set_ct_kill = iwl4965_set_ct_threshold, 2207 .set_ct_kill = iwl4965_set_ct_threshold,
2208 }, 2208 },
2209 .add_bcast_station = iwl_add_bcast_station,
2209}; 2210};
2210 2211
2211static const struct iwl_ops iwl4965_ops = { 2212static const struct iwl_ops iwl4965_ops = {
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index cbbc0e4f2c76..6027e2a658d1 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -1503,6 +1503,7 @@ struct iwl_lib_ops iwl5000_lib = {
1503 .temperature = iwl5000_temperature, 1503 .temperature = iwl5000_temperature,
1504 .set_ct_kill = iwl5000_set_ct_threshold, 1504 .set_ct_kill = iwl5000_set_ct_threshold,
1505 }, 1505 },
1506 .add_bcast_station = iwl_add_bcast_station,
1506}; 1507};
1507 1508
1508static struct iwl_lib_ops iwl5150_lib = { 1509static struct iwl_lib_ops iwl5150_lib = {
@@ -1556,6 +1557,7 @@ static struct iwl_lib_ops iwl5150_lib = {
1556 .temperature = iwl5150_temperature, 1557 .temperature = iwl5150_temperature,
1557 .set_ct_kill = iwl5150_set_ct_threshold, 1558 .set_ct_kill = iwl5150_set_ct_threshold,
1558 }, 1559 },
1560 .add_bcast_station = iwl_add_bcast_station,
1559}; 1561};
1560 1562
1561static const struct iwl_ops iwl5000_ops = { 1563static const struct iwl_ops iwl5000_ops = {
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index f89ef4aa78fd..81e03e33ec73 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -266,6 +266,7 @@ static struct iwl_lib_ops iwl6000_lib = {
266 .temperature = iwl5000_temperature, 266 .temperature = iwl5000_temperature,
267 .set_ct_kill = iwl6000_set_ct_threshold, 267 .set_ct_kill = iwl6000_set_ct_threshold,
268 }, 268 },
269 .add_bcast_station = iwl_add_bcast_station,
269}; 270};
270 271
271static const struct iwl_ops iwl6000_ops = { 272static const struct iwl_ops iwl6000_ops = {
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index e9f786443d1f..bed5dda8d6b2 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -203,7 +203,8 @@ int iwl_commit_rxon(struct iwl_priv *priv)
203 priv->start_calib = 0; 203 priv->start_calib = 0;
204 204
205 /* Add the broadcast address so we can send broadcast frames */ 205 /* Add the broadcast address so we can send broadcast frames */
206 iwl_add_bcast_station(priv); 206 priv->cfg->ops->lib->add_bcast_station(priv);
207
207 208
208 /* If we have set the ASSOC_MSK and we are in BSS mode then 209 /* If we have set the ASSOC_MSK and we are in BSS mode then
209 * add the IWL_AP_ID to the station rate table */ 210 * add the IWL_AP_ID to the station rate table */
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index 661918347d48..e14e32976b80 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -188,6 +188,8 @@ struct iwl_lib_ops {
188 188
189 /* temperature */ 189 /* temperature */
190 struct iwl_temp_ops temp_ops; 190 struct iwl_temp_ops temp_ops;
191 /* station management */
192 void (*add_bcast_station)(struct iwl_priv *priv);
191}; 193};
192 194
193struct iwl_led_ops { 195struct iwl_led_ops {
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c
index 842f15653238..fcac73cf82bc 100644
--- a/drivers/net/wireless/iwlwifi/iwl-sta.c
+++ b/drivers/net/wireless/iwlwifi/iwl-sta.c
@@ -1127,6 +1127,7 @@ static void iwl_sta_init_bcast_lq(struct iwl_priv *priv)
1127 */ 1127 */
1128void iwl_add_bcast_station(struct iwl_priv *priv) 1128void iwl_add_bcast_station(struct iwl_priv *priv)
1129{ 1129{
1130 IWL_DEBUG_INFO(priv, "Adding broadcast station to station table\n");
1130 iwl_add_station(priv, iwl_bcast_addr, false, CMD_SYNC, NULL); 1131 iwl_add_station(priv, iwl_bcast_addr, false, CMD_SYNC, NULL);
1131 1132
1132 /* Set up default rate scaling table in device's station table */ 1133 /* Set up default rate scaling table in device's station table */
@@ -1135,6 +1136,16 @@ void iwl_add_bcast_station(struct iwl_priv *priv)
1135EXPORT_SYMBOL(iwl_add_bcast_station); 1136EXPORT_SYMBOL(iwl_add_bcast_station);
1136 1137
1137/** 1138/**
1139 * iwl3945_add_bcast_station - add broadcast station into station table.
1140 */
1141void iwl3945_add_bcast_station(struct iwl_priv *priv)
1142{
1143 IWL_DEBUG_INFO(priv, "Adding broadcast station to station table\n");
1144 iwl_add_station(priv, iwl_bcast_addr, false, CMD_SYNC, NULL);
1145}
1146EXPORT_SYMBOL(iwl3945_add_bcast_station);
1147
1148/**
1138 * iwl_get_sta_id - Find station's index within station table 1149 * iwl_get_sta_id - Find station's index within station table
1139 * 1150 *
1140 * If new IBSS station, create new entry in station table 1151 * If new IBSS station, create new entry in station table
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.h b/drivers/net/wireless/iwlwifi/iwl-sta.h
index 8c6850d03e47..2dc35fe28f56 100644
--- a/drivers/net/wireless/iwlwifi/iwl-sta.h
+++ b/drivers/net/wireless/iwlwifi/iwl-sta.h
@@ -53,6 +53,7 @@ void iwl_update_tkip_key(struct iwl_priv *priv,
53 53
54int iwl_rxon_add_station(struct iwl_priv *priv, const u8 *addr, bool is_ap); 54int iwl_rxon_add_station(struct iwl_priv *priv, const u8 *addr, bool is_ap);
55void iwl_add_bcast_station(struct iwl_priv *priv); 55void iwl_add_bcast_station(struct iwl_priv *priv);
56void iwl3945_add_bcast_station(struct iwl_priv *priv);
56int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, bool is_ap); 57int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, bool is_ap);
57void iwl_clear_stations_table(struct iwl_priv *priv); 58void iwl_clear_stations_table(struct iwl_priv *priv);
58int iwl_get_free_ucode_key_index(struct iwl_priv *priv); 59int iwl_get_free_ucode_key_index(struct iwl_priv *priv);