From: Sergio Paracuellos Date: Sun, 4 Nov 2018 10:49:56 +0000 (+0100) Subject: staging: mt7621-pci: enable interrupt when port is being enabled X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1e80699fd6a5e3f6940aa1209c30ca1b02f57819;p=openwrt%2Fstaging%2Fblogic.git staging: mt7621-pci: enable interrupt when port is being enabled 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/mt7621-pci/pci-mt7621.c b/drivers/staging/mt7621-pci/pci-mt7621.c index 8b7c63d7e353..5f7ff70e289f 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);