linux-uconsole/drivers/net
Jarod Wilson 218b6e82d0 bonding/802.3ad: fix link_failure_count tracking
commit ea53abfab9 upstream.

Commit 4d2c0cda07 set slave->link to
BOND_LINK_DOWN for 802.3ad bonds whenever invalid speed/duplex values
were read, to fix a problem with slaves getting into weird states, but
in the process, broke tracking of link failures, as going straight to
BOND_LINK_DOWN when a link is indeed down (cable pulled, switch rebooted)
means we broke out of bond_miimon_inspect()'s BOND_LINK_DOWN case because
!link_state was already true, we never incremented commit, and never got
a chance to call bond_miimon_commit(), where slave->link_failure_count
would be incremented. I believe the simple fix here is to mark the slave
as BOND_LINK_FAIL, and let bond_miimon_inspect() transition the link from
_FAIL to either _UP or _DOWN, and in the latter case, we now get proper
incrementing of link_failure_count again.

Fixes: 4d2c0cda07 ("bonding: speed/duplex update at NETDEV_UP event")
CC: Mahesh Bandewar <maheshb@google.com>
CC: David S. Miller <davem@davemloft.net>
CC: netdev@vger.kernel.org
CC: stable@vger.kernel.org
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-21 09:19:18 +01:00
..
appletalk net/appletalk: fix minor pointer leak to userspace in SIOCFINDIPDDPRT 2018-09-13 10:35:57 -07:00
arcnet
bonding bonding/802.3ad: fix link_failure_count tracking 2018-11-21 09:19:18 +01:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-08-15 15:04:25 -07:00
dsa net: dsa: mv88e6xxx: Fix writing to a PHY page. 2018-11-13 11:08:29 -08:00
ethernet net: bcmgenet: fix OF child-node lookup 2018-11-13 11:08:51 -08:00
fddi
fjes
hamradio yam: fix a missing-check bug 2018-10-05 11:54:55 -07:00
hippi
hyperv hv_netvsc: fix vf serial matching with pci slot info 2018-11-13 11:08:21 -08:00
ieee802154 ieee802154: mcr20a: Replace magic number with constants 2018-09-27 17:22:48 +02:00
ipvlan
netdevsim Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
phy net: phy: phylink: ensure the carrier is off when starting phylink 2018-11-13 11:08:27 -08:00
plip
ppp pppoe: fix reception of frames with no mac header 2018-09-17 07:50:26 -07:00
slip
team team: Forbid enslaving team device to itself 2018-10-04 13:55:40 -07:00
usb qmi_wwan: Added support for Gemalto's Cinterion ALASxx WWAN interface 2018-10-10 22:57:23 -07:00
vmxnet3
wan Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-05 13:04:31 -07:00
wimax wimax/i2400m: fix spelling mistake "not unitialized" -> "uninitialized" 2018-09-26 20:09:58 -07:00
wireless iwlwifi: mvm: check return value of rs_rate_from_ucode_rate() 2018-11-13 11:08:41 -08:00
xen-netback xen-netback: handle page straddling in xenvif_set_hash_mapping() 2018-09-25 10:39:34 -07:00
dummy.c
eql.c
geneve.c geneve, vxlan: Don't set exceptions if skb->len < mtu 2018-10-17 21:51:13 -07:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: loopback: clear skb->tstamp before netif_rx() 2018-11-13 11:08:20 -08:00
macsec.c
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c failover: Add missing check to validate 'slave_dev' in net_failover_slave_unregister 2018-11-13 11:08:28 -08:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c tun: Consistently configure generic netdev params via rtnetlink 2018-11-13 11:08:21 -08:00
veth.c veth: Orphan skb before GRO 2018-09-16 15:33:50 -07:00
virtio_net.c virtio_net: avoid using netif_tx_disable() for serializing tx routine 2018-10-17 22:29:30 -07:00
vrf.c
vsockmon.c
vxlan.c geneve, vxlan: Don't set exceptions if skb->len < mtu 2018-10-17 21:51:13 -07:00
xen-netfront.c xen/netfront: don't bug in case of too many frags 2018-09-13 08:22:15 -07:00