linux/drivers/net/ethernet/sun
Shannon Nelson 9c5a3a1f93 sunvnet: xoff not needed when removing port link
The sunvnet netdev is connected to the controlling ldom's vswitch
for network bridging.  However, for higher performance between ldoms,
there also is a channel between each client ldom.  These connections are
represented in the sunvnet driver by a queue for each ldom.  The driver
uses select_queue to tell the stack which queue to use by tracking the mac
addresses on the other end of each port.  When a connected ldom shuts down,
the driver receives an LDC_EVENT_RESET and the port is removed from the
driver, thus a queue with no ldom on the other end will never be selected
for Tx.

The driver was trying to reinforce the "don't use this queue" notion with
netif_tx_stop_queue() and netif_tx_wake_queue(), which really should only
be used to signal a Tx queue is full (aka XOFF).  This misuse of queue
state resulted in NETDEV WATCHDOG messages and lots of unnecessary calls
into the driver's tx_timeout handler.  Simply removing these takes care
of the problem.

Orabug: 25190537

Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-03-16 20:29:55 -07:00
..
cassini.c net: sun: cassini: use new api ethtool_{get|set}_link_ksettings 2017-03-08 22:18:05 -08:00
cassini.h ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
Kconfig sunvnet: make sunvnet common code dynamically loadable 2017-02-14 13:04:08 -05:00
ldmvsw.c ldmvsw: better use of link up and down on ldom vswitch 2017-03-16 20:29:54 -07:00
Makefile ldmvsw: Add ldmvsw.c driver code 2016-03-18 19:33:00 -04:00
niu.c net: sun: niu: use new api ethtool_{get|set}_link_ksettings 2017-03-08 22:18:05 -08:00
niu.h
sunbmac.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
sunbmac.h sunbmac: Fix compiler warning 2016-11-18 11:18:27 -08:00
sungem.c net: sun: sungem: use new api ethtool_{get|set}_link_ksettings 2017-03-08 22:18:05 -08:00
sungem.h
sunhme.c net: sun: sunhme: use new api ethtool_{get|set}_link_ksettings 2017-03-08 22:18:05 -08:00
sunhme.h linux: drop __bitwise__ everywhere 2016-12-16 00:13:41 +02:00
sunqe.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
sunqe.h sunqe: Fix compiler warnings 2016-11-18 11:18:26 -08:00
sunvnet_common.c sunvnet: xoff not needed when removing port link 2017-03-16 20:29:55 -07:00
sunvnet_common.h sunvnet: track port queues correctly 2017-03-16 20:29:54 -07:00
sunvnet.c sunvnet: add stats to track ldom to ldom packets and bytes 2017-03-16 20:29:54 -07:00