[PATCH 05/10] staging: most: aim-network: fix startup scenario.

Christian Gromm christian.gromm at microchip.com
Tue Oct 4 15:10:16 UTC 2016


From: Andrey Shvetsov <andrey.shvetsov at k2l.de>

In case the networking interface (running on MediaLB) is being started
before the MOST network is, it remains disabled even after the MOST network
has transitioned to active mode.

This patch removes the dependency on the MOST link status to keep the
networking queue active and the networking interface working for the
case described above.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov at k2l.de>
Signed-off-by: Christian Gromm <christian.gromm at microchip.com>
---
 drivers/staging/most/aim-network/networking.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/most/aim-network/networking.c b/drivers/staging/most/aim-network/networking.c
index 4659a64..5728270 100644
--- a/drivers/staging/most/aim-network/networking.c
+++ b/drivers/staging/most/aim-network/networking.c
@@ -67,7 +67,6 @@ struct net_dev_context {
 	struct most_interface *iface;
 	bool channels_opened;
 	bool is_mamac;
-	unsigned char link_stat;
 	struct net_device *dev;
 	struct net_dev_channel rx;
 	struct net_dev_channel tx;
@@ -203,13 +202,10 @@ static int most_nd_open(struct net_device *dev)
 	}
 
 	nd->channels_opened = true;
+	netif_wake_queue(dev);
 
-	if (nd->is_mamac) {
-		nd->link_stat = 1;
-		netif_wake_queue(dev);
-	} else {
+	if (!nd->is_mamac)
 		nd->iface->request_netinfo(nd->iface, nd->tx.ch_id);
-	}
 
 	return 0;
 }
@@ -561,14 +557,6 @@ void most_deliver_netinfo(struct most_interface *iface,
 
 	if (mac_addr)
 		ether_addr_copy(dev->dev_addr, mac_addr);
-
-	if (nd->link_stat != link_stat) {
-		nd->link_stat = link_stat;
-		if (nd->link_stat)
-			netif_wake_queue(dev);
-		else
-			netif_stop_queue(dev);
-	}
 }
 EXPORT_SYMBOL(most_deliver_netinfo);
 
-- 
1.9.1



More information about the devel mailing list