| From foo@baz Thu Dec  5 16:16:37 PST 2013 | 
 | From: Dan Carpenter <dan.carpenter@oracle.com> | 
 | Date: Wed, 13 Nov 2013 10:52:47 +0300 | 
 | Subject: net: mv643xx_eth: potential NULL dereference in probe() | 
 |  | 
 | From: Dan Carpenter <dan.carpenter@oracle.com> | 
 |  | 
 | upstream commit 6115c11fe1a5a636ac99fc823b00df4ff3c0674e | 
 |  | 
 | We assume that "mp->phy" can be NULL a couple lines before the | 
 | dereference. | 
 |  | 
 | Fixes: 1cce16d37d0f ('net: mv643xx_eth: Add missing phy_addr_set in DT mode') | 
 | Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> | 
 | Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 
 | Acked-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> | 
 | Signed-off-by: David S. Miller <davem@davemloft.net> | 
 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 
 | --- | 
 |  drivers/net/ethernet/marvell/mv643xx_eth.c |    3 ++- | 
 |  1 file changed, 2 insertions(+), 1 deletion(-) | 
 |  | 
 | --- a/drivers/net/ethernet/marvell/mv643xx_eth.c | 
 | +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c | 
 | @@ -2890,7 +2890,8 @@ static int mv643xx_eth_probe(struct plat | 
 |  					 PHY_INTERFACE_MODE_GMII); | 
 |  		if (!mp->phy) | 
 |  			err = -ENODEV; | 
 | -		phy_addr_set(mp, mp->phy->addr); | 
 | +		else | 
 | +			phy_addr_set(mp, mp->phy->addr); | 
 |  	} else if (pd->phy_addr != MV643XX_ETH_PHY_NONE) { | 
 |  		mp->phy = phy_scan(mp, pd->phy_addr); | 
 |   |