From 7cb022d0e0c70007c13225be2b556c48a53accce Mon Sep 17 00:00:00 2001 From: rany Date: Mon, 22 May 2023 00:26:04 +0300 Subject: [PATCH] mt76: mt7915: fix MT_PCIE1_MAC_INT_ENABLE reg being used for mt7916 mt7915_mac_restart was not checking if mdev is mt7915, causing it to use the wrong register to start/stop interrupt for hif2 device. Signed-off-by: rany --- mt7915/mac.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/mt7915/mac.c b/mt7915/mac.c index a3ed4ddfd..c71aaafb1 100644 --- a/mt7915/mac.c +++ b/mt7915/mac.c @@ -1383,8 +1383,12 @@ mt7915_mac_restart(struct mt7915_dev *dev) if (dev_is_pci(mdev->dev)) { mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0x0); - if (dev->hif2) - mt76_wr(dev, MT_PCIE1_MAC_INT_ENABLE, 0x0); + if (dev->hif2) { + if (is_mt7915(mdev)) + mt76_wr(dev, MT_PCIE1_MAC_INT_ENABLE, 0x0); + else + mt76_wr(dev, MT_PCIE1_MAC_INT_ENABLE_MT7916, 0x0); + } } set_bit(MT76_RESET, &dev->mphy.state); @@ -1434,8 +1438,12 @@ mt7915_mac_restart(struct mt7915_dev *dev) } if (dev_is_pci(mdev->dev)) { mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff); - if (dev->hif2) - mt76_wr(dev, MT_PCIE1_MAC_INT_ENABLE, 0xff); + if (dev->hif2) { + if (is_mt7915(mdev)) + mt76_wr(dev, MT_PCIE1_MAC_INT_ENABLE, 0xff); + else + mt76_wr(dev, MT_PCIE1_MAC_INT_ENABLE_MT7916, 0xff); + } } /* load firmware */