Message ID | 1413729707-1682-1-git-send-email-andrew@lunn.ch |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Andrew Lunn <andrew@lunn.ch> Date: Sun, 19 Oct 2014 16:41:47 +0200 > The check for the presence or not of the optional switch function > get_phy_flags() called the function, rather than checked to see if it > is a NULL pointer. This causes a derefernce of a NULL pointer on all > switch chips except the sf2, the only switch to implement this call. > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> > Fixes: 6819563e646a ("net: dsa: allow switch drivers to specify phy_device::dev_flags") > Cc: Florian Fainelli <f.fainelli@gmail.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 9d3b12b4e03c..fbcba4bc4e08 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -596,7 +596,7 @@ dsa_slave_create(struct dsa_switch *ds, struct device *parent, netif_carrier_off(slave_dev); if (p->phy != NULL) { - if (ds->drv->get_phy_flags(ds, port)) + if (ds->drv->get_phy_flags) p->phy->dev_flags |= ds->drv->get_phy_flags(ds, port); phy_attach(slave_dev, dev_name(&p->phy->dev),
The check for the presence or not of the optional switch function get_phy_flags() called the function, rather than checked to see if it is a NULL pointer. This causes a derefernce of a NULL pointer on all switch chips except the sf2, the only switch to implement this call. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Fixes: 6819563e646a ("net: dsa: allow switch drivers to specify phy_device::dev_flags") Cc: Florian Fainelli <f.fainelli@gmail.com> --- v2: Don't truncate the Fixes subject. net/dsa/slave.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)