Regression with commit "ath10k: fill the channel survey results for WCN3990 correctly"
diff mbox series

Message ID 5D5DAFE4.6080706@candelatech.com
State New
Headers show
Series
  • Regression with commit "ath10k: fill the channel survey results for WCN3990 correctly"
Related show

Commit Message

Ben Greear Aug. 21, 2019, 8:56 p.m. UTC
Hello,

I just noticed in 5.2.7+ kernel than this commit below appears to break WMI
message for my 10.1 firmware, and based on code inspection, 10.2 will be broken
as well.

10.1 struct ends with cycle_count, and 10.2 ends with one 32-bit number
after that, but which is not chan_tx_pwr_range.

I guess you need to create your own wmi msg for the WCN3990.

The change to 10.4 chan_info event is also wrong for my relatively
new version of 10.4 code, so likely breaks firmware in use.  last member
in that struct in my 10.4 fw src is 'A_UINT32 rx_11b_mode_data_duration;'


commit 13104929d2ec32aec0552007d55b9e15bc07176b
Author: Rakesh Pillai <pillair@codeaurora.org>
Date:   Wed Oct 17 16:50:03 2018 +0530

     ath10k: fill the channel survey results for WCN3990 correctly




Thanks,
Ben

Comments

Ben Greear Aug. 21, 2019, 9:06 p.m. UTC | #1
On 08/21/2019 01:56 PM, Ben Greear wrote:
> Hello,
>
> I just noticed in 5.2.7+ kernel than this commit below appears to break WMI
> message for my 10.1 firmware, and based on code inspection, 10.2 will be broken
> as well.
>
> 10.1 struct ends with cycle_count, and 10.2 ends with one 32-bit number
> after that, but which is not chan_tx_pwr_range.
>
> I guess you need to create your own wmi msg for the WCN3990.
>
> The change to 10.4 chan_info event is also wrong for my relatively
> new version of 10.4 code, so likely breaks firmware in use.  last member
> in that struct in my 10.4 fw src is 'A_UINT32 rx_11b_mode_data_duration;'

Sorry, I mis-read this 10.4 part of the patch, it was not changing the wmi event
itself, so probably that part is fine.

Thanks,
Ben

>
>
> commit 13104929d2ec32aec0552007d55b9e15bc07176b
> Author: Rakesh Pillai <pillair@codeaurora.org>
> Date:   Wed Oct 17 16:50:03 2018 +0530
>
>      ath10k: fill the channel survey results for WCN3990 correctly
>
>
>
> diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
> index 4971d61..58e33ab 100644
> --- a/drivers/net/wireless/ath/ath10k/wmi.h
> +++ b/drivers/net/wireless/ath/ath10k/wmi.h
> @@ -6442,6 +6442,14 @@ struct wmi_chan_info_event {
>          __le32 noise_floor;
>          __le32 rx_clear_count;
>          __le32 cycle_count;
> +       __le32 chan_tx_pwr_range;
> +       __le32 chan_tx_pwr_tp;
> +       __le32 rx_frame_count;
> +       __le32 my_bss_rx_cycle_count;
> +       __le32 rx_11b_mode_data_duration;
> +       __le32 tx_frame_cnt;
> +       __le32 mac_clk_mhz;
> +
>   } __packed;
>
>
>
> Thanks,
> Ben
>
Rakesh Pillai Aug. 21, 2019, 9:12 p.m. UTC | #2
Hi Ben,
Can you please check https://patchwork.kernel.org/patch/10844513/ ?
This change fixes the below mentioned regression. A different structure 
is made for tlv specific event handling.

Thanks,
Rakesh Pillai.


On 2019-08-21 14:06, Ben Greear wrote:
> On 08/21/2019 01:56 PM, Ben Greear wrote:
>> Hello,
>> 
>> I just noticed in 5.2.7+ kernel than this commit below appears to 
>> break WMI
>> message for my 10.1 firmware, and based on code inspection, 10.2 will 
>> be broken
>> as well.
>> 
>> 10.1 struct ends with cycle_count, and 10.2 ends with one 32-bit 
>> number
>> after that, but which is not chan_tx_pwr_range.
>> 
>> I guess you need to create your own wmi msg for the WCN3990.
>> 
>> The change to 10.4 chan_info event is also wrong for my relatively
>> new version of 10.4 code, so likely breaks firmware in use.  last 
>> member
>> in that struct in my 10.4 fw src is 'A_UINT32 
>> rx_11b_mode_data_duration;'
> 
> Sorry, I mis-read this 10.4 part of the patch, it was not changing the 
> wmi event
> itself, so probably that part is fine.
> 
> Thanks,
> Ben
> 
>> 
>> 
>> commit 13104929d2ec32aec0552007d55b9e15bc07176b
>> Author: Rakesh Pillai <pillair@codeaurora.org>
>> Date:   Wed Oct 17 16:50:03 2018 +0530
>> 
>>      ath10k: fill the channel survey results for WCN3990 correctly
>> 
>> 
>> 
>> diff --git a/drivers/net/wireless/ath/ath10k/wmi.h 
>> b/drivers/net/wireless/ath/ath10k/wmi.h
>> index 4971d61..58e33ab 100644
>> --- a/drivers/net/wireless/ath/ath10k/wmi.h
>> +++ b/drivers/net/wireless/ath/ath10k/wmi.h
>> @@ -6442,6 +6442,14 @@ struct wmi_chan_info_event {
>>          __le32 noise_floor;
>>          __le32 rx_clear_count;
>>          __le32 cycle_count;
>> +       __le32 chan_tx_pwr_range;
>> +       __le32 chan_tx_pwr_tp;
>> +       __le32 rx_frame_count;
>> +       __le32 my_bss_rx_cycle_count;
>> +       __le32 rx_11b_mode_data_duration;
>> +       __le32 tx_frame_cnt;
>> +       __le32 mac_clk_mhz;
>> +
>>   } __packed;
>> 
>> 
>> 
>> Thanks,
>> Ben
>>
Ben Greear Aug. 21, 2019, 9:15 p.m. UTC | #3
Looks like it should work.

Why is this rotting in patchwork?

Thanks
Ben

On 08/21/2019 02:12 PM, Rakesh Pillai wrote:
> Hi Ben,
> Can you please check https://patchwork.kernel.org/patch/10844513/ ?
> This change fixes the below mentioned regression. A different structure is made for tlv specific event handling.
>
> Thanks,
> Rakesh Pillai.
>
>
> On 2019-08-21 14:06, Ben Greear wrote:
>> On 08/21/2019 01:56 PM, Ben Greear wrote:
>>> Hello,
>>>
>>> I just noticed in 5.2.7+ kernel than this commit below appears to break WMI
>>> message for my 10.1 firmware, and based on code inspection, 10.2 will be broken
>>> as well.
>>>
>>> 10.1 struct ends with cycle_count, and 10.2 ends with one 32-bit number
>>> after that, but which is not chan_tx_pwr_range.
>>>
>>> I guess you need to create your own wmi msg for the WCN3990.
>>>
>>> The change to 10.4 chan_info event is also wrong for my relatively
>>> new version of 10.4 code, so likely breaks firmware in use.  last member
>>> in that struct in my 10.4 fw src is 'A_UINT32 rx_11b_mode_data_duration;'
>>
>> Sorry, I mis-read this 10.4 part of the patch, it was not changing the wmi event
>> itself, so probably that part is fine.
>>
>> Thanks,
>> Ben
>>
>>>
>>>
>>> commit 13104929d2ec32aec0552007d55b9e15bc07176b
>>> Author: Rakesh Pillai <pillair@codeaurora.org>
>>> Date:   Wed Oct 17 16:50:03 2018 +0530
>>>
>>>      ath10k: fill the channel survey results for WCN3990 correctly
>>>
>>>
>>>
>>> diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
>>> index 4971d61..58e33ab 100644
>>> --- a/drivers/net/wireless/ath/ath10k/wmi.h
>>> +++ b/drivers/net/wireless/ath/ath10k/wmi.h
>>> @@ -6442,6 +6442,14 @@ struct wmi_chan_info_event {
>>>          __le32 noise_floor;
>>>          __le32 rx_clear_count;
>>>          __le32 cycle_count;
>>> +       __le32 chan_tx_pwr_range;
>>> +       __le32 chan_tx_pwr_tp;
>>> +       __le32 rx_frame_count;
>>> +       __le32 my_bss_rx_cycle_count;
>>> +       __le32 rx_11b_mode_data_duration;
>>> +       __le32 tx_frame_cnt;
>>> +       __le32 mac_clk_mhz;
>>> +
>>>   } __packed;
>>>
>>>
>>>
>>> Thanks,
>>> Ben
>>>
>

Patch
diff mbox series

diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 4971d61..58e33ab 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -6442,6 +6442,14 @@  struct wmi_chan_info_event {
         __le32 noise_floor;
         __le32 rx_clear_count;
         __le32 cycle_count;
+       __le32 chan_tx_pwr_range;
+       __le32 chan_tx_pwr_tp;
+       __le32 rx_frame_count;
+       __le32 my_bss_rx_cycle_count;
+       __le32 rx_11b_mode_data_duration;
+       __le32 tx_frame_cnt;
+       __le32 mac_clk_mhz;
+
  } __packed;