1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/wireless/realtek/rtlwifi
Larry Finger 8b144dedb9 rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled
Syzbot reports the following WARNING:

[200~raw_local_irq_restore() called with IRQs enabled
WARNING: CPU: 1 PID: 1206 at kernel/locking/irqflag-debug.c:10
   warn_bogus_irq_restore+0x1d/0x20 kernel/locking/irqflag-debug.c:10

Hardware initialization for the rtl8188cu can run for as long as 350 ms,
and the routine may be called with interrupts disabled. To avoid locking
the machine for this long, the current routine saves the interrupt flags
and enables local interrupts. The problem is that it restores the flags
at the end without disabling local interrupts first.

This patch fixes commit a53268be0c ("rtlwifi: rtl8192cu: Fix too long
disable of IRQs").

Reported-by: syzbot+cce1ee31614c171f5595@syzkaller.appspotmail.com
Cc: stable@vger.kernel.org
Fixes: a53268be0c ("rtlwifi: rtl8192cu: Fix too long disable of IRQs")
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20211215171105.20623-1-Larry.Finger@lwfinger.net
2021-12-20 21:04:49 +02:00
..
btcoexist rtlwifi: btcoex: 21a 2ant: Delete several duplicate condition branch codes 2021-06-15 16:38:05 +03:00
rtl8188ee rtlwifi: rtl8188ee: remove redundant assignment of variable rtlpriv->btcoexist.reg_bt_sco 2021-04-17 20:30:01 +03:00
rtl8192c rtlwifi: rtl8192c-common: fix bool comparison in expressions 2021-01-25 16:21:05 +02:00
rtl8192ce rtlwifi: rtl8192ce: avoid accessing the data mapped to streaming DMA 2020-11-24 17:06:35 +02:00
rtl8192cu rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled 2021-12-20 21:04:49 +02:00
rtl8192de rtlwifi: rtl8192de: Style clean-ups 2021-11-29 12:47:07 +02:00
rtl8192ee rtlwifi: rtl8192ee: Remove redundant initialization of variable version 2021-10-13 09:20:30 +03:00
rtl8192se rtlwifi: Fix spelling of 'download' 2021-06-15 16:40:54 +03:00
rtl8723ae rtlwifi: rtl8723ae: remove redundant initialization of variable rtstatus 2021-06-15 16:39:37 +03:00
rtl8723be rtlwifi: rtl8723be: Remove set but unused variable 'cck_highpwr' 2020-11-07 18:14:45 +02:00
rtl8723com rtlwifi: Use ffs in <foo>_phy_calculate_bit_shift 2020-09-22 10:16:41 +03:00
rtl8821ae rtlwifi: 8821ae: upgrade PHY and RF parameters 2021-04-17 20:26:39 +03:00
base.c net: rtlwifi: properly check for alloc_workqueue() failure 2021-05-13 17:30:26 +02:00
base.h net: rtlwifi: Remove void* casts related to delayed work 2020-09-29 14:02:55 -07:00
cam.c rtlwifi: Remove redundant assignments to ul_enc_algo 2021-06-15 16:39:55 +03:00
cam.h
core.c rtlwifi: implement set_tim by update beacon content 2021-04-21 12:39:33 +03:00
core.h rtlwifi: implement set_tim by update beacon content 2021-04-21 12:39:33 +03:00
debug.c net: rtlwifi: Remove in_interrupt() from debug macro 2020-09-29 14:02:55 -07:00
debug.h net: rtlwifi: Remove in_interrupt() from debug macro 2020-09-29 14:02:55 -07:00
efuse.c rtlwifi: Replace RT_TRACE with rtl_dbg 2020-08-31 18:25:43 +03:00
efuse.h
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
pci.c wireless: Remove redundant 'flush_workqueue()' calls 2021-10-13 09:22:19 +03:00
pci.h
ps.c rtlwifi: rtl_pci: fix bool comparison in expressions 2021-01-25 16:21:01 +02:00
ps.h net: rtlwifi: Replace in_interrupt() for context detection 2020-09-29 14:02:55 -07:00
pwrseqcmd.h
rc.c mac80211: populate debugfs only after cfg80211 init 2020-04-24 11:30:13 +02:00
rc.h
regd.c rtlwifi: Replace RT_TRACE with rtl_dbg 2020-08-31 18:25:43 +03:00
regd.h
stats.c
stats.h
usb.c rtlwifi: implement set_tim by update beacon content 2021-04-21 12:39:33 +03:00
usb.h
wifi.h rtlwifi: rtl8192de: Style clean-ups 2021-11-29 12:47:07 +02:00