patch-2.3.45 linux/drivers/net/hamradio/scc.c

Next file: linux/drivers/net/hamradio/yam.c
Previous file: linux/drivers/net/hamradio/dmascc.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.44/linux/drivers/net/hamradio/scc.c linux/drivers/net/hamradio/scc.c
@@ -317,12 +317,12 @@
 
 static inline void scc_lock_dev(struct scc_channel *scc)
 {
-	scc->dev->tbusy = 1;
+	netif_stop_queue(scc->dev);
 }
 
 static inline void scc_unlock_dev(struct scc_channel *scc)
 {
-	scc->dev->tbusy = 0;
+	netif_wake_queue(scc->dev);
 }
 
 static inline void scc_discard_buffers(struct scc_channel *scc)
@@ -1660,9 +1660,7 @@
  
 	init_channel(scc);
 
-	dev->tbusy = 0;
-	dev->start = 1;
-
+	netif_start_queue(dev);
 	return 0;
 }
 
@@ -1692,9 +1690,7 @@
 	
 	scc_discard_buffers(scc);
 
-	dev->tbusy = 1;
-	dev->start = 0;
-
+	netif_stop_queue(dev);
 	return 0;
 }
 
@@ -1727,7 +1723,7 @@
 	unsigned long flags;
 	char kisscmd;
 	
-	if (scc == NULL || scc->magic != SCC_MAGIC || dev->tbusy)
+	if (scc == NULL || scc->magic != SCC_MAGIC)
 	{
 		dev_kfree_skb(skb);
 		return 0;
@@ -1753,7 +1749,7 @@
 		return 0;
 	}
 
-	save_flags(flags);
+	save_flags(flags); 
 	cli();
 	
 	if (skb_queue_len(&scc->tx_queue) > scc->dev->tx_queue_len)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)