[PATCH v3 0/3] Enable low power mode when WLAN is not active

Kalle Valo kvalo at kernel.org
Wed Nov 23 08:05:44 PST 2022


Kalle Valo <kvalo at kernel.org> writes:

> Manikanta Pubbisetty <quic_mpubbise at quicinc.com> writes:
>
>> Currently, WLAN chip is powered once during driver probe and is kept
>> ON (powered) always even when WLAN is not active; keeping the chip
>> powered ON all the time will consume extra power which is not
>> desirable for battery operated devices. Same is the case with non-WoW
>> suspend, chip will not be put into low power mode when the system is
>> suspended resulting in higher battery drain.
>>
>> Send QMI MODE OFF command to firmware during WiFi OFF to put device
>> into low power mode.
>>
>> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1
>> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.16
>>
>> Manikanta Pubbisetty (3):
>>   ath11k: Fix double free issue during SRNG deinit
>>   ath11k: Move hardware initialization logic to start()
>>   ath11k: Enable low power mode when WLAN is not active
>> ---
>> V3:
>>  - Removed patch "ath11k: Fix failed to parse regulatory event print" as it is not needed anymore
>>  - Fixed a potential deadlock scenario reported by lockdep around ab->core_lock with V2 changes
>>  - Fixed other minor issues that were found during code review
>>  - Spelling corrections in the commit messages
>
> I still see a crash, immediately after the first rmmod:
>
> Nov 22 11:05:47 nuc2  [  139.378719] rmmod ath11k_pci
> Nov 22 11:05:48 nuc2 [ 139.892395] general protection fault, probably
> for non-canonical address 0xdffffc000000003e: 0000 [#1] PREEMPT SMP
> DEBUG_PAGEALLOC KASAN
> Nov 22 11:05:48 nuc2 [ 139.892453] KASAN: null-ptr-deref in range
> [0x00000000000001f0-0x00000000000001f7]
>
> Really odd that you don't see it. Unfortunately not able to debug this
> further right now.
>
> This is with:
>
> wcn6855 hw2.0 WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9

A bit more information how I see the crash. So first I have all modules
loaded:

$ lsmod
Module                  Size  Used by
ath11k_pci             57344  0
ath11k               2015232  1 ath11k_pci
mac80211             3284992  1 ath11k
libarc4                16384  1 mac80211
cfg80211             2494464  2 ath11k,mac80211
qmi_helpers            57344  1 ath11k
qrtr_mhi               20480  0
mhi                   217088  2 ath11k_pci,qrtr_mhi
qrtr                   98304  5 qrtr_mhi
nvme                  122880  3
nvme_core             299008  5 nvme
$

Then I just remove ath11k_pci module and boom:

$ sudo rmmod ath11k_pci

[  153.658409] general protection fault, probably for non-canonical address 0xdffffc000000003e: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC KASAN

This happens every time, there doesn't seem to be any randomness on the
behaviour.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



More information about the ath11k mailing list