mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-10 20:38:50 -04:00
wifi: iwlwifi: mld: remove stored_beacon support
We never ask the firmware to store the beacon, so it won't ever send the notification. Remove the handling of that notification. Remove that notification from the arrays of the notifications' names and add the ones that we forgot to add. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20250423091408.2bb3ea3ff79b.Ie8f1d89f59d45a960a5fe63e7b717527251350ad@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
committed by
Johannes Berg
parent
a2f38266c0
commit
834f6811af
@@ -286,7 +286,9 @@ static const struct iwl_hcmd_names iwl_mld_statistics_names[] = {
|
||||
* Access is done through binary search
|
||||
*/
|
||||
static const struct iwl_hcmd_names iwl_mld_prot_offload_names[] = {
|
||||
HCMD_NAME(STORED_BEACON_NTF),
|
||||
HCMD_NAME(WOWLAN_WAKE_PKT_NOTIFICATION),
|
||||
HCMD_NAME(WOWLAN_INFO_NOTIFICATION),
|
||||
HCMD_NAME(D3_END_NOTIFICATION),
|
||||
};
|
||||
|
||||
/* Please keep this array *SORTED* by hex value.
|
||||
|
||||
@@ -182,47 +182,6 @@ static void iwl_mld_handle_mu_mimo_grp_notif(struct iwl_mld *mld,
|
||||
notif);
|
||||
}
|
||||
|
||||
static void
|
||||
iwl_mld_handle_stored_beacon_notif(struct iwl_mld *mld,
|
||||
struct iwl_rx_packet *pkt)
|
||||
{
|
||||
unsigned int pkt_len = iwl_rx_packet_payload_len(pkt);
|
||||
struct iwl_stored_beacon_notif *sb = (void *)pkt->data;
|
||||
struct ieee80211_rx_status rx_status = {};
|
||||
struct sk_buff *skb;
|
||||
u32 size = le32_to_cpu(sb->common.byte_count);
|
||||
|
||||
if (size == 0)
|
||||
return;
|
||||
|
||||
if (pkt_len < struct_size(sb, data, size))
|
||||
return;
|
||||
|
||||
skb = alloc_skb(size, GFP_ATOMIC);
|
||||
if (!skb) {
|
||||
IWL_ERR(mld, "alloc_skb failed\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* update rx_status according to the notification's metadata */
|
||||
rx_status.mactime = le64_to_cpu(sb->common.tsf);
|
||||
/* TSF as indicated by the firmware is at INA time */
|
||||
rx_status.flag |= RX_FLAG_MACTIME_PLCP_START;
|
||||
rx_status.device_timestamp = le32_to_cpu(sb->common.system_time);
|
||||
rx_status.band =
|
||||
iwl_mld_phy_band_to_nl80211(le16_to_cpu(sb->common.band));
|
||||
rx_status.freq =
|
||||
ieee80211_channel_to_frequency(le16_to_cpu(sb->common.channel),
|
||||
rx_status.band);
|
||||
|
||||
/* copy the data */
|
||||
skb_put_data(skb, sb->data, size);
|
||||
memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status));
|
||||
|
||||
/* pass it as regular rx to mac80211 */
|
||||
ieee80211_rx_napi(mld->hw, NULL, skb, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
iwl_mld_handle_channel_switch_start_notif(struct iwl_mld *mld,
|
||||
struct iwl_rx_packet *pkt)
|
||||
@@ -361,8 +320,6 @@ CMD_VERSIONS(ct_kill_notif,
|
||||
CMD_VER_ENTRY(2, ct_kill_notif))
|
||||
CMD_VERSIONS(temp_notif,
|
||||
CMD_VER_ENTRY(2, iwl_dts_measurement_notif))
|
||||
CMD_VERSIONS(stored_beacon_notif,
|
||||
CMD_VER_ENTRY(4, iwl_stored_beacon_notif))
|
||||
CMD_VERSIONS(roc_notif,
|
||||
CMD_VER_ENTRY(1, iwl_roc_notif))
|
||||
CMD_VERSIONS(probe_resp_data_notif,
|
||||
@@ -473,8 +430,6 @@ const struct iwl_rx_handler iwl_mld_rx_handlers[] = {
|
||||
RX_HANDLER_OF_ROC(MAC_CONF_GROUP, ROC_NOTIF, roc_notif)
|
||||
RX_HANDLER_NO_OBJECT(DATA_PATH_GROUP, MU_GROUP_MGMT_NOTIF,
|
||||
mu_mimo_grp_notif, RX_HANDLER_SYNC)
|
||||
RX_HANDLER_NO_OBJECT(PROT_OFFLOAD_GROUP, STORED_BEACON_NTF,
|
||||
stored_beacon_notif, RX_HANDLER_SYNC)
|
||||
RX_HANDLER_OF_VIF(MAC_CONF_GROUP, PROBE_RESPONSE_DATA_NOTIF,
|
||||
probe_resp_data_notif)
|
||||
RX_HANDLER_NO_OBJECT(PHY_OPS_GROUP, CT_KILL_NOTIFICATION,
|
||||
|
||||
Reference in New Issue
Block a user