1. 18 2月, 2022 4 次提交
  2. 16 2月, 2022 8 次提交
  3. 15 2月, 2022 7 次提交
  4. 10 2月, 2022 13 次提交
  5. 04 2月, 2022 3 次提交
  6. 03 2月, 2022 5 次提交
    • L
      mt76: dma: initialize skip_unmap in mt76_dma_rx_fill · 577298ec
      Lorenzo Bianconi 提交于
      Even if it is only a false-positive since skip_buf0/skip_buf1 are only
      used in mt76_dma_tx_cleanup_idx routine, initialize skip_unmap in
      mt76_dma_rx_fill in order to fix the following UBSAN report:
      
      [   13.924906] UBSAN: invalid-load in linux-5.15.0/drivers/net/wireless/mediatek/mt76/dma.c:162:13
      [   13.924909] load of value 225 is not a valid value for type '_Bool'
      [   13.924912] CPU: 9 PID: 672 Comm: systemd-udevd Not tainted 5.15.0-18-generic #18-Ubuntu
      [   13.924914] Hardware name: LENOVO 21A0000CMX/21A0000CMX, BIOS R1MET43W (1.13 ) 11/05/2021
      [   13.924915] Call Trace:
      [   13.924917]  <TASK>
      [   13.924920]  show_stack+0x52/0x58
      [   13.924925]  dump_stack_lvl+0x4a/0x5f
      [   13.924931]  dump_stack+0x10/0x12
      [   13.924932]  ubsan_epilogue+0x9/0x45
      [   13.924934]  __ubsan_handle_load_invalid_value.cold+0x44/0x49
      [   13.924935]  ? __iommu_dma_map+0x84/0xf0
      [   13.924939]  mt76_dma_add_buf.constprop.0.cold+0x23/0x85 [mt76]
      [   13.924949]  mt76_dma_rx_fill.isra.0+0x102/0x1f0 [mt76]
      [   13.924954]  mt76_dma_init+0xc9/0x150 [mt76]
      [   13.924959]  ? mt7921_dma_enable+0x110/0x110 [mt7921e]
      [   13.924966]  mt7921_dma_init+0x1e3/0x260 [mt7921e]
      [   13.924970]  mt7921_register_device+0x29d/0x510 [mt7921e]
      [   13.924975]  mt7921_pci_probe.part.0+0x17f/0x1b0 [mt7921e]
      [   13.924980]  mt7921_pci_probe+0x43/0x60 [mt7921e]
      [   13.924984]  local_pci_probe+0x4b/0x90
      [   13.924987]  pci_device_probe+0x115/0x1f0
      [   13.924989]  really_probe+0x21e/0x420
      [   13.924992]  __driver_probe_device+0x115/0x190
      [   13.924994]  driver_probe_device+0x23/0xc0
      [   13.924996]  __driver_attach+0xbd/0x1d0
      [   13.924998]  ? __device_attach_driver+0x110/0x110
      [   13.924999]  bus_for_each_dev+0x7e/0xc0
      [   13.925001]  driver_attach+0x1e/0x20
      [   13.925003]  bus_add_driver+0x135/0x200
      [   13.925005]  driver_register+0x95/0xf0
      [   13.925008]  ? 0xffffffffc0766000
      [   13.925010]  __pci_register_driver+0x68/0x70
      [   13.925011]  mt7921_pci_driver_init+0x23/0x1000 [mt7921e]
      [   13.925015]  do_one_initcall+0x48/0x1d0
      [   13.925019]  ? kmem_cache_alloc_trace+0x19e/0x2e0
      [   13.925022]  do_init_module+0x62/0x280
      [   13.925025]  load_module+0xac9/0xbb0
      [   13.925027]  __do_sys_finit_module+0xbf/0x120
      [   13.925029]  __x64_sys_finit_module+0x18/0x20
      [   13.925030]  do_syscall_64+0x5c/0xc0
      [   13.925033]  ? do_syscall_64+0x69/0xc0
      [   13.925034]  ? sysvec_reschedule_ipi+0x78/0xe0
      [   13.925036]  ? asm_sysvec_reschedule_ipi+0xa/0x20
      [   13.925039]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [   13.925040] RIP: 0033:0x7fbf2b90f94d
      [   13.925045] RSP: 002b:00007ffe2ec7e5d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
      [   13.925047] RAX: ffffffffffffffda RBX: 000056106b0634e0 RCX: 00007fbf2b90f94d
      [   13.925048] RDX: 0000000000000000 RSI: 00007fbf2baa3441 RDI: 0000000000000013
      [   13.925049] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000002
      [   13.925050] R10: 0000000000000013 R11: 0000000000000246 R12: 00007fbf2baa3441
      [   13.925051] R13: 000056106b062620 R14: 000056106b0610c0 R15: 000056106b0640d0
      [   13.925053]  </TASK>
      Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org>
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      577298ec
    • L
      mt76: do not always copy ethhdr in reverse_frag0_hdr_trans · eea7437e
      Lorenzo Bianconi 提交于
      Do not always copy ethernet header in mt{7615,7915,7921}_reverse_frag0_hdr_trans
      and use a pointer instead.
      Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org>
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      eea7437e
    • F
      mt76: mt76x02: use mt76_phy_dfs_state to determine radar detector state · 5b7cc6d1
      Felix Fietkau 提交于
      Fixes corner cases in enabling/disabling detector
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      5b7cc6d1
    • F
      mt76: mt7615: fix/rewrite the dfs state handling logic · 2c86f675
      Felix Fietkau 提交于
      Copy the updated logic from mt7915 to to fix issues in handling DFS radar
      detector states
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      2c86f675
    • F
      mt76: mt7915: fix/rewrite the dfs state handling logic · 3f306448
      Felix Fietkau 提交于
      Client mode on DFS channels was broken, because the old code was activating
      the DFS detector on radar channels while leaving it in CAC state.
      This was caused by making the decision based on the channel radar flag,
      instead of hw->conf.radar_enabled.
      In order to properly deal with the various corner cases, rip out the state
      handling code and replace it with something that's much easier to reason
      about.
      Tested-by: NLorenzo Bianconi <lorenzo@kernel.org>
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      3f306448