Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756738AbcJGPO2 (ORCPT ); Fri, 7 Oct 2016 11:14:28 -0400 Received: from skprod2.natinst.com ([130.164.80.23]:52511 "EHLO ni.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751294AbcJGPOU (ORCPT ); Fri, 7 Oct 2016 11:14:20 -0400 From: Xander Huff To: nicolas.ferre@atmel.com Cc: netdev@vger.kernel.org, Nathan Sullivan , linux-kernel@vger.kernel.org, xander.huff@ni.com, Brad Mouring Subject: [PATCH] net: macb: NULL out phydev after removing mdio bus Date: Fri, 7 Oct 2016 10:13:22 -0500 Message-Id: <1475853202-19903-1-git-send-email-xander.huff@ni.com> X-Mailer: git-send-email 1.9.1 X-MIMETrack: Itemize by SMTP Server on US-AUS-MGWOut1/AUS/H/NIC(Release 8.5.3FP6 HF1218|December 12, 2014) at 10/07/2016 10:14:14 AM, Serialize by Router on US-AUS-MGWOut1/AUS/H/NIC(Release 8.5.3FP6 HF1218|December 12, 2014) at 10/07/2016 10:14:18 AM, Serialize complete at 10/07/2016 10:14:18 AM X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-10-07_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1012 Lines: 28 From: Nathan Sullivan To ensure the dev->phydev pointer is not used after becoming invalid in mdiobus_unregister, set it to NULL. This happens when removing the macb driver without first taking its interface down, since unregister_netdev will end up calling macb_close. Signed-off-by: Xander Huff Signed-off-by: Nathan Sullivan Signed-off-by: Brad Mouring --- drivers/net/ethernet/cadence/macb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c index 63144bb..b32444a 100644 --- a/drivers/net/ethernet/cadence/macb.c +++ b/drivers/net/ethernet/cadence/macb.c @@ -3117,6 +3117,7 @@ static int macb_remove(struct platform_device *pdev) if (dev->phydev) phy_disconnect(dev->phydev); mdiobus_unregister(bp->mii_bus); + dev->phydev = NULL; mdiobus_free(bp->mii_bus); /* Shutdown the PHY if there is a GPIO reset */ -- 1.9.1