All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] be2net: Signal that the device cannot transmit during reconfiguration
@ 2019-07-16  8:16 Benjamin Poirier
  2019-07-16 19:41 ` David Miller
  2019-07-17  4:23 ` Firo Yang
  0 siblings, 2 replies; 7+ messages in thread
From: Benjamin Poirier @ 2019-07-16  8:16 UTC (permalink / raw)
  To: David Miller
  Cc: Sathya Perla, Ajit Khaparde, Sriharsha Basavapatna,
	Somnath Kotur, Firo Yang, Saeed Mahameed, netdev

While changing the number of interrupt channels, be2net stops adapter
operation (including netif_tx_disable()) but it doesn't signal that it
cannot transmit. This may lead dev_watchdog() to falsely trigger during
that time.

Add the missing call to netif_carrier_off(), following the pattern used in
many other drivers. netif_carrier_on() is already taken care of in
be_open().

Signed-off-by: Benjamin Poirier <bpoirier@suse.com>
---
 drivers/net/ethernet/emulex/benet/be_main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 82015c8a5ed7..b7a246b33599 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -4697,8 +4697,12 @@ int be_update_queues(struct be_adapter *adapter)
 	struct net_device *netdev = adapter->netdev;
 	int status;
 
-	if (netif_running(netdev))
+	if (netif_running(netdev)) {
+		/* device cannot transmit now, avoid dev_watchdog timeouts */
+		netif_carrier_off(netdev);
+
 		be_close(netdev);
+	}
 
 	be_cancel_worker(adapter);
 
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-07-17 10:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-16  8:16 [PATCH net] be2net: Signal that the device cannot transmit during reconfiguration Benjamin Poirier
2019-07-16 19:41 ` David Miller
2019-07-17  4:23 ` Firo Yang
2019-07-17  8:23   ` Benjamin Poirier
2019-07-17  8:56     ` Firo Yang
2019-07-17  9:32       ` Benjamin Poirier
2019-07-17 10:25         ` Firo Yang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.