ipw2200: Call netif_*_queue() interfaces properly.

netif_carrier_{on,off}() handles starting and stopping packet
flow into the driver. So there is no reason to invoke netif_stop_queue()
and netif_wake_queue() in response to link status events.

Signed-off-by: David S. Miller <davem@davemloft.net>

+2 -31
+2 -31
drivers/net/wireless/ipw2200.c
··· 4972 4972 } 4973 4973 done: 4974 4974 if ((ipw_tx_queue_space(q) > q->low_mark) && 4975 - (qindex >= 0) && 4976 - (priv->status & STATUS_ASSOCIATED) && netif_running(priv->net_dev)) 4975 + (qindex >= 0)) 4977 4976 netif_wake_queue(priv->net_dev); 4978 4977 used = q->first_empty - q->last_used; 4979 4978 if (used < 0) ··· 10153 10154 10154 10155 static int ipw_net_open(struct net_device *dev) 10155 10156 { 10156 - struct ipw_priv *priv = ieee80211_priv(dev); 10157 10157 IPW_DEBUG_INFO("dev->open\n"); 10158 - /* we should be verifying the device is ready to be opened */ 10159 - mutex_lock(&priv->mutex); 10160 - if (!(priv->status & STATUS_RF_KILL_MASK) && 10161 - (priv->status & STATUS_ASSOCIATED)) 10162 - netif_start_queue(dev); 10163 - mutex_unlock(&priv->mutex); 10158 + netif_start_queue(dev); 10164 10159 return 0; 10165 10160 } 10166 10161 ··· 10474 10481 IPW_DEBUG_TX("dev->xmit(%d bytes)\n", txb->payload_size); 10475 10482 spin_lock_irqsave(&priv->lock, flags); 10476 10483 10477 - if (!(priv->status & STATUS_ASSOCIATED)) { 10478 - IPW_DEBUG_INFO("Tx attempt while not associated.\n"); 10479 - priv->ieee->stats.tx_carrier_errors++; 10480 - netif_stop_queue(dev); 10481 - goto fail_unlock; 10482 - } 10483 - 10484 10484 #ifdef CONFIG_IPW2200_PROMISCUOUS 10485 10485 if (rtap_iface && netif_running(priv->prom_net_dev)) 10486 10486 ipw_handle_promiscuous_tx(priv, txb); ··· 10485 10499 spin_unlock_irqrestore(&priv->lock, flags); 10486 10500 10487 10501 return ret; 10488 - 10489 - fail_unlock: 10490 - spin_unlock_irqrestore(&priv->lock, flags); 10491 - return 1; 10492 10502 } 10493 10503 10494 10504 static struct net_device_stats *ipw_net_get_stats(struct net_device *dev) ··· 10685 10703 priv->last_packet_time = 0; 10686 10704 10687 10705 netif_carrier_on(priv->net_dev); 10688 - if (netif_queue_stopped(priv->net_dev)) { 10689 - IPW_DEBUG_NOTIF("waking queue\n"); 10690 - netif_wake_queue(priv->net_dev); 10691 - } else { 10692 - IPW_DEBUG_NOTIF("starting queue\n"); 10693 - netif_start_queue(priv->net_dev); 10694 - } 10695 10706 10696 10707 cancel_delayed_work(&priv->request_scan); 10697 10708 cancel_delayed_work(&priv->request_direct_scan); ··· 10714 10739 { 10715 10740 ipw_led_link_down(priv); 10716 10741 netif_carrier_off(priv->net_dev); 10717 - netif_stop_queue(priv->net_dev); 10718 10742 notify_wx_assoc_event(priv); 10719 10743 10720 10744 /* Cancel any queued work ... */ ··· 11393 11419 /* Clear all bits but the RF Kill */ 11394 11420 priv->status &= STATUS_RF_KILL_MASK | STATUS_EXIT_PENDING; 11395 11421 netif_carrier_off(priv->net_dev); 11396 - netif_stop_queue(priv->net_dev); 11397 11422 11398 11423 ipw_stop_nic(priv); 11399 11424 ··· 11495 11522 11496 11523 IPW_DEBUG_INFO("prom dev->open\n"); 11497 11524 netif_carrier_off(dev); 11498 - netif_stop_queue(dev); 11499 11525 11500 11526 if (priv->ieee->iw_mode != IW_MODE_MONITOR) { 11501 11527 priv->sys_config.accept_all_data_frames = 1; ··· 11530 11558 static int ipw_prom_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) 11531 11559 { 11532 11560 IPW_DEBUG_INFO("prom dev->xmit\n"); 11533 - netif_stop_queue(dev); 11534 11561 return -EOPNOTSUPP; 11535 11562 } 11536 11563