1. 22 7月, 2020 1 次提交
  2. 23 6月, 2020 1 次提交
  3. 28 5月, 2020 2 次提交
    • F
      mt76: only iterate over initialized rx queues · f473b42a
      Felix Fietkau 提交于
      Fixes the following reported crash:
      
      [    2.361127] BUG: spinlock bad magic on CPU#0, modprobe/456
      [    2.361583]  lock: 0xffffa1287525b3b8, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
      [    2.362250] CPU: 0 PID: 456 Comm: modprobe Not tainted 4.14.177 #5
      [    2.362751] Hardware name: HP Meep/Meep, BIOS Google_Meep.11297.75.0 06/17/2019
      [    2.363343] Call Trace:
      [    2.363552]  dump_stack+0x97/0xdb
      [    2.363826]  ? spin_bug+0xa6/0xb3
      [    2.364096]  do_raw_spin_lock+0x6a/0x9a
      [    2.364417]  mt76_dma_rx_fill+0x44/0x1de [mt76]
      [    2.364787]  ? mt76_dma_kick_queue+0x18/0x18 [mt76]
      [    2.365184]  mt76_dma_init+0x53/0x85 [mt76]
      [    2.365532]  mt7615_dma_init+0x3d7/0x546 [mt7615e]
      [    2.365928]  mt7615_register_device+0xe6/0x1a0 [mt7615e]
      [    2.366364]  mt7615_mmio_probe+0x14b/0x171 [mt7615e]
      [    2.366771]  mt7615_pci_probe+0x118/0x13b [mt7615e]
      [    2.367169]  pci_device_probe+0xaf/0x13d
      [    2.367491]  driver_probe_device+0x284/0x2ca
      [    2.367840]  __driver_attach+0x7a/0x9e
      [    2.368146]  ? driver_attach+0x1f/0x1f
      [    2.368451]  bus_for_each_dev+0xa0/0xdb
      [    2.368765]  bus_add_driver+0x132/0x204
      [    2.369078]  driver_register+0x8e/0xcd
      [    2.369384]  do_one_initcall+0x160/0x257
      [    2.369706]  ? 0xffffffffc0240000
      [    2.369980]  do_init_module+0x60/0x1bb
      [    2.370286]  load_module+0x18c2/0x1a2b
      [    2.370596]  ? kernel_read_file+0x141/0x1b9
      [    2.370937]  ? kernel_read_file_from_fd+0x46/0x71
      [    2.371320]  SyS_finit_module+0xcc/0xf0
      [    2.371636]  do_syscall_64+0x6b/0xf7
      [    2.371930]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
      [    2.372344] RIP: 0033:0x7da218ae4199
      [    2.372637] RSP: 002b:00007fffd0608398 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
      [    2.373252] RAX: ffffffffffffffda RBX: 00005a705449df90 RCX: 00007da218ae4199
      [    2.373833] RDX: 0000000000000000 RSI: 00005a7052e73bd8 RDI: 0000000000000006
      [    2.374411] RBP: 00007fffd06083e0 R08: 0000000000000000 R09: 00005a705449d540
      [    2.374989] R10: 0000000000000006 R11: 0000000000000246 R12: 0000000000000000
      [    2.375569] R13: 00005a705449def0 R14: 00005a7052e73bd8 R15: 0000000000000000
      Reported-by: NSean Wang <sean.wang@mediatek.com>
      Fixes: d3377b78 ("mt76: add HE phy modes and hardware queue")
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      f473b42a
    • F
      mt76: fix per-driver wcid range checks after wcid array size bump · 238f5d6f
      Felix Fietkau 提交于
      All drivers before MT7915 have a limit of 128 WCID entries. Stop relying
      on ARRAY_SIZE(dev->mt76.wcid), since it no longer reflects that limit.
      
      Fixes: 49e649c3 ("mt76: adjust wcid size to support new 802.11ax generation")
      Reported-by: Nkbuild test robot <lkp@intel.com>
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      238f5d6f
  4. 13 5月, 2020 1 次提交
    • F
      mt76: mt76x02: fix handling MCU timeouts during hw restart · fd6c2dfa
      Felix Fietkau 提交于
      If a MCU timeout occurs before a hw restart completes, another hw restart
      is scheduled, and the station state gets corrupted.
      To speed up dealing with that, do not issue any MCU commands after the first
      timeout, and defer handling timeouts until the reset has completed.
      Also ignore errors in MCU commands during start/config to avoid making user
      space fail on this condition. If it happens, another restart is scheduled
      quickly, and that usually recovers the hardware properly.
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      fd6c2dfa
  5. 18 3月, 2020 1 次提交
  6. 14 2月, 2020 7 次提交
  7. 20 11月, 2019 1 次提交
  8. 05 9月, 2019 2 次提交
  9. 25 6月, 2019 2 次提交
  10. 01 5月, 2019 20 次提交
  11. 19 3月, 2019 1 次提交
    • L
      mt76: fix schedule while atomic in mt76x02_reset_state · 13f61dfc
      Lorenzo Bianconi 提交于
      Fix following schedule while atomic in mt76x02_reset_state
      since synchronize_rcu is run inside a RCU section
      
      [44036.944222] mt76x2e 0000:06:00.0: MCU message 31 (seq 3) timed out
      [44036.944281] BUG: sleeping function called from invalid context at kernel/rcu/tree_exp.h:818
      [44036.944284] in_atomic(): 1, irqs_disabled(): 0, pid: 28066, name: kworker/u4:1
      [44036.944287] INFO: lockdep is turned off.
      [44036.944292] CPU: 1 PID: 28066 Comm: kworker/u4:1 Tainted: G        W         5.0.0-rc7-wdn-t1+ #7
      [44036.944294] Hardware name: Dell Inc. Studio XPS 1340/0K183D, BIOS A11 09/08/2009
      [44036.944305] Workqueue: phy1 mt76x02_wdt_work [mt76x02_lib]
      [44036.944308] Call Trace:
      [44036.944317]  dump_stack+0x67/0x90
      [44036.944322]  ___might_sleep.cold.88+0x9f/0xaf
      [44036.944327]  rcu_blocking_is_gp+0x13/0x50
      [44036.944330]  synchronize_rcu+0x17/0x80
      [44036.944337]  mt76_sta_state+0x138/0x1d0 [mt76]
      [44036.944349]  mt76x02_wdt_work+0x1c9/0x610 [mt76x02_lib]
      [44036.944355]  process_one_work+0x2a5/0x620
      [44036.944361]  worker_thread+0x35/0x3e0
      [44036.944368]  kthread+0x11c/0x140
      [44036.944376]  ret_from_fork+0x3a/0x50
      [44036.944384] BUG: scheduling while atomic: kworker/u4:1/28066/0x00000002
      [44036.944387] INFO: lockdep is turned off.
      [44036.944389] Modules linked in: cmac ctr ccm af_packet snd_hda_codec_hdmi
      
      Introduce __mt76_sta_remove in order to run sta_remove without holding dev->mutex.
      Move __mt76_sta_remove outside of RCU section in mt76x02_reset_state
      
      Fixes: e4ebb8b403d1 ("mt76: mt76x2: implement full device restart on watchdog reset")
      Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      13f61dfc
  12. 07 3月, 2019 1 次提交