linux/drivers/net
Vadim Pasternak f1436c8036 mlxsw: core: Prevent reading unsupported slave address from SFP EEPROM
Prevent reading unsupported slave address from SFP EEPROM by testing
Diagnostic Monitoring Type byte in EEPROM. Read only page zero of
EEPROM, in case this byte is zero.

If some SFP transceiver does not support Digital Optical Monitoring
(DOM), reading SFP EEPROM slave address 0x51 could return an error.
Availability of DOM support is verified by reading from zero page
Diagnostic Monitoring Type byte describing how diagnostic monitoring is
implemented by transceiver. If bit 6 of this byte is set, it indicates
that digital diagnostic monitoring has been implemented. Otherwise it is
not and transceiver could fail to reply to transaction for slave address
0x51 [1010001X (A2h)], which is used to access measurements page.

Such issue has been observed when reading cable MCP2M00-xxxx,
MCP7F00-xxxx, and few others.

Fixes: 2ea109039c ("mlxsw: spectrum: Add support for access cable info via ethtool")
Fixes: 4400081b63 ("mlxsw: spectrum: Fix EEPROM access in case of SFP/SFP+")
Signed-off-by: Vadim Pasternak <vadimp@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-05-18 13:13:40 -07:00
..
appletalk
arcnet
bonding bonding: fix arp_validate toggling in active-backup mode 2019-05-13 09:43:46 -07:00
caif
can
dsa net: dsa: sja1105: Don't return a negative in u8 sja1105_stp_state_get 2019-05-08 13:57:50 -07:00
ethernet mlxsw: core: Prevent reading unsupported slave address from SFP EEPROM 2019-05-18 13:13:40 -07:00
fddi
fjes
hamradio
hippi net: hippi:Fix misuse of %x in rrunner.c 2019-04-21 10:37:26 -07:00
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-07 17:22:09 -07:00
ieee802154 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-02 22:14:21 -04:00
ipvlan
netdevsim netdevsim: Make nsim_num_vf static 2019-05-05 10:48:45 -07:00
phy net: phy: aquantia: readd XGMII support for AQR107 2019-05-16 12:14:07 -07:00
plip
ppp ppp: deflate: Fix possible crash in deflate_init 2019-05-14 15:41:55 -07:00
slip slip: make slhc_free() silently accept an error pointer 2019-04-26 18:19:09 -07:00
team genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
usb aqc111: cleanup mtu related logic 2019-05-16 14:22:13 -07:00
vmxnet3
wan
wimax wimax/i2400m: use struct_size() helper 2019-05-04 00:04:31 -04:00
wireless net: wireless: mt76: fix similar warning reported by kbuild test robot 2019-05-10 15:14:29 -07:00
xen-netback xen-netback: add reference from xenvif to backend_info to facilitate coredump analysis 2019-04-12 10:10:28 -07:00
dummy.c net: dummy: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
eql.c
geneve.c
gtp.c genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: loopback: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
macsec.c genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
macvlan.c macvlan: disable SIOCSHWTSTAMP in container 2019-05-09 09:30:35 -07:00
macvtap.c
Makefile net: Always descend into dsa/ 2019-05-14 15:20:11 -07:00
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c sb1000: fix variable set but not used warnings 2019-04-18 17:06:15 -07:00
Space.c
sungem_phy.c
tap.c
thunderbolt.c net: thunderbolt: Unregister ThunderboltIP protocol handler when suspending 2019-04-18 11:18:51 +03:00
tun.c tuntap: synchronize through tfiles array instead of tun->numqueues 2019-05-09 09:21:42 -07:00
veth.c net: veth: use generic helper to report timestamping info 2019-04-12 16:26:37 -07:00
virtio_net.c
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-25 23:52:29 -04:00
vsockmon.c
vxlan.c
xen-netfront.c xen-netfront: mark expected switch fall-through 2019-04-16 21:03:02 -07:00