arch-linux-surface icon indicating copy to clipboard operation
arch-linux-surface copied to clipboard

[SB2] mwifiex_pcie intermittently timeout and hang on when `modprobe -r` or rebooting system

Open magodo opened this issue 5 years ago • 3 comments

Issue

mwifiex_pcie intermittently timeout and hang on when modprobe -r or rebooting system. When issue happens, I have no way to recover but a hard reboot.

The dmesg log when issue happens is as below:

[27248.113793] mwifiex_pcie 0000:01:00.0: mwifiex_cmd_timeout_func: Timeout cmd id = 0xa4, act = 0x0
[27248.113799] mwifiex_pcie 0000:01:00.0: num_data_h2c_failure = 0
[27248.113803] mwifiex_pcie 0000:01:00.0: num_cmd_h2c_failure = 0
[27248.113806] mwifiex_pcie 0000:01:00.0: is_cmd_timedout = 1
[27248.113808] mwifiex_pcie 0000:01:00.0: num_tx_timeout = 0
[27248.113811] mwifiex_pcie 0000:01:00.0: last_cmd_index = 0
[27248.113814] mwifiex_pcie 0000:01:00.0: last_cmd_id: a4 00 16 00 a4 00 7f 00 16 00
[27248.113818] mwifiex_pcie 0000:01:00.0: last_cmd_act: 00 00 00 00 00 00 00 00 00 00
[27248.113820] mwifiex_pcie 0000:01:00.0: last_cmd_resp_index = 4
[27248.113823] mwifiex_pcie 0000:01:00.0: last_cmd_resp_id: 7f 80 16 80 a4 80 7f 80 16 80
[27248.113826] mwifiex_pcie 0000:01:00.0: last_event_index = 1
[27248.113829] mwifiex_pcie 0000:01:00.0: last_event: 58 00 74 00 58 00 58 00 58 00
[27248.113832] mwifiex_pcie 0000:01:00.0: data_sent=1 cmd_sent=1
[27248.113834] mwifiex_pcie 0000:01:00.0: ps_mode=0 ps_state=0
[27248.113927] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27248.114725] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27248.114732] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27248.114768] mwifiex_pcie 0000:01:00.0: ===mwifiex driverinfo dump start===
[27248.114775] mwifiex_pcie 0000:01:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (15.68.19.p21) 
[27248.114788] mwifiex_pcie 0000:01:00.0: PCIE register dump start
[27248.114876] mwifiex_pcie 0000:01:00.0: pcie scratch register:
[27248.114888] mwifiex_pcie 0000:01:00.0: reg:0xcf0, value=0xfedcba00
               reg:0xcf8, value=0x94178
               reg:0xcfc, value=0x2aeae00

[27248.114891] mwifiex_pcie 0000:01:00.0: PCIE register dump end
[27248.114973] mwifiex_pcie 0000:01:00.0: ===mwifiex driverinfo dump end===
[27248.114976] mwifiex_pcie 0000:01:00.0: == mwifiex firmware dump start ==
[27248.115313] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27248.115319] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27248.115419] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27248.115424] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27254.003779] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27254.003781] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27254.003798] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27254.003799] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27260.003838] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27260.003841] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27260.003879] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27260.003880] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27266.000505] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27266.000508] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27266.000561] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27266.000563] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27272.003880] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27272.003886] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27272.003948] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27272.003951] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27278.003867] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27278.003871] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27278.003915] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27278.003917] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27284.004342] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27284.004346] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27284.004383] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27284.004385] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27290.003876] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27290.003880] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27290.003919] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27290.003921] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27296.003975] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27296.003978] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27296.004006] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27296.004008] mwifiex_pcie 0000:01:00.0: failed to get signal information
[27299.075835] mwifiex_pcie 0000:01:00.0: Firmware dump Finished!
[27299.075839] mwifiex_pcie 0000:01:00.0: == mwifiex firmware dump end ==
[27299.076171] mwifiex_pcie 0000:01:00.0: == mwifiex dump information to /sys/class/devcoredump start
[27299.076250] mwifiex_pcie 0000:01:00.0: == mwifiex dump information to /sys/class/devcoredump end
[27299.076256] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[27299.076329] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.076333] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[27299.076336] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.076339] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[27299.076342] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.076345] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[27299.076354] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.076357] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[27299.076361] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.076364] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[27299.076368] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.076371] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[27299.077042] mwifiex_pcie 0000:01:00.0: info: shutdown mwifiex...
[27299.077278] mwifiex_pcie 0000:01:00.0: rx_pending=0, tx_pending=1,	cmd_pending=0
[27299.085908] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.085915] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.085921] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[27299.156638] audit: type=1130 audit(1581064802.477:233): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[27299.184720] audit: type=1130 audit(1581064802.507:234): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[27300.200133] mwifiex_pcie 0000:01:00.0: WLAN FW already running! Skip FW dnld
[27300.200141] mwifiex_pcie 0000:01:00.0: WLAN FW is active
[27304.156862] audit: type=1131 audit(1581064807.477:235): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[27309.014509] audit: type=1131 audit(1581064812.337:236): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[27310.407030] mwifiex_pcie 0000:01:00.0: mwifiex_cmd_timeout_func: Timeout cmd id = 0xfa, act = 0x1000
[27310.407036] mwifiex_pcie 0000:01:00.0: num_data_h2c_failure = 0
[27310.407039] mwifiex_pcie 0000:01:00.0: num_cmd_h2c_failure = 0
[27310.407042] mwifiex_pcie 0000:01:00.0: is_cmd_timedout = 1
[27310.407044] mwifiex_pcie 0000:01:00.0: num_tx_timeout = 0
[27310.407047] mwifiex_pcie 0000:01:00.0: last_cmd_index = 1
[27310.407050] mwifiex_pcie 0000:01:00.0: last_cmd_id: a4 00 fa 00 a4 00 7f 00 16 00
[27310.407054] mwifiex_pcie 0000:01:00.0: last_cmd_act: 00 00 00 10 00 00 00 00 00 00
[27310.407057] mwifiex_pcie 0000:01:00.0: last_cmd_resp_index = 4
[27310.407060] mwifiex_pcie 0000:01:00.0: last_cmd_resp_id: 7f 80 16 80 a4 80 7f 80 16 80
[27310.407063] mwifiex_pcie 0000:01:00.0: last_event_index = 1
[27310.407067] mwifiex_pcie 0000:01:00.0: last_event: 58 00 74 00 58 00 58 00 58 00
[27310.407070] mwifiex_pcie 0000:01:00.0: data_sent=0 cmd_sent=1
[27310.407073] mwifiex_pcie 0000:01:00.0: ps_mode=0 ps_state=0
[27310.407117] mwifiex_pcie 0000:01:00.0: info: _mwifiex_fw_dpc: unregister device
[27525.020679] INFO: task kworker/1:2:463945 blocked for more than 122 seconds.
[27525.020690]       Tainted: G         C        5.3.18-1-surface #1
[27525.020694] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[27525.020699] kworker/1:2     D    0 463945      2 0x80004080
[27525.020719] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[27525.020723] Call Trace:
[27525.020740]  ? __schedule+0x27f/0x6d0
[27525.020746]  schedule+0x43/0xd0
[27525.020753]  schedule_timeout+0x299/0x3d0
[27525.020767]  ? __switch_to_asm+0x40/0x70
[27525.020781]  wait_for_common+0xeb/0x190
[27525.020789]  ? wake_up_q+0x60/0x60
[27525.020798]  __flush_work+0x130/0x1e0
[27525.020806]  ? flush_workqueue_prep_pwqs+0x130/0x130
[27525.020817]  __cancel_work_timer+0x123/0x1b0
[27525.020829]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[27525.020853]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[27525.020871]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[27525.020894]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[27525.020905]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[27525.020918]  pci_try_reset_function+0x38/0x70
[27525.020927]  process_one_work+0x1d1/0x3a0
[27525.020935]  worker_thread+0x4a/0x3d0
[27525.020942]  kthread+0xfb/0x130
[27525.020948]  ? process_one_work+0x3a0/0x3a0
[27525.020952]  ? kthread_park+0x80/0x80
[27525.020960]  ret_from_fork+0x35/0x40
[27647.900647] INFO: task kworker/1:2:463945 blocked for more than 245 seconds.
[27647.900657]       Tainted: G         C        5.3.18-1-surface #1
[27647.900660] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[27647.900664] kworker/1:2     D    0 463945      2 0x80004080
[27647.900684] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[27647.900687] Call Trace:
[27647.900703]  ? __schedule+0x27f/0x6d0
[27647.900709]  schedule+0x43/0xd0
[27647.900715]  schedule_timeout+0x299/0x3d0
[27647.900722]  ? __switch_to_asm+0x40/0x70
[27647.900729]  wait_for_common+0xeb/0x190
[27647.900735]  ? wake_up_q+0x60/0x60
[27647.900743]  __flush_work+0x130/0x1e0
[27647.900749]  ? flush_workqueue_prep_pwqs+0x130/0x130
[27647.900755]  __cancel_work_timer+0x123/0x1b0
[27647.900764]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[27647.900781]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[27647.900793]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[27647.900808]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[27647.900814]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[27647.900824]  pci_try_reset_function+0x38/0x70
[27647.900829]  process_one_work+0x1d1/0x3a0
[27647.900835]  worker_thread+0x4a/0x3d0
[27647.900841]  kthread+0xfb/0x130
[27647.900846]  ? process_one_work+0x3a0/0x3a0
[27647.900849]  ? kthread_park+0x80/0x80
[27647.900856]  ret_from_fork+0x35/0x40
[27770.780462] INFO: task kworker/1:2:463945 blocked for more than 368 seconds.
[27770.780465]       Tainted: G         C        5.3.18-1-surface #1
[27770.780465] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[27770.780467] kworker/1:2     D    0 463945      2 0x80004080
[27770.780473] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[27770.780474] Call Trace:
[27770.780478]  ? __schedule+0x27f/0x6d0
[27770.780479]  schedule+0x43/0xd0
[27770.780481]  schedule_timeout+0x299/0x3d0
[27770.780482]  ? __switch_to_asm+0x40/0x70
[27770.780484]  wait_for_common+0xeb/0x190
[27770.780486]  ? wake_up_q+0x60/0x60
[27770.780487]  __flush_work+0x130/0x1e0
[27770.780489]  ? flush_workqueue_prep_pwqs+0x130/0x130
[27770.780490]  __cancel_work_timer+0x123/0x1b0
[27770.780492]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[27770.780496]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[27770.780499]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[27770.780502]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[27770.780503]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[27770.780506]  pci_try_reset_function+0x38/0x70
[27770.780507]  process_one_work+0x1d1/0x3a0
[27770.780508]  worker_thread+0x4a/0x3d0
[27770.780509]  kthread+0xfb/0x130
[27770.780510]  ? process_one_work+0x3a0/0x3a0
[27770.780511]  ? kthread_park+0x80/0x80
[27770.780512]  ret_from_fork+0x35/0x40
[27893.660749] INFO: task kworker/1:2:463945 blocked for more than 491 seconds.
[27893.660759]       Tainted: G         C        5.3.18-1-surface #1
[27893.660762] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[27893.660766] kworker/1:2     D    0 463945      2 0x80004080
[27893.660785] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[27893.660789] Call Trace:
[27893.660805]  ? __schedule+0x27f/0x6d0
[27893.660811]  schedule+0x43/0xd0
[27893.660817]  schedule_timeout+0x299/0x3d0
[27893.660823]  ? __switch_to_asm+0x40/0x70
[27893.660830]  wait_for_common+0xeb/0x190
[27893.660837]  ? wake_up_q+0x60/0x60
[27893.660844]  __flush_work+0x130/0x1e0
[27893.660850]  ? flush_workqueue_prep_pwqs+0x130/0x130
[27893.660856]  __cancel_work_timer+0x123/0x1b0
[27893.660866]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[27893.660881]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[27893.660893]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[27893.660907]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[27893.660914]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[27893.660923]  pci_try_reset_function+0x38/0x70
[27893.660929]  process_one_work+0x1d1/0x3a0
[27893.660935]  worker_thread+0x4a/0x3d0
[27893.660940]  kthread+0xfb/0x130
[27893.660945]  ? process_one_work+0x3a0/0x3a0
[27893.660948]  ? kthread_park+0x80/0x80
[27893.660955]  ret_from_fork+0x35/0x40
[28016.540695] INFO: task kworker/1:2:463945 blocked for more than 614 seconds.
[28016.540704]       Tainted: G         C        5.3.18-1-surface #1
[28016.540708] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[28016.540712] kworker/1:2     D    0 463945      2 0x80004080
[28016.540731] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[28016.540735] Call Trace:
[28016.540750]  ? __schedule+0x27f/0x6d0
[28016.540757]  schedule+0x43/0xd0
[28016.540763]  schedule_timeout+0x299/0x3d0
[28016.540769]  ? __switch_to_asm+0x40/0x70
[28016.540775]  wait_for_common+0xeb/0x190
[28016.540781]  ? wake_up_q+0x60/0x60
[28016.540789]  __flush_work+0x130/0x1e0
[28016.540795]  ? flush_workqueue_prep_pwqs+0x130/0x130
[28016.540801]  __cancel_work_timer+0x123/0x1b0
[28016.540811]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[28016.540826]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[28016.540838]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[28016.540852]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[28016.540858]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[28016.540867]  pci_try_reset_function+0x38/0x70
[28016.540873]  process_one_work+0x1d1/0x3a0
[28016.540879]  worker_thread+0x4a/0x3d0
[28016.540884]  kthread+0xfb/0x130
[28016.540888]  ? process_one_work+0x3a0/0x3a0
[28016.540891]  ? kthread_park+0x80/0x80
[28016.540898]  ret_from_fork+0x35/0x40
[28139.420680] INFO: task kworker/1:2:463945 blocked for more than 737 seconds.
[28139.420690]       Tainted: G         C        5.3.18-1-surface #1
[28139.420693] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[28139.420697] kworker/1:2     D    0 463945      2 0x80004080
[28139.420717] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[28139.420721] Call Trace:
[28139.420737]  ? __schedule+0x27f/0x6d0
[28139.420743]  schedule+0x43/0xd0
[28139.420750]  schedule_timeout+0x299/0x3d0
[28139.420756]  ? __switch_to_asm+0x40/0x70
[28139.420763]  wait_for_common+0xeb/0x190
[28139.420769]  ? wake_up_q+0x60/0x60
[28139.420777]  __flush_work+0x130/0x1e0
[28139.420783]  ? flush_workqueue_prep_pwqs+0x130/0x130
[28139.420790]  __cancel_work_timer+0x123/0x1b0
[28139.420799]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[28139.420816]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[28139.420828]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[28139.420842]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[28139.420849]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[28139.420858]  pci_try_reset_function+0x38/0x70
[28139.420864]  process_one_work+0x1d1/0x3a0
[28139.420870]  worker_thread+0x4a/0x3d0
[28139.420876]  kthread+0xfb/0x130
[28139.420880]  ? process_one_work+0x3a0/0x3a0
[28139.420884]  ? kthread_park+0x80/0x80
[28139.420891]  ret_from_fork+0x35/0x40
[28262.300681] INFO: task kworker/1:2:463945 blocked for more than 860 seconds.
[28262.300690]       Tainted: G         C        5.3.18-1-surface #1
[28262.300693] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[28262.300698] kworker/1:2     D    0 463945      2 0x80004080
[28262.300717] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[28262.300720] Call Trace:
[28262.300736]  ? __schedule+0x27f/0x6d0
[28262.300743]  schedule+0x43/0xd0
[28262.300748]  schedule_timeout+0x299/0x3d0
[28262.300755]  ? __switch_to_asm+0x40/0x70
[28262.300761]  wait_for_common+0xeb/0x190
[28262.300768]  ? wake_up_q+0x60/0x60
[28262.300775]  __flush_work+0x130/0x1e0
[28262.300781]  ? flush_workqueue_prep_pwqs+0x130/0x130
[28262.300787]  __cancel_work_timer+0x123/0x1b0
[28262.300796]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[28262.300813]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[28262.300825]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[28262.300838]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[28262.300845]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[28262.300854]  pci_try_reset_function+0x38/0x70
[28262.300860]  process_one_work+0x1d1/0x3a0
[28262.300866]  worker_thread+0x4a/0x3d0
[28262.300871]  kthread+0xfb/0x130
[28262.300875]  ? process_one_work+0x3a0/0x3a0
[28262.300879]  ? kthread_park+0x80/0x80
[28262.300886]  ret_from_fork+0x35/0x40
[28385.183723] INFO: task kworker/1:2:463945 blocked for more than 983 seconds.
[28385.183730]       Tainted: G         C        5.3.18-1-surface #1
[28385.183732] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[28385.183734] kworker/1:2     D    0 463945      2 0x80004080
[28385.183745] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[28385.183747] Call Trace:
[28385.183756]  ? __schedule+0x27f/0x6d0
[28385.183760]  schedule+0x43/0xd0
[28385.183763]  schedule_timeout+0x299/0x3d0
[28385.183767]  ? __switch_to_asm+0x40/0x70
[28385.183771]  wait_for_common+0xeb/0x190
[28385.183774]  ? wake_up_q+0x60/0x60
[28385.183779]  __flush_work+0x130/0x1e0
[28385.183782]  ? flush_workqueue_prep_pwqs+0x130/0x130
[28385.183786]  __cancel_work_timer+0x123/0x1b0
[28385.183792]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[28385.183801]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[28385.183808]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[28385.183818]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[28385.183822]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[28385.183827]  pci_try_reset_function+0x38/0x70
[28385.183830]  process_one_work+0x1d1/0x3a0
[28385.183833]  worker_thread+0x4a/0x3d0
[28385.183837]  kthread+0xfb/0x130
[28385.183839]  ? process_one_work+0x3a0/0x3a0
[28385.183841]  ? kthread_park+0x80/0x80
[28385.183845]  ret_from_fork+0x35/0x40
[28508.060404] INFO: task kworker/1:2:463945 blocked for more than 1105 seconds.
[28508.060409]       Tainted: G         C        5.3.18-1-surface #1
[28508.060411] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[28508.060413] kworker/1:2     D    0 463945      2 0x80004080
[28508.060424] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[28508.060426] Call Trace:
[28508.060434]  ? __schedule+0x27f/0x6d0
[28508.060437]  schedule+0x43/0xd0
[28508.060440]  schedule_timeout+0x299/0x3d0
[28508.060444]  ? __switch_to_asm+0x40/0x70
[28508.060447]  wait_for_common+0xeb/0x190
[28508.060451]  ? wake_up_q+0x60/0x60
[28508.060455]  __flush_work+0x130/0x1e0
[28508.060458]  ? flush_workqueue_prep_pwqs+0x130/0x130
[28508.060461]  __cancel_work_timer+0x123/0x1b0
[28508.060466]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[28508.060474]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[28508.060480]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[28508.060487]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[28508.060491]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[28508.060496]  pci_try_reset_function+0x38/0x70
[28508.060499]  process_one_work+0x1d1/0x3a0
[28508.060502]  worker_thread+0x4a/0x3d0
[28508.060504]  kthread+0xfb/0x130
[28508.060507]  ? process_one_work+0x3a0/0x3a0
[28508.060508]  ? kthread_park+0x80/0x80
[28508.060512]  ret_from_fork+0x35/0x40
[28630.940385] INFO: task kworker/1:2:463945 blocked for more than 1228 seconds.
[28630.940389]       Tainted: G         C        5.3.18-1-surface #1
[28630.940390] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[28630.940391] kworker/1:2     D    0 463945      2 0x80004080
[28630.940400] Workqueue: events mwifiex_pcie_work [mwifiex_pcie]
[28630.940401] Call Trace:
[28630.940408]  ? __schedule+0x27f/0x6d0
[28630.940411]  schedule+0x43/0xd0
[28630.940413]  schedule_timeout+0x299/0x3d0
[28630.940415]  ? __switch_to_asm+0x40/0x70
[28630.940417]  wait_for_common+0xeb/0x190
[28630.940420]  ? wake_up_q+0x60/0x60
[28630.940422]  __flush_work+0x130/0x1e0
[28630.940424]  ? flush_workqueue_prep_pwqs+0x130/0x130
[28630.940426]  __cancel_work_timer+0x123/0x1b0
[28630.940429]  mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
[28630.940436]  mwifiex_free_adapter+0x24/0xe0 [mwifiex]
[28630.940440]  _mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
[28630.940445]  mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
[28630.940447]  mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
[28630.940450]  pci_try_reset_function+0x38/0x70
[28630.940452]  process_one_work+0x1d1/0x3a0
[28630.940454]  worker_thread+0x4a/0x3d0
[28630.940456]  kthread+0xfb/0x130
[28630.940458]  ? process_one_work+0x3a0/0x3a0
[28630.940459]  ? kthread_park+0x80/0x80
[28630.940461]  ret_from_fork+0x35/0x40

System Info

                   -`                 
                  .o+`                 magodo@magodosurface
                 `ooo/                 OS: Arch Linux 
                `+oooo:                Kernel: x86_64 Linux 5.3.18-1-surface
               `+oooooo:               Uptime: 2m
               -+oooooo+:              Packages: 1134
             `/:-:++oooo+:             Shell: zsh 5.7.1
            `/++++/+++++++:            Resolution: 3000x2000
           `/++++++++++++++:           DE: GNOME 3.34.2
          `/+++ooooooooooooo/`         WM: Mutter
         ./ooosssso++osssssso+`        WM Theme: 
        .oossssso-````/ossssss+`       GTK Theme: X-Arc-White [GTK2/3]
       -osssssso.      :ssssssso.      Icon Theme: Adwaita
      :osssssss/        osssso+++.     Font: Cantarell 11
     /ossssssss/        +ssssooo/-     Disk: 79G / 465G (18%)
   `/ossssso+/:-        -:/+osssso+-   CPU: Intel Core i7-8650U @ 8x 4.2GHz [45.0°C]
  `+sso+:-`                 `.-/+oso:  GPU: Intel Corporation UHD Graphics 620 (rev 07)
Intel Corporation Sunrise Point-LP Integrated Sensor Hub (rev 21)
 `++:.                           `-/+/ RAM: 3467MiB / 15940MiB
 .`                                 `/

magodo avatar Feb 07 '20 09:02 magodo

I have the similar issue using Manjaro. When the pressure on wifi is high (torrents, for example), mwifiex_pcie crashes immediately and wifi stops working. Only reboot can make it work again. Also it might happen after waking up from lockscreen or randomly at all.

xorpix avatar Feb 10 '20 17:02 xorpix

Same issue on manjaro. Happened for all versions of 5.3.18, but didn't happen on 5.4.6-1. I upgraded to 5.5.3-1 yesterday and have had mwifiex_pcie crash again (when torrenting). Does seem to only happen when pressure is "high" for me. On restart I usually have to do a hard reboot as just rebooting times out and then stops, though I haven't investigated why yet.

drkthomp avatar Feb 19 '20 22:02 drkthomp

Looks like 5.5.4 fixed this for me.

xorpix avatar Feb 20 '20 10:02 xorpix