linux_dsm_epyc7002/drivers/net/wireless/rsi
Siva Rebbagondla 4c62764d0f rsi: improve kernel thread handling to fix kernel panic
While running regressions, observed below kernel panic when sdio disconnect
called. This is because of, kthread_stop() is taking care of
wait_for_completion() by default. When wait_for_completion triggered
in kthread_stop and as it was done already, giving kernel panic.
Hence, removing redundant wait_for_completion() from rsi_kill_thread().

... skipping ...
BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [<ffffffff810a63df>] exit_creds+0x1f/0x50
PGD 0
Oops: 0002 [#1] SMP
CPU: 0 PID: 6502 Comm: rmmod Tainted: G  OE   4.15.9-Generic #154-Ubuntu
Hardware name: Dell Inc. Edge Gateway 3003/ , BIOS 01.00.00 04/17/2017
Stack:
ffff88007392e600 ffff880075847dc0 ffffffff8108160a 0000000000000000
ffff88007392e600 ffff880075847de8 ffffffff810a484b ffff880076127000
ffff88003cd3a800 ffff880074f12a00 ffff880075847e28 ffffffffc09bed15
Call Trace:
[<ffffffff8108160a>] __put_task_struct+0x5a/0x140
[<ffffffff810a484b>] kthread_stop+0x10b/0x110
[<ffffffffc09bed15>] rsi_disconnect+0x2f5/0x300 [ven_rsi_sdio]
[<ffffffff81578bcb>] ? __pm_runtime_resume+0x5b/0x80
[<ffffffff816f0918>] sdio_bus_remove+0x38/0x100
[<ffffffff8156cc64>] __device_release_driver+0xa4/0x150
[<ffffffff8156d7a5>] driver_detach+0xb5/0xc0
[<ffffffff8156c6c5>] bus_remove_driver+0x55/0xd0
[<ffffffff8156dfbc>] driver_unregister+0x2c/0x50
[<ffffffff816f0b8a>] sdio_unregister_driver+0x1a/0x20
[<ffffffffc09bf0f5>] rsi_module_exit+0x15/0x30 [ven_rsi_sdio]
[<ffffffff8110cad8>] SyS_delete_module+0x1b8/0x210
[<ffffffff81851dc8>] entry_SYSCALL_64_fastpath+0x1c/0xbb

Signed-off-by: Siva Rebbagondla <siva.rebbagondla@redpinesignals.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2018-08-31 18:49:48 +03:00
..
Kconfig Bluetooth: btrsi: rework dependencies 2018-03-27 10:11:58 +03:00
Makefile rsi: add coex support 2018-03-13 18:36:57 +02:00
rsi_91x_coex.c rsi: reset hibernate_resume flag to work hibernate resume in coex mode. 2018-05-15 08:37:46 +03:00
rsi_91x_core.c rsi: fix spelling mistake: "thead" -> "thread" 2018-05-12 11:54:29 +03:00
rsi_91x_debugfs.c rsi: add version information 2017-09-25 11:25:23 +03:00
rsi_91x_hal.c rsi: remove redundant variables bss, wh and temp_flash_content 2018-08-09 18:13:46 +03:00
rsi_91x_mac80211.c rsi: optimize virtual interfaces 2018-07-31 10:14:47 +03:00
rsi_91x_main.c rsi: move init_done flag to end of rsi_91x_init(). 2018-07-31 10:16:05 +03:00
rsi_91x_mgmt.c rsi: fix for WoWLAN wakeup in security mode. 2018-07-31 10:14:47 +03:00
rsi_91x_ps.c rsi: rsi_91x_ps: remove redundant code in str_psstate 2017-11-10 04:36:10 +02:00
rsi_91x_sdio_ops.c rsi: improve RX handling in SDIO interface 2018-03-13 18:42:24 +02:00
rsi_91x_sdio.c rsi: remove redundant device ids 2018-07-31 10:15:53 +03:00
rsi_91x_usb_ops.c rsi: improve RX packet handling in USB interface 2018-03-13 18:42:26 +02:00
rsi_91x_usb.c rsi: fix memory alignment issue in ARM32 platforms 2018-08-31 18:49:47 +03:00
rsi_boot_params.h rsi: device bootup parameter configuration 2018-04-24 20:25:01 +03:00
rsi_coex.h rsi: add coex support 2018-03-13 18:36:57 +02:00
rsi_common.h rsi: improve kernel thread handling to fix kernel panic 2018-08-31 18:49:48 +03:00
rsi_debugfs.h
rsi_hal.h rsi: disable fw watchdog timer during reset 2018-04-24 20:25:01 +03:00
rsi_main.h rsi: roaming enhancements 2018-04-24 20:23:55 +03:00
rsi_mgmt.h rsi: Correct RSI_NEEDED_HEADROOM in mac80211_attach. 2018-07-31 10:16:00 +03:00
rsi_ps.h rsi: disallow power save config when AP vap running 2017-09-20 15:38:57 +03:00
rsi_sdio.h rsi: remove redundant device ids 2018-07-31 10:15:53 +03:00
rsi_usb.h rsi: remove redundant device ids 2018-07-31 10:15:53 +03:00