summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLothar Waßmann <LW@KARO-electronics.de>2013-03-21 02:20:11 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-04-05 09:26:19 -0700
commit4a2438e61cf83c3173766d77216b3dba25d65583 (patch)
tree209403f03e0360e61f7bb0f68fa23f771de22519
parent09269638aab0f527678426fe9258b384fe6bb103 (diff)
net: ethernet: cpsw: fix erroneous condition in error check
[ Upstream commit ce16294fda230c787ce5c35f61b2f80d14d70a72 ] The error check in cpsw_probe_dt() has an '&&' where an '||' is meant to be. This causes a NULL pointer dereference when incomplet DT data is passed to the driver ('phy_id' property for cpsw_emac1 missing). Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/ethernet/ti/cpsw.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index b85ca6b2c19b..3b1be52ccf8d 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -1111,7 +1111,7 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data,
struct platform_device *mdio;
parp = of_get_property(slave_node, "phy_id", &lenp);
- if ((parp == NULL) && (lenp != (sizeof(void *) * 2))) {
+ if ((parp == NULL) || (lenp != (sizeof(void *) * 2))) {
pr_err("Missing slave[%d] phy_id property\n", i);
ret = -EINVAL;
goto error_ret;