diff options
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-1000.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-6000.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.h | 1 |
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 | ||
145 | static const struct iwl_ops iwl1000_ops = { | 146 | static 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 | ||
2801 | static struct iwl_hcmd_utils_ops iwl3945_hcmd_utils = { | 2798 | static 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 | ||
2211 | static const struct iwl_ops iwl4965_ops = { | 2212 | static 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 | ||
1508 | static struct iwl_lib_ops iwl5150_lib = { | 1509 | static 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 | ||
1561 | static const struct iwl_ops iwl5000_ops = { | 1563 | static 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 | ||
271 | static const struct iwl_ops iwl6000_ops = { | 272 | static 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 | ||
193 | struct iwl_led_ops { | 195 | struct 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 | */ |
1128 | void iwl_add_bcast_station(struct iwl_priv *priv) | 1128 | void 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) | |||
1135 | EXPORT_SYMBOL(iwl_add_bcast_station); | 1136 | EXPORT_SYMBOL(iwl_add_bcast_station); |
1136 | 1137 | ||
1137 | /** | 1138 | /** |
1139 | * iwl3945_add_bcast_station - add broadcast station into station table. | ||
1140 | */ | ||
1141 | void 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 | } | ||
1146 | EXPORT_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 | ||
54 | int iwl_rxon_add_station(struct iwl_priv *priv, const u8 *addr, bool is_ap); | 54 | int iwl_rxon_add_station(struct iwl_priv *priv, const u8 *addr, bool is_ap); |
55 | void iwl_add_bcast_station(struct iwl_priv *priv); | 55 | void iwl_add_bcast_station(struct iwl_priv *priv); |
56 | void iwl3945_add_bcast_station(struct iwl_priv *priv); | ||
56 | int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, bool is_ap); | 57 | int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, bool is_ap); |
57 | void iwl_clear_stations_table(struct iwl_priv *priv); | 58 | void iwl_clear_stations_table(struct iwl_priv *priv); |
58 | int iwl_get_free_ucode_key_index(struct iwl_priv *priv); | 59 | int iwl_get_free_ucode_key_index(struct iwl_priv *priv); |