summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorThanneeru Srinivasulu2015-07-29 15:49:46 +0200
committerDavid S. Miller2015-07-30 08:52:32 +0200
commit60f83c898776c363ef8ebb66f14cbc748c1df1e8 (patch)
treeee27afe8ce9af746388306f50e060c8018fe0e21 /drivers/net
parentnet: thunderx: Add PCI driver shutdown routine (diff)
downloadkernel-qcow2-linux-60f83c898776c363ef8ebb66f14cbc748c1df1e8.tar.gz
kernel-qcow2-linux-60f83c898776c363ef8ebb66f14cbc748c1df1e8.tar.xz
kernel-qcow2-linux-60f83c898776c363ef8ebb66f14cbc748c1df1e8.zip
net: thunderx: Fix for crash while BGX teardown
Cortina phy does not have kernel driver and we don't attach device with phy layer for intefaces like XFI, XLAUI etc, Hence check for interface type before calling disconnect. Signed-off-by: Thanneeru Srinivasulu <tsrinivasulu@caviumnetworks.com> Signed-off-by: Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/cavium/thunder/thunder_bgx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
index 633ec05dfe05..b961a89dc626 100644
--- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
@@ -673,7 +673,10 @@ static void bgx_lmac_disable(struct bgx *bgx, u8 lmacid)
bgx_reg_write(bgx, lmacid, BGX_CMRX_CFG, cmrx_cfg);
bgx_flush_dmac_addrs(bgx, lmacid);
- if (lmac->phydev)
+ if ((bgx->lmac_type != BGX_MODE_XFI) &&
+ (bgx->lmac_type != BGX_MODE_XLAUI) &&
+ (bgx->lmac_type != BGX_MODE_40G_KR) &&
+ (bgx->lmac_type != BGX_MODE_10G_KR) && lmac->phydev)
phy_disconnect(lmac->phydev);
lmac->phydev = NULL;