Skip to content

fix mt76x2e hangs on U7612E mini-pcie

Lorenzo Bianconi linux-wireless netdev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest2 patches 3 repliesIn review
  2. v22 patches 0 repliesSuperseded
  3. v12 patches 16 repliesSuperseded

Changes in v3 from the cover letter

- fix compilation error if PCI support is not compiled

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2mt76: mt76x2e: disable pcie_aspm by defaultdrivers/net/wireless/mediatek/mt76/Makefile drivers/net/wireless/mediatek/mt76/mt76.h drivers/net/wireless/mediatek/mt76/mt76x2/pci.c +1 more+51 -02 replies
2/2mt76: dma: fix buffer unmap with non-linear skbsdrivers/net/wireless/mediatek/mt76/dma.c drivers/net/wireless/mediatek/mt76/mt76.h+7 -40 replies

Reviews trailers per patch

None of the 2 patches has a Reviewed-by or Acked-by.

PatchOleksandr Natalenko
SeriesT-b
1/2T-b
2/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 wireless-drivers 0/2] fix mt76x2e hangs on U7612E mini-pcie

Various mt76x2e issues have been reported on U7612E mini-pcie card [1]. On U7612E-H1 PCIE_ASPM causes continuous mcu hangs and instability and so patch 1/2 disable it by default.
Moreover mt76 does not properly unmap dma buffers for non-linear skbs. This issue may result in hw hangs if the system relies on IOMMU. Patch 2/2 fix the problem properly unmapping data fragments on non-linear skbs.

Changes since v2:
- fix compilation error if PCI support is not compiled

Changes since v1:
- simplify buf0 unmap condition
- use IS_ENABLED(CONFIG_PCIEASPM) instead of ifdef CONFIG_PCIEASPM
- check pci_disable_link_state return value

[1]: https://lore.kernel.org/netdev/[email protected]/

Lorenzo Bianconi (2):
mt76: mt76x2e: disable pcie_aspm by default
mt76: dma: fix buffer unmap with non-linear skbs

 drivers/net/wireless/mediatek/mt76/Makefile   |  2 +
 drivers/net/wireless/mediatek/mt76/dma.c      |  6 ++-
 drivers/net/wireless/mediatek/mt76/mt76.h     |  6 ++-
 .../net/wireless/mediatek/mt76/mt76x2/pci.c   |  2 +
 drivers/net/wireless/mediatek/mt76/pci.c      | 46 +++++++++++++++++++
 5 files changed, 58 insertions(+), 4 deletions(-)
 create mode 100644 drivers/net/wireless/mediatek/mt76/pci.c
Signature · 1 line
2.21.0