From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Fainelli Subject: [PATCH net-next 1/4] net: phy: sfp: Do not reject soldered down modules Date: Tue, 7 Nov 2017 19:49:08 -0800 Message-ID: <20171108034911.16382-2-f.fainelli@gmail.com> References: <20171108034911.16382-1-f.fainelli@gmail.com> Cc: davem@davemloft.net, andrew@lunn.ch, rmk+kernel@armlinux.org.uk, Florian Fainelli To: netdev@vger.kernel.org Return-path: Received: from mail-oi0-f65.google.com ([209.85.218.65]:46276 "EHLO mail-oi0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751100AbdKHDtU (ORCPT ); Tue, 7 Nov 2017 22:49:20 -0500 Received: by mail-oi0-f65.google.com with SMTP id s144so507093oih.3 for ; Tue, 07 Nov 2017 19:49:19 -0800 (PST) In-Reply-To: <20171108034911.16382-1-f.fainelli@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: The SFP module identification code in sfp_sm_mod_probe() will reject SFF modules soldered down because they have an identified of 0x2, while the code currently checks for 0x3 only (SFP_PHYS_ID_SFP), update that. Signed-off-by: Florian Fainelli --- drivers/net/phy/sfp.c | 5 +++-- include/linux/sfp.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c index e381811e5f11..942288aa9cdb 100644 --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c @@ -463,8 +463,9 @@ static int sfp_sm_mod_probe(struct sfp *sfp) vendor, part, rev, sn, date); /* We only support SFP modules, not the legacy GBIC modules. */ - if (sfp->id.base.phys_id != SFP_PHYS_ID_SFP || - sfp->id.base.phys_ext_id != SFP_PHYS_EXT_ID_SFP) { + if ((sfp->id.base.phys_id != SFP_PHYS_ID_SFP && + sfp->id.base.phys_id != SFP_PHYS_ID_SFF) || + sfp->id.base.phys_ext_id != SFP_PHYS_EXT_ID_SFP) { dev_err(sfp->dev, "module is not SFP - phys id 0x%02x 0x%02x\n", sfp->id.base.phys_id, sfp->id.base.phys_ext_id); return -EINVAL; diff --git a/include/linux/sfp.h b/include/linux/sfp.h index 4a906f560817..ee65831fe2c5 100644 --- a/include/linux/sfp.h +++ b/include/linux/sfp.h @@ -222,6 +222,7 @@ enum { SFP_SFF8472_COMPLIANCE = 0x5e, SFP_CC_EXT = 0x5f, + SFP_PHYS_ID_SFF = 0x02, SFP_PHYS_ID_SFP = 0x03, SFP_PHYS_EXT_ID_SFP = 0x04, SFP_CONNECTOR_UNSPEC = 0x00, -- 2.14.1