cnss2: fix __local_bh_enable_ip warning
Fix __local_bh_enable_ip warning in cnss_pci_reg_write(),
the irq will be disabled in below call trace:
cnss_pci_time_sync_work_hdlr
cnss_pci_update_timestamp
spin_lock_irqsave
cnss_pci_reg_write()/cnss_pci_reg_read()
spin_lock_irqrestore
So using spin_lock_irqsave instead of spin_lock_bh to avoid
the warning.
IRQs not enabled as expected
WARNING: CPU: 4 PID: 1003 at kernel/softirq.c:161 __local_bh_enable_ip+0x140/0x154
CPU: 4 PID: 1003 Comm: kworker/u16:18 Tainted: G S O 4.19.157 #1
Hardware name: Qualcomm Technologies, Inc. qrb5165 IOT RB5 (DT)
Workqueue: cnss_driver_event cnss_driver_event_work
pstate: 60c00085 (nZCv daIf +PAN +UAO)
pc : __local_bh_enable_ip+0x140/0x154
lr : __local_bh_enable_ip+0x140/0x154
sp : ffffff80140b3b60
x29: ffffff80140b3b60 x28: ffffff9e93393998
x27: ffffff9e9568d000 x26: ffffff9e93817018
x25: ffffffdbca120670 x24: 000000000000003f
x23: ffffff801ad0310c x22: 000000004000003f
x21: ffffffdbad8b9f40 x20: ffffff9e91eef068
x19: 0000000000000201 x18: 0000000000000000
x17: ffffff9e94de2000 x16: 000000000000003d
x15: ffffff9e92b389b0 x14: ffffff9e930290a7
x13: 0000000000000000 x12: 00000000000000e0
x11: 0000000000000000 x10: 0000000000000001
x9 : 5810d3e5a4c48200 x8 : 5810d3e5a4c48200
x7 : ffffff9e91580fb8 x6 : 0000000000000000
x5 : 0000000000000080 x4 : 0000000000000001
x3 : 0000000000000000 x2 : 0000000000000007
x1 : 0000000000000007 x0 : 000000000000001c
Call trace:
__local_bh_enable_ip+0x140/0x154
_raw_spin_unlock_bh+0x3c/0x48
cnss_pci_reg_write+0xf0/0x1a0
cnss_pci_time_sync_work_hdlr+0x250/0x6b8
cnss_pci_call_driver_probe+0x130/0x2c8
cnss_bus_call_driver_probe+0x28/0x7c
cnss_driver_event_work+0x2e8/0xcc8
process_one_work+0x398/0x680
worker_thread+0x23c/0x4c4
kthread+0x14c/0x15c
ret_from_fork+0x10/0x18
Change-Id: I0093ec304b5192251902154193a8ab98bbf206a8
Signed-off-by:
Miaoqing Pan <quic_miaoqing@quicinc.com>
Loading
Please sign in to comment