• Lorenzo Bianconi's avatar
    mt76: mt76x2: fix pci suspend/resume on mt7612e · 40ba9a93
    Lorenzo Bianconi authored
    Fix the following mt7612e hw hangs during suspend/resume reported on
    Dell Vostro 3360
    
    mt76x2e 0000:01:00.0: MCU message 2 (seq 11) timed out
    mt76x2e 0000:01:00.0: MCU message 30 (seq 12) timed out
    mt76x2e 0000:01:00.0: MCU message 30 (seq 13) timed out
    mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
    mt76x2e 0000:01:00.0: Build: 1
    mt76x2e 0000:01:00.0: Build Time: 201507311614____
    mt76x2e 0000:01:00.0: Firmware running!
    ieee80211 phy0: Hardware restart was requested
    mt76x2e 0000:01:00.0: MCU message 2 (seq 1) timed out
    mt76x2e 0000:01:00.0: MCU message 30 (seq 2) timed out
    mt76x2e 0000:01:00.0: MCU message 30 (seq 3) timed out
    mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
    mt76x2e 0000:01:00.0: Build: 1
    mt76x2e 0000:01:00.0: Build Time: 201507311614____
    mt76x2e 0000:01:00.0: Firmware running!
    ieee80211 phy0: Hardware restart was requested
    mt76x2e 0000:01:00.0: MCU message 31 (seq 5) timed out
    mt76x2e 0000:01:00.0: MCU message 31 (seq 6) timed out
    mt76x2e 0000:01:00.0: MCU message 31 (seq 7) timed out
    mt76x2e 0000:01:00.0: MCU message 31 (seq 8) timed out
    mt76x2e 0000:01:00.0: MCU message 31 (seq 9) timed out
    mt76x2e 0000:01:00.0: MCU message 31 (seq 10) timed out
    mt76x2e 0000:01:00.0: MCU message 31 (seq 11) timed out
    mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
    mt76x2e 0000:01:00.0: Build: 1
    mt76x2e 0000:01:00.0: Build Time: 201507311614____
    mt76x2e 0000:01:00.0: Firmware running!
    ieee80211 phy0: Hardware restart was requested
    ------------[ cut here ]-----------
    CPU: 3 PID: 11956 Comm: kworker/3:1 Not tainted 5.7.0-pf2 #1
    Hardware name: Dell Inc.          Vostro 3360/0F5DWF, BIOS A18 09/25/2013
    Workqueue: events_freezable ieee80211_restart_work [mac80211]
    RIP: 0010:ieee80211_reconfig+0x234/0x1700 [mac80211]
    RSP: 0018:ffffb803c23ffdf0 EFLAGS: 00010286
    RAX: 00000000fffffff0 RBX: ffff9595a7564900 RCX: 0000000000000008
    RDX: 0000000000000000 RSI: 0000000000000100 RDI: 0000000000000100
    RBP: ffff9595a7ec07e0 R08: 0000000000000000 R09: 0000000000000001
    R10: 0000000000000001 R11: 0000000000000000 R12: ffff9595a7ec18d0
    R13: 00000000ffffffff R14: 0000000000000000 R15: 00000000fffffff0
    FS:  0000000000000000(0000) GS:ffff9595af2c0000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 000055e56d7de000 CR3: 000000042200a001 CR4: 00000000001706e0
    Call Trace:
     ieee80211_restart_work+0xb7/0xe0 [mac80211]
     process_one_work+0x1d4/0x3c0
     worker_thread+0x228/0x470
     ? process_one_work+0x3c0/0x3c0
     kthread+0x19c/0x1c0
     ? __kthread_init_worker+0x30/0x30
     ret_from_fork+0x35/0x40
    wlp1s0:  Failed check-sdata-in-driver check, flags: 0x0
    CPU: 3 PID: 11956 Comm: kworker/3:1 Tainted: G        W         5.7.0-pf2 #1
    Hardware name: Dell Inc.          Vostro 3360/0F5DWF, BIOS A18 09/25/2013
    Workqueue: events_freezable ieee80211_restart_work [mac80211]
    RIP: 0010:drv_remove_interface+0x11f/0x130 [mac80211]
    RSP: 0018:ffffb803c23ffc80 EFLAGS: 00010282
    RAX: 0000000000000000 RBX: ffff9595a7564900 RCX: 0000000000000000
    RDX: 0000000000000001 RSI: 0000000000000082 RDI: 00000000ffffffff
    RBP: ffff9595a7ec1930 R08: 00000000000004b6 R09: 0000000000000001
    R10: 0000000000000001 R11: 0000000000006f08 R12: ffff9595a7ec1000
    R13: ffff9595a75654b8 R14: ffff9595a7ec0ca0 R15: ffff9595a7ec07e0
    FS:  0000000000000000(0000) GS:ffff9595af2c0000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 000055e56d7de000 CR3: 000000042200a001 CR4: 00000000001706e0
    Call Trace:
     ieee80211_do_stop+0x5af/0x8c0 [mac80211]
     ieee80211_stop+0x16/0x20 [mac80211]
     __dev_close_many+0xaa/0x120
     dev_close_many+0xa1/0x2b0
     dev_close+0x6d/0x90
     cfg80211_shutdown_all_interfaces+0x71/0xd0 [cfg80211]
     ieee80211_reconfig+0xa2/0x1700 [mac80211]
     ieee80211_restart_work+0xb7/0xe0 [mac80211]
     process_one_work+0x1d4/0x3c0
     worker_thread+0x228/0x470
     ? process_one_work+0x3c0/0x3c0
     kthread+0x19c/0x1c0
     ? __kthread_init_worker+0x30/0x30
     ret_from_fork+0x35/0x40
    
    Fixes: 7bc04215 ("mt76: add driver code for MT76x2e")
    Tested-by: default avatarOleksandr Natalenko <oleksandr@redhat.com>
    Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
    40ba9a93
mt76x2.h 2.41 KB