net: macb: fix phy interrupt parsing
[ Upstream commit ae3696c167cc04d32634c4af82f43b446c5176b0 ] Since 83a77e9ec415, the phydev irq is explicitly set to PHY_POLL when there is no pdata. It doesn't work on DT enabled platforms because the phydev irq is already set by libphy before. Fixes: 83a77e9ec415 ("net: macb: Added PCI wrapper for Platform Driver.") Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
acc7c954b0
commit
c0e5b847c7
@ -432,15 +432,17 @@ static int macb_mii_probe(struct net_device *dev)
|
||||
}
|
||||
|
||||
pdata = dev_get_platdata(&bp->pdev->dev);
|
||||
if (pdata && gpio_is_valid(pdata->phy_irq_pin)) {
|
||||
ret = devm_gpio_request(&bp->pdev->dev, pdata->phy_irq_pin,
|
||||
"phy int");
|
||||
if (!ret) {
|
||||
phy_irq = gpio_to_irq(pdata->phy_irq_pin);
|
||||
phydev->irq = (phy_irq < 0) ? PHY_POLL : phy_irq;
|
||||
if (pdata) {
|
||||
if (gpio_is_valid(pdata->phy_irq_pin)) {
|
||||
ret = devm_gpio_request(&bp->pdev->dev,
|
||||
pdata->phy_irq_pin, "phy int");
|
||||
if (!ret) {
|
||||
phy_irq = gpio_to_irq(pdata->phy_irq_pin);
|
||||
phydev->irq = (phy_irq < 0) ? PHY_POLL : phy_irq;
|
||||
}
|
||||
} else {
|
||||
phydev->irq = PHY_POLL;
|
||||
}
|
||||
} else {
|
||||
phydev->irq = PHY_POLL;
|
||||
}
|
||||
|
||||
/* attach the mac to the phy */
|
||||
|
Loading…
x
Reference in New Issue
Block a user