Loading drivers/net/wireless/ath/ath10k/wmi-tlv.c +5 −0 Original line number Diff line number Diff line Loading @@ -923,6 +923,11 @@ static int ath10k_wmi_tlv_op_pull_phyerr_ev_hdr(struct ath10k *ar, arg->buf_len = __le32_to_cpu(ev->buf_len); arg->phyerrs = phyerrs; if (QCA_REV_WCN3990(ar)) { arg->phy_err_mask0 = __le32_to_cpu(ev->rs_phy_err_mask0); arg->phy_err_mask1 = __le32_to_cpu(ev->rs_phy_err_mask1); } kfree(tb); return 0; } Loading drivers/net/wireless/ath/ath10k/wmi-tlv.h +4 −0 Original line number Diff line number Diff line Loading @@ -1399,6 +1399,10 @@ struct wmi_tlv_phyerr_ev { __le32 tsf_l32; __le32 tsf_u32; __le32 buf_len; __le32 pdev_id; __le32 rs_phy_err_mask0; __le32 rs_phy_err_mask1; __le32 rs_phy_err_mask2; } __packed; enum wmi_tlv_dbglog_param { Loading drivers/net/wireless/ath/ath10k/wmi.c +10 −9 Original line number Diff line number Diff line Loading @@ -4076,19 +4076,20 @@ void ath10k_wmi_event_phyerr(struct ath10k *ar, struct sk_buff *skb) left_len -= buf_len; switch (phy_err_code) { case PHY_ERROR_RADAR: if ((phy_err_code == PHY_ERROR_RADAR) || (hdr_arg.phy_err_mask0 & WMI_PHY_ERROR_MASK0_RADAR)) { ath10k_wmi_event_dfs(ar, &phyerr_arg, tsf); break; case PHY_ERROR_SPECTRAL_SCAN: } else if ((phy_err_code == WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN) || (hdr_arg.phy_err_mask0 & WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN)) { ath10k_wmi_event_spectral_scan(ar, &phyerr_arg, tsf); break; case PHY_ERROR_FALSE_RADAR_EXT: } else if ((phy_err_code == PHY_ERROR_FALSE_RADAR_EXT) || (hdr_arg.phy_err_mask0 & WMI_PHY_ERROR_MASK0_FALSE_RADAR_EXT)) { ath10k_wmi_event_dfs(ar, &phyerr_arg, tsf); ath10k_wmi_event_spectral_scan(ar, &phyerr_arg, tsf); break; default: break; } phyerr = phyerr + phyerr_arg.hdr_len + buf_len; Loading drivers/net/wireless/ath/ath10k/wmi.h +6 −0 Original line number Diff line number Diff line Loading @@ -3165,6 +3165,10 @@ struct wmi_mgmt_rx_ext_info { #define PHY_ERROR_10_4_RADAR_MASK 0x4 #define PHY_ERROR_10_4_SPECTRAL_SCAN_MASK 0x4000000 #define WMI_PHY_ERROR_MASK0_RADAR BIT(2) #define WMI_PHY_ERROR_MASK0_FALSE_RADAR_EXT BIT(24) #define WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN BIT(26) enum phy_err_type { PHY_ERROR_UNKNOWN, PHY_ERROR_SPECTRAL_SCAN, Loading Loading @@ -6352,6 +6356,8 @@ struct wmi_phyerr_hdr_arg { u32 tsf_u32; u32 buf_len; const void *phyerrs; u32 phy_err_mask0; u32 phy_err_mask1; }; struct wmi_svc_rdy_ev_arg { Loading Loading
drivers/net/wireless/ath/ath10k/wmi-tlv.c +5 −0 Original line number Diff line number Diff line Loading @@ -923,6 +923,11 @@ static int ath10k_wmi_tlv_op_pull_phyerr_ev_hdr(struct ath10k *ar, arg->buf_len = __le32_to_cpu(ev->buf_len); arg->phyerrs = phyerrs; if (QCA_REV_WCN3990(ar)) { arg->phy_err_mask0 = __le32_to_cpu(ev->rs_phy_err_mask0); arg->phy_err_mask1 = __le32_to_cpu(ev->rs_phy_err_mask1); } kfree(tb); return 0; } Loading
drivers/net/wireless/ath/ath10k/wmi-tlv.h +4 −0 Original line number Diff line number Diff line Loading @@ -1399,6 +1399,10 @@ struct wmi_tlv_phyerr_ev { __le32 tsf_l32; __le32 tsf_u32; __le32 buf_len; __le32 pdev_id; __le32 rs_phy_err_mask0; __le32 rs_phy_err_mask1; __le32 rs_phy_err_mask2; } __packed; enum wmi_tlv_dbglog_param { Loading
drivers/net/wireless/ath/ath10k/wmi.c +10 −9 Original line number Diff line number Diff line Loading @@ -4076,19 +4076,20 @@ void ath10k_wmi_event_phyerr(struct ath10k *ar, struct sk_buff *skb) left_len -= buf_len; switch (phy_err_code) { case PHY_ERROR_RADAR: if ((phy_err_code == PHY_ERROR_RADAR) || (hdr_arg.phy_err_mask0 & WMI_PHY_ERROR_MASK0_RADAR)) { ath10k_wmi_event_dfs(ar, &phyerr_arg, tsf); break; case PHY_ERROR_SPECTRAL_SCAN: } else if ((phy_err_code == WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN) || (hdr_arg.phy_err_mask0 & WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN)) { ath10k_wmi_event_spectral_scan(ar, &phyerr_arg, tsf); break; case PHY_ERROR_FALSE_RADAR_EXT: } else if ((phy_err_code == PHY_ERROR_FALSE_RADAR_EXT) || (hdr_arg.phy_err_mask0 & WMI_PHY_ERROR_MASK0_FALSE_RADAR_EXT)) { ath10k_wmi_event_dfs(ar, &phyerr_arg, tsf); ath10k_wmi_event_spectral_scan(ar, &phyerr_arg, tsf); break; default: break; } phyerr = phyerr + phyerr_arg.hdr_len + buf_len; Loading
drivers/net/wireless/ath/ath10k/wmi.h +6 −0 Original line number Diff line number Diff line Loading @@ -3165,6 +3165,10 @@ struct wmi_mgmt_rx_ext_info { #define PHY_ERROR_10_4_RADAR_MASK 0x4 #define PHY_ERROR_10_4_SPECTRAL_SCAN_MASK 0x4000000 #define WMI_PHY_ERROR_MASK0_RADAR BIT(2) #define WMI_PHY_ERROR_MASK0_FALSE_RADAR_EXT BIT(24) #define WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN BIT(26) enum phy_err_type { PHY_ERROR_UNKNOWN, PHY_ERROR_SPECTRAL_SCAN, Loading Loading @@ -6352,6 +6356,8 @@ struct wmi_phyerr_hdr_arg { u32 tsf_u32; u32 buf_len; const void *phyerrs; u32 phy_err_mask0; u32 phy_err_mask1; }; struct wmi_svc_rdy_ev_arg { Loading