|
@@ -254,7 +254,7 @@ u8 iwl4965_hw_find_station(struct iwl4965_priv *priv, const u8 *addr)
|
|
start = IWL_STA_ID;
|
|
start = IWL_STA_ID;
|
|
|
|
|
|
if (is_broadcast_ether_addr(addr))
|
|
if (is_broadcast_ether_addr(addr))
|
|
- return IWL4965_BROADCAST_ID;
|
|
|
|
|
|
+ return priv->hw_setting.bcast_sta_id;
|
|
|
|
|
|
spin_lock_irqsave(&priv->sta_lock, flags);
|
|
spin_lock_irqsave(&priv->sta_lock, flags);
|
|
for (i = start; i < priv->hw_setting.max_stations; i++)
|
|
for (i = start; i < priv->hw_setting.max_stations; i++)
|
|
@@ -2836,7 +2836,7 @@ unsigned int iwl4965_hw_get_beacon_cmd(struct iwl4965_priv *priv,
|
|
tx_beacon_cmd = &frame->u.beacon;
|
|
tx_beacon_cmd = &frame->u.beacon;
|
|
memset(tx_beacon_cmd, 0, sizeof(*tx_beacon_cmd));
|
|
memset(tx_beacon_cmd, 0, sizeof(*tx_beacon_cmd));
|
|
|
|
|
|
- tx_beacon_cmd->tx.sta_id = IWL4965_BROADCAST_ID;
|
|
|
|
|
|
+ tx_beacon_cmd->tx.sta_id = priv->hw_setting.bcast_sta_id;
|
|
tx_beacon_cmd->tx.stop_time.life_time = TX_CMD_LIFE_TIME_INFINITE;
|
|
tx_beacon_cmd->tx.stop_time.life_time = TX_CMD_LIFE_TIME_INFINITE;
|
|
|
|
|
|
frame_size = iwl4965_fill_beacon_frame(priv,
|
|
frame_size = iwl4965_fill_beacon_frame(priv,
|
|
@@ -4436,7 +4436,7 @@ void iwl4965_add_station(struct iwl4965_priv *priv, const u8 *addr, int is_ap)
|
|
link_cmd.agg_params.agg_time_limit = cpu_to_le16(4000);
|
|
link_cmd.agg_params.agg_time_limit = cpu_to_le16(4000);
|
|
|
|
|
|
/* Update the rate scaling for control frame Tx to AP */
|
|
/* Update the rate scaling for control frame Tx to AP */
|
|
- link_cmd.sta_id = is_ap ? IWL_AP_ID : IWL4965_BROADCAST_ID;
|
|
|
|
|
|
+ link_cmd.sta_id = is_ap ? IWL_AP_ID : priv->hw_setting.bcast_sta_id;
|
|
|
|
|
|
iwl4965_send_cmd_pdu(priv, REPLY_TX_LINK_QUALITY_CMD, sizeof(link_cmd),
|
|
iwl4965_send_cmd_pdu(priv, REPLY_TX_LINK_QUALITY_CMD, sizeof(link_cmd),
|
|
&link_cmd);
|
|
&link_cmd);
|