diff options
Diffstat (limited to 'drivers/net/skge.c')
| -rw-r--r-- | drivers/net/skge.c | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/drivers/net/skge.c b/drivers/net/skge.c index 716467879b9c..00d683063c01 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
| @@ -2280,11 +2280,13 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev) | |||
| 2280 | } | 2280 | } | 
| 2281 | 2281 | ||
| 2282 | if (unlikely(skge->tx_avail < skb_shinfo(skb)->nr_frags +1)) { | 2282 | if (unlikely(skge->tx_avail < skb_shinfo(skb)->nr_frags +1)) { | 
| 2283 | netif_stop_queue(dev); | 2283 | if (!netif_queue_stopped(dev)) { | 
| 2284 | spin_unlock_irqrestore(&skge->tx_lock, flags); | 2284 | netif_stop_queue(dev); | 
| 2285 | 2285 | ||
| 2286 | printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", | 2286 | printk(KERN_WARNING PFX "%s: ring full when queue awake!\n", | 
| 2287 | dev->name); | 2287 | dev->name); | 
| 2288 | } | ||
| 2289 | spin_unlock_irqrestore(&skge->tx_lock, flags); | ||
| 2288 | return NETDEV_TX_BUSY; | 2290 | return NETDEV_TX_BUSY; | 
| 2289 | } | 2291 | } | 
| 2290 | 2292 | ||
