[BUG] staging: rtl8192e: oops occurs when finding hardware rtl8192se
From: Philipp Hortmann
Date: Sun Apr 02 2023 - 11:00:23 EST
Hi,
when I use the hardware rtl8192se the driver
drivers/staging/rtl8192e/rtl8192e/r8192e_pci.ko detects that it should
not run on this hardware and aborts.
But when the driver is freeing the resources an oops occures. Find oops
at the end of this Email.
When I comment out the following lines those errors disappear:
cancel_delayed_work_sync(&ieee->hw_wakeup_wq);
cancel_delayed_work_sync(&ieee->hw_sleep_wq);
cancel_work_sync(&ieee->ips_leave_wq);
When I do an init before the cancel:
INIT_DELAYED_WORK(&priv->rtllib->hw_wakeup_wq, (void *)rtl92e_hw_wakeup_wq);
The oops are gone as well.
When I use cancel_delayed_work() instead of cancel_delayed_work_sync()
it also works.
Can somebody give me a hint what the expected way is to solve this?
Thanks for your support.
Philipp
kernel@matrix-ESPRIMO-P710:~/Documents/git/kernels/staging$ sudo dmesg -c
[17498.738997] rtl819xE 0000:03:00.0: Freeing irq 16
[17498.788312] lib80211_crypt: unregistered algorithm 'R-CCMP'
[17498.823409] lib80211_crypt: unregistered algorithm 'R-WEP'
[17498.850483] lib80211_crypt: unregistered algorithm 'R-TKIP'
[17517.546303] rtllib: module is from the staging directory, the quality
is unknown, you have been warned.
[17517.556731] rtllib_crypt_tkip: module is from the staging directory,
the quality is unknown, you have been warned.
[17517.557042] lib80211_crypt: registered algorithm 'R-TKIP'
[17517.565264] rtllib_crypt_wep: module is from the staging directory,
the quality is unknown, you have been warned.
[17517.565639] lib80211_crypt: registered algorithm 'R-WEP'
[17517.576821] rtllib_crypt_ccmp: module is from the staging directory,
the quality is unknown, you have been warned.
[17517.577095] lib80211_crypt: registered algorithm 'R-CCMP'
[17518.603762] r8192e_pci: module is from the staging directory, the
quality is unknown, you have been warned.
[17518.606673] rtl819xE 0000:03:00.0: Memory mapped space start: 0xf7b00000
[17518.606712] ------------[ cut here ]------------
[17518.606714] WARNING: CPU: 0 PID: 27845 at kernel/workqueue.c:3167
__flush_work+0x22f/0x240
[17518.606724] Modules linked in: r8192e_pci(COE+)
rtllib_crypt_ccmp(COE) rtllib_crypt_wep(COE) rtllib_crypt_tkip(COE)
rtllib(COE) ccm cfg80211 lib80211 libarc4 snd_seq_dummy xt_conntrack
xt_MASQUERADE nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo
iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c
xt_addrtype iptable_filter bpfilter br_netfilter bridge stp llc overlay
nls_iso8859_1 snd_hda_codec_hdmi snd_hda_codec_conexant
snd_hda_codec_generic ledtrig_audio intel_rapl_msr intel_rapl_common
sch5627 mei_hdcp binfmt_misc x86_pkg_temp_thermal intel_powerclamp i915
coretemp kvm_intel snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi kvm
snd_hda_codec drm_buddy snd_hda_core ttm snd_hwdep crct10dif_pclmul
ghash_clmulni_intel snd_pcm drm_display_helper sha512_ssse3 aesni_intel
snd_seq_midi cec crypto_simd sch56xx_common snd_seq_midi_event cryptd
rc_core snd_rawmidi joydev rapl intel_cstate snd_seq drm_kms_helper
input_leds snd_seq_device snd_timer at24 i2c_algo_bit syscopyarea
serio_raw sysfillrect snd
[17518.606809] mei_me sysimgblt soundcore mei tpm_infineon mac_hid
sch_fq_codel msr parport_pc ppdev lp ramoops parport reed_solomon drm
efi_pstore ip_tables x_tables autofs4 hid_generic usbhid hid ahci
crc32_pclmul lpc_ich e1000e i2c_i801 xhci_pci libahci xhci_pci_renesas
i2c_smbus video wmi [last unloaded: rtllib(COE)]
[17518.606844] CPU: 0 PID: 27845 Comm: insmod Tainted: G WC OE
6.3.0-rc1+ #7
[17518.606848] Hardware name: FUJITSU ESPRIMO P710/D3161-A1, BIOS
V4.6.5.3 R1.16.0 for D3161-A1x 10/29/2012
[17518.606851] RIP: 0010:__flush_work+0x22f/0x240
[17518.606856] Code: 8b 43 28 48 8b 53 30 89 c1 e9 f9 fe ff ff 4c 89 f7
e8 a5 1a d8 00 e8 d0 d2 08 00 45 31 ff e9 11 ff ff ff 0f 0b e9 0a ff ff
ff <0f> 0b 45 31 ff e9 00 ff ff ff e8 22 b7 d6 00 66 90 90 90 90 90 90
[17518.606859] RSP: 0018:ffffbd48819a38b0 EFLAGS: 00010246
[17518.606863] RAX: 0000000000000000 RBX: 0000000000000000 RCX:
0000000000000000
[17518.606865] RDX: 0000000000000001 RSI: 0000000000000001 RDI:
ffff96d65f8a7960
[17518.606867] RBP: ffffbd48819a3928 R08: 0000000000000000 R09:
ffffbd4881cf1000
[17518.606869] R10: ffffffff867da3c0 R11: ffff96d70aaa51f8 R12:
ffff96d65f8a7960
[17518.606871] R13: 0000000000000001 R14: ffff96d65c086400 R15:
0000000000000001
[17518.606873] FS: 00007f08a1f93740(0000) GS:ffff96d756200000(0000)
knlGS:0000000000000000
[17518.606876] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[17518.606878] CR2: 000056259a089558 CR3: 0000000116948005 CR4:
00000000001706f0
[17518.606881] Call Trace:
[17518.606884] <TASK>
[17518.606886] ? find_next_iomem_res+0xf1/0x110
[17518.606894] ? preempt_count_add+0x7c/0xc0
[17518.606901] __cancel_work_timer+0x124/0x1b0
[17518.606907] ? __try_to_del_timer_sync+0x67/0xa0
[17518.606914] cancel_delayed_work_sync+0x13/0x20
[17518.606919] rtllib_softmac_free+0x7d/0xe0 [rtllib]
[17518.606941] free_rtllib+0x27/0x70 [rtllib]
[17518.606955] _rtl92e_pci_probe+0x1e9/0x1190 [r8192e_pci]
[17518.606976] ? up_write+0x3c/0x70
[17518.606981] ? _raw_spin_unlock_irqrestore+0x27/0x50
[17518.607006] local_pci_probe+0x4b/0xb0
[17518.607015] pci_device_probe+0xc8/0x240
[17518.607019] really_probe+0x177/0x3e0
[17518.607026] __driver_probe_device+0x7e/0x180
[17518.607031] driver_probe_device+0x23/0xa0
[17518.607036] __driver_attach+0xc5/0x190
[17518.607040] ? __pfx___driver_attach+0x10/0x10
[17518.607045] bus_for_each_dev+0x7c/0xd0
[17518.607049] driver_attach+0x1e/0x30
[17518.607053] bus_add_driver+0x11c/0x220
[17518.607058] driver_register+0x64/0x130
[17518.607063] ? __pfx_init_module+0x10/0x10 [r8192e_pci]
[17518.607097] __pci_register_driver+0x68/0x70
[17518.607100] rtl8192_pci_driver_init+0x23/0xff0 [r8192e_pci]
[17518.607109] do_one_initcall+0x48/0x220
[17518.607113] ? kmalloc_trace+0x2a/0xa0
[17518.607117] do_init_module+0x52/0x220
[17518.607120] load_module+0x20ad/0x2380
[17518.607124] __do_sys_finit_module+0xc8/0x140
[17518.607126] ? __do_sys_finit_module+0xc8/0x140
[17518.607129] __x64_sys_finit_module+0x1a/0x20
[17518.607131] do_syscall_64+0x3b/0x90
[17518.607134] entry_SYSCALL_64_after_hwframe+0x72/0xdc
[17518.607137] RIP: 0033:0x7f08a1b2673d
[17518.607139] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa
48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f
05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 23 37 0d 00 f7 d8 64 89 01 48
[17518.607140] RSP: 002b:00007ffdd0a30378 EFLAGS: 00000246 ORIG_RAX:
0000000000000139
[17518.607142] RAX: ffffffffffffffda RBX: 000056259a085770 RCX:
00007f08a1b2673d
[17518.607144] RDX: 0000000000000000 RSI: 0000562598108358 RDI:
0000000000000003
[17518.607145] RBP: 0000000000000000 R08: 0000000000000000 R09:
00007f08a1bfd580
[17518.607146] R10: 0000000000000003 R11: 0000000000000246 R12:
0000562598108358
[17518.607147] R13: 0000000000000000 R14: 000056259a088550 R15:
0000000000000000
[17518.607149] </TASK>
[17518.607150] ---[ end trace 0000000000000000 ]---
[17518.607153] ------------[ cut here ]------------
[17518.607153] WARNING: CPU: 0 PID: 27845 at kernel/workqueue.c:3167
__flush_work+0x22f/0x240
[17518.607157] Modules linked in: r8192e_pci(COE+)
rtllib_crypt_ccmp(COE) rtllib_crypt_wep(COE) rtllib_crypt_tkip(COE)
rtllib(COE) ccm cfg80211 lib80211 libarc4 snd_seq_dummy xt_conntrack
xt_MASQUERADE nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo
iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c
xt_addrtype iptable_filter bpfilter br_netfilter bridge stp llc overlay
nls_iso8859_1 snd_hda_codec_hdmi snd_hda_codec_conexant
snd_hda_codec_generic ledtrig_audio intel_rapl_msr intel_rapl_common
sch5627 mei_hdcp binfmt_misc x86_pkg_temp_thermal intel_powerclamp i915
coretemp kvm_intel snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi kvm
snd_hda_codec drm_buddy snd_hda_core ttm snd_hwdep crct10dif_pclmul
ghash_clmulni_intel snd_pcm drm_display_helper sha512_ssse3 aesni_intel
snd_seq_midi cec crypto_simd sch56xx_common snd_seq_midi_event cryptd
rc_core snd_rawmidi joydev rapl intel_cstate snd_seq drm_kms_helper
input_leds snd_seq_device snd_timer at24 i2c_algo_bit syscopyarea
serio_raw sysfillrect snd
[17518.607198] mei_me sysimgblt soundcore mei tpm_infineon mac_hid
sch_fq_codel msr parport_pc ppdev lp ramoops parport reed_solomon drm
efi_pstore ip_tables x_tables autofs4 hid_generic usbhid hid ahci
crc32_pclmul lpc_ich e1000e i2c_i801 xhci_pci libahci xhci_pci_renesas
i2c_smbus video wmi [last unloaded: rtllib(COE)]
[17518.607217] CPU: 0 PID: 27845 Comm: insmod Tainted: G WC OE
6.3.0-rc1+ #7
[17518.607219] Hardware name: FUJITSU ESPRIMO P710/D3161-A1, BIOS
V4.6.5.3 R1.16.0 for D3161-A1x 10/29/2012
[17518.607220] RIP: 0010:__flush_work+0x22f/0x240
[17518.607222] Code: 8b 43 28 48 8b 53 30 89 c1 e9 f9 fe ff ff 4c 89 f7
e8 a5 1a d8 00 e8 d0 d2 08 00 45 31 ff e9 11 ff ff ff 0f 0b e9 0a ff ff
ff <0f> 0b 45 31 ff e9 00 ff ff ff e8 22 b7 d6 00 66 90 90 90 90 90 90
[17518.607224] RSP: 0018:ffffbd48819a38b0 EFLAGS: 00010246
[17518.607225] RAX: 0000000000000000 RBX: 0000000000000000 RCX:
0000000000000000
[17518.607226] RDX: 0000000000000001 RSI: 0000000000000001 RDI:
ffff96d65f8a79b8
[17518.607227] RBP: ffffbd48819a3928 R08: 0000000000000000 R09:
ffffbd4881cf1000
[17518.607228] R10: ffffffff867da3c0 R11: ffff96d70aaa51f8 R12:
ffff96d65f8a79b8
[17518.607229] R13: 0000000000000001 R14: ffff96d65c086400 R15:
0000000000000001
[17518.607231] FS: 00007f08a1f93740(0000) GS:ffff96d756200000(0000)
knlGS:0000000000000000
[17518.607232] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[17518.607233] CR2: 000056259a089558 CR3: 0000000116948005 CR4:
00000000001706f0
[17518.607234] Call Trace:
[17518.607235] <TASK>
[17518.607236] ? find_next_iomem_res+0xf1/0x110
[17518.607239] ? preempt_count_add+0x7c/0xc0
[17518.607242] __cancel_work_timer+0x124/0x1b0
[17518.607245] ? __try_to_del_timer_sync+0x67/0xa0
[17518.607249] cancel_delayed_work_sync+0x13/0x20
[17518.607251] rtllib_softmac_free+0x89/0xe0 [rtllib]
[17518.607262] free_rtllib+0x27/0x70 [rtllib]
[17518.607269] _rtl92e_pci_probe+0x1e9/0x1190 [r8192e_pci]
[17518.607279] ? up_write+0x3c/0x70
[17518.607281] ? _raw_spin_unlock_irqrestore+0x27/0x50
[17518.607285] local_pci_probe+0x4b/0xb0
[17518.607288] pci_device_probe+0xc8/0x240
[17518.607290] really_probe+0x177/0x3e0
[17518.607293] __driver_probe_device+0x7e/0x180
[17518.607296] driver_probe_device+0x23/0xa0
[17518.607298] __driver_attach+0xc5/0x190
[17518.607300] ? __pfx___driver_attach+0x10/0x10
[17518.607303] bus_for_each_dev+0x7c/0xd0
[17518.607305] driver_attach+0x1e/0x30
[17518.607307] bus_add_driver+0x11c/0x220
[17518.607309] driver_register+0x64/0x130
[17518.607312] ? __pfx_init_module+0x10/0x10 [r8192e_pci]
[17518.607321] __pci_register_driver+0x68/0x70
[17518.607324] rtl8192_pci_driver_init+0x23/0xff0 [r8192e_pci]
[17518.607332] do_one_initcall+0x48/0x220
[17518.607335] ? kmalloc_trace+0x2a/0xa0
[17518.607339] do_init_module+0x52/0x220
[17518.607341] load_module+0x20ad/0x2380
[17518.607344] __do_sys_finit_module+0xc8/0x140
[17518.607346] ? __do_sys_finit_module+0xc8/0x140
[17518.607349] __x64_sys_finit_module+0x1a/0x20
[17518.607351] do_syscall_64+0x3b/0x90
[17518.607353] entry_SYSCALL_64_after_hwframe+0x72/0xdc
[17518.607356] RIP: 0033:0x7f08a1b2673d
[17518.607357] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa
48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f
05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 23 37 0d 00 f7 d8 64 89 01 48
[17518.607359] RSP: 002b:00007ffdd0a30378 EFLAGS: 00000246 ORIG_RAX:
0000000000000139
[17518.607360] RAX: ffffffffffffffda RBX: 000056259a085770 RCX:
00007f08a1b2673d
[17518.607361] RDX: 0000000000000000 RSI: 0000562598108358 RDI:
0000000000000003
[17518.607362] RBP: 0000000000000000 R08: 0000000000000000 R09:
00007f08a1bfd580
[17518.607363] R10: 0000000000000003 R11: 0000000000000246 R12:
0000562598108358
[17518.607364] R13: 0000000000000000 R14: 000056259a088550 R15:
0000000000000000
[17518.607366] </TASK>
[17518.607367] ---[ end trace 0000000000000000 ]---
[17518.607370] ------------[ cut here ]------------
[17518.607370] WARNING: CPU: 0 PID: 27845 at kernel/workqueue.c:3167
__flush_work+0x22f/0x240
[17518.607373] Modules linked in: r8192e_pci(COE+)
rtllib_crypt_ccmp(COE) rtllib_crypt_wep(COE) rtllib_crypt_tkip(COE)
rtllib(COE) ccm cfg80211 lib80211 libarc4 snd_seq_dummy xt_conntrack
xt_MASQUERADE nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo
iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c
xt_addrtype iptable_filter bpfilter br_netfilter bridge stp llc overlay
nls_iso8859_1 snd_hda_codec_hdmi snd_hda_codec_conexant
snd_hda_codec_generic ledtrig_audio intel_rapl_msr intel_rapl_common
sch5627 mei_hdcp binfmt_misc x86_pkg_temp_thermal intel_powerclamp i915
coretemp kvm_intel snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi kvm
snd_hda_codec drm_buddy snd_hda_core ttm snd_hwdep crct10dif_pclmul
ghash_clmulni_intel snd_pcm drm_display_helper sha512_ssse3 aesni_intel
snd_seq_midi cec crypto_simd sch56xx_common snd_seq_midi_event cryptd
rc_core snd_rawmidi joydev rapl intel_cstate snd_seq drm_kms_helper
input_leds snd_seq_device snd_timer at24 i2c_algo_bit syscopyarea
serio_raw sysfillrect snd
[17518.607414] mei_me sysimgblt soundcore mei tpm_infineon mac_hid
sch_fq_codel msr parport_pc ppdev lp ramoops parport reed_solomon drm
efi_pstore ip_tables x_tables autofs4 hid_generic usbhid hid ahci
crc32_pclmul lpc_ich e1000e i2c_i801 xhci_pci libahci xhci_pci_renesas
i2c_smbus video wmi [last unloaded: rtllib(COE)]
[17518.607432] CPU: 0 PID: 27845 Comm: insmod Tainted: G WC OE
6.3.0-rc1+ #7
[17518.607434] Hardware name: FUJITSU ESPRIMO P710/D3161-A1, BIOS
V4.6.5.3 R1.16.0 for D3161-A1x 10/29/2012
[17518.607435] RIP: 0010:__flush_work+0x22f/0x240
[17518.607437] Code: 8b 43 28 48 8b 53 30 89 c1 e9 f9 fe ff ff 4c 89 f7
e8 a5 1a d8 00 e8 d0 d2 08 00 45 31 ff e9 11 ff ff ff 0f 0b e9 0a ff ff
ff <0f> 0b 45 31 ff e9 00 ff ff ff e8 22 b7 d6 00 66 90 90 90 90 90 90
[17518.607439] RSP: 0018:ffffbd48819a38b0 EFLAGS: 00010246
[17518.607440] RAX: 0000000000000000 RBX: 0000000000000000 RCX:
0000000000000000
[17518.607441] RDX: 0000000000000001 RSI: 0000000000000001 RDI:
ffff96d65f8a77e0
[17518.607442] RBP: ffffbd48819a3928 R08: 0000000000000000 R09:
ffffbd4881cf1000
[17518.607443] R10: ffffffff867da3c0 R11: ffff96d70aaa51f8 R12:
ffff96d65f8a77e0
[17518.607444] R13: 0000000000000000 R14: ffff96d65c086400 R15:
0000000000000001
[17518.607445] FS: 00007f08a1f93740(0000) GS:ffff96d756200000(0000)
knlGS:0000000000000000
[17518.607446] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[17518.607447] CR2: 000056259a089558 CR3: 0000000116948005 CR4:
00000000001706f0
[17518.607449] Call Trace:
[17518.607449] <TASK>
[17518.607450] ? find_next_iomem_res+0xf1/0x110
[17518.607453] ? preempt_count_add+0x7c/0xc0
[17518.607456] __cancel_work_timer+0x124/0x1b0
[17518.607458] ? __try_to_del_timer_sync+0x67/0xa0
[17518.607462] cancel_work_sync+0x10/0x20
[17518.607464] rtllib_softmac_free+0xad/0xe0 [rtllib]
[17518.607474] free_rtllib+0x27/0x70 [rtllib]
[17518.607481] _rtl92e_pci_probe+0x1e9/0x1190 [r8192e_pci]
[17518.607491] ? up_write+0x3c/0x70
[17518.607493] ? _raw_spin_unlock_irqrestore+0x27/0x50
[17518.607497] local_pci_probe+0x4b/0xb0
[17518.607500] pci_device_probe+0xc8/0x240
[17518.607502] really_probe+0x177/0x3e0
[17518.607505] __driver_probe_device+0x7e/0x180
[17518.607507] driver_probe_device+0x23/0xa0
[17518.607510] __driver_attach+0xc5/0x190
[17518.607512] ? __pfx___driver_attach+0x10/0x10
[17518.607515] bus_for_each_dev+0x7c/0xd0
[17518.607517] driver_attach+0x1e/0x30
[17518.607519] bus_add_driver+0x11c/0x220
[17518.607521] driver_register+0x64/0x130
[17518.607524] ? __pfx_init_module+0x10/0x10 [r8192e_pci]
[17518.607532] __pci_register_driver+0x68/0x70
[17518.607535] rtl8192_pci_driver_init+0x23/0xff0 [r8192e_pci]
[17518.607543] do_one_initcall+0x48/0x220
[17518.607546] ? kmalloc_trace+0x2a/0xa0
[17518.607550] do_init_module+0x52/0x220
[17518.607551] load_module+0x20ad/0x2380
[17518.607555] __do_sys_finit_module+0xc8/0x140
[17518.607557] ? __do_sys_finit_module+0xc8/0x140
[17518.607560] __x64_sys_finit_module+0x1a/0x20
[17518.607561] do_syscall_64+0x3b/0x90
[17518.607564] entry_SYSCALL_64_after_hwframe+0x72/0xdc
[17518.607567] RIP: 0033:0x7f08a1b2673d
[17518.607568] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa
48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f
05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 23 37 0d 00 f7 d8 64 89 01 48
[17518.607569] RSP: 002b:00007ffdd0a30378 EFLAGS: 00000246 ORIG_RAX:
0000000000000139
[17518.607571] RAX: ffffffffffffffda RBX: 000056259a085770 RCX:
00007f08a1b2673d
[17518.607572] RDX: 0000000000000000 RSI: 0000562598108358 RDI:
0000000000000003
[17518.607573] RBP: 0000000000000000 R08: 0000000000000000 R09:
00007f08a1bfd580
[17518.607574] R10: 0000000000000003 R11: 0000000000000246 R12:
0000562598108358
[17518.607575] R13: 0000000000000000 R14: 000056259a088550 R15:
0000000000000000
[17518.607577] </TASK>
[17518.607577] ---[ end trace 0000000000000000 ]---