mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-01 08:48:08 +00:00
ipq40xx: fix phy interrupt setting
This patch fixes a problem that was discovered during DSA development. On the MR33, the link change events from the external AR8035-PHY would never make it to the qca8k driver. The issue turned out to be a misplaced memcpy that was copying over the zero-initialized irq table, when it should have been set to PHY_POLL. Hence this patch moves the memcpy after the array has been initialized. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This commit is contained in:
parent
39092ad9e9
commit
784f2e73df
@ -2640,7 +2640,6 @@ Subject: [PATCH 30/38] NET: add qualcomm mdio and PHY
|
||||
+ am->mii_bus->name = "ipq40xx_mdio";
|
||||
+ am->mii_bus->read = ipq40xx_mdio_read;
|
||||
+ am->mii_bus->write = ipq40xx_mdio_write;
|
||||
+ memcpy(am->mii_bus->irq, am->phy_irq, sizeof(am->phy_irq));
|
||||
+ am->mii_bus->priv = am;
|
||||
+ am->mii_bus->parent = &pdev->dev;
|
||||
+ snprintf(am->mii_bus->id, MII_BUS_ID_SIZE, "%s", dev_name(&pdev->dev));
|
||||
@ -2648,6 +2647,7 @@ Subject: [PATCH 30/38] NET: add qualcomm mdio and PHY
|
||||
+ for (i = 0; i < PHY_MAX_ADDR; i++)
|
||||
+ am->phy_irq[i] = PHY_POLL;
|
||||
+
|
||||
+ memcpy(am->mii_bus->irq, am->phy_irq, sizeof(am->phy_irq));
|
||||
+ am->dev = &pdev->dev;
|
||||
+ platform_set_drvdata(pdev, am);
|
||||
+
|
||||
|
@ -2640,7 +2640,6 @@ Subject: [PATCH 30/38] NET: add qualcomm mdio and PHY
|
||||
+ am->mii_bus->name = "ipq40xx_mdio";
|
||||
+ am->mii_bus->read = ipq40xx_mdio_read;
|
||||
+ am->mii_bus->write = ipq40xx_mdio_write;
|
||||
+ memcpy(am->mii_bus->irq, am->phy_irq, sizeof(am->phy_irq));
|
||||
+ am->mii_bus->priv = am;
|
||||
+ am->mii_bus->parent = &pdev->dev;
|
||||
+ snprintf(am->mii_bus->id, MII_BUS_ID_SIZE, "%s", dev_name(&pdev->dev));
|
||||
@ -2648,6 +2647,7 @@ Subject: [PATCH 30/38] NET: add qualcomm mdio and PHY
|
||||
+ for (i = 0; i < PHY_MAX_ADDR; i++)
|
||||
+ am->phy_irq[i] = PHY_POLL;
|
||||
+
|
||||
+ memcpy(am->mii_bus->irq, am->phy_irq, sizeof(am->phy_irq));
|
||||
+ am->dev = &pdev->dev;
|
||||
+ platform_set_drvdata(pdev, am);
|
||||
+
|
||||
|
Loading…
x
Reference in New Issue
Block a user