[PATCH v6 30/33] staging: mt7621-pci: enable interrupt when port is being enabled

Sergio Paracuellos sergio.paracuellos at gmail.com
Sun Nov 4 10:49:56 UTC 2018


Interrupt is being enabled in port initialization when the port phy
has not been initialized yet. Just enable the interrupt when the port
is being enabled which is a more accurate place for this.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos at gmail.com>
---
 drivers/staging/mt7621-pci/pci-mt7621.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/mt7621-pci/pci-mt7621.c b/drivers/staging/mt7621-pci/pci-mt7621.c
index 8b7c63d..5f7ff70 100644
--- a/drivers/staging/mt7621-pci/pci-mt7621.c
+++ b/drivers/staging/mt7621-pci/pci-mt7621.c
@@ -601,10 +601,6 @@ static int mt7621_pcie_init_port(struct mt7621_pcie_port *port)
 		port->enabled = false;
 	} else {
 		port->enabled = true;
-		/* enable pcie interrupt */
-		val = pcie_read(pcie, RALINK_PCI_PCIMSK_ADDR);
-		val |= PCIE_PORT_INT_EN(slot);
-		pcie_write(pcie, val, RALINK_PCI_PCIMSK_ADDR);
 	}
 
 	mt7621_enable_phy(port);
@@ -667,6 +663,11 @@ static void mt7621_pcie_enable_ports(struct mt7621_pcie *pcie)
 				continue;
 			}
 
+			/* enable pcie interrupt */
+			val = pcie_read(pcie, RALINK_PCI_PCIMSK_ADDR);
+			val |= PCIE_PORT_INT_EN(slot);
+			pcie_write(pcie, val, RALINK_PCI_PCIMSK_ADDR);
+
 			/* map 2G DDR region */
 			pcie_write(pcie, PCIE_BAR_MAP_MAX | PCIE_BAR_ENABLE,
 				   offset + RALINK_PCI_BAR0SETUP_ADDR);
-- 
2.7.4



More information about the devel mailing list