Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Wed, 9 Feb 2011 01:19:01 +0000 (17:19 -0800)]
Conflicts:
drivers/net/e1000e/netdev.c

14 files changed:
1  2 
drivers/net/bnx2x/bnx2x_main.c
drivers/net/e1000e/netdev.c
drivers/net/wireless/ath/ath9k/ath9k.h
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/xmit.c
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/wl1251/main.c
net/batman-adv/unicast.c
net/core/dev.c
net/mac80211/cfg.c
net/mac80211/ieee80211_i.h
net/mac80211/status.c
net/mac80211/tx.c

Simple merge
@@@ -4303,18 -4299,20 +4303,17 @@@ link_up
  
        e1000e_update_adaptive(&adapter->hw);
  
 -      if (!netif_carrier_ok(netdev)) {
 -              tx_pending = (e1000_desc_unused(tx_ring) + 1 <
 -                             tx_ring->count);
 -              if (tx_pending) {
 -                      /*
 -                       * We've lost link, so the controller stops DMA,
 -                       * but we've got queued Tx work that's never going
 -                       * to get done, so reset controller to flush Tx.
 -                       * (Do the reset outside of interrupt context).
 -                       */
 -                      schedule_work(&adapter->reset_task);
 -                      /* return immediately since reset is imminent */
 -                      return;
 -              }
 +      if (!netif_carrier_ok(netdev) &&
 +          (e1000_desc_unused(tx_ring) + 1 < tx_ring->count)) {
 +              /*
 +               * We've lost link, so the controller stops DMA,
 +               * but we've got queued Tx work that's never going
 +               * to get done, so reset controller to flush Tx.
 +               * (Do the reset outside of interrupt context).
 +               */
-               adapter->tx_timeout_count++;
 +              schedule_work(&adapter->reset_task);
 +              /* return immediately since reset is imminent */
 +              return;
        }
  
        /* Simple mode for Interrupt Throttle Rate (ITR) */
@@@ -600,10 -594,7 +601,9 @@@ struct ath_softc 
        struct work_struct paprd_work;
        struct work_struct hw_check_work;
        struct completion paprd_complete;
-       bool paprd_pending;
  
 +      unsigned int hw_busy_count;
 +
        u32 intrstatus;
        u32 sc_flags; /* SC_OP_* */
        u16 ps_flags; /* PS_* */
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/core/dev.c
@@@ -5816,22 -5679,16 +5826,17 @@@ struct net_device *alloc_netdev_mqs(in
        dev->num_rx_queues = rxqs;
        dev->real_num_rx_queues = rxqs;
        if (netif_alloc_rx_queues(dev))
-               goto free_pcpu;
+               goto free_all;
  #endif
  
-       dev->gso_max_size = GSO_MAX_SIZE;
-       INIT_LIST_HEAD(&dev->ethtool_ntuple_list.list);
-       dev->ethtool_ntuple_list.count = 0;
-       INIT_LIST_HEAD(&dev->napi_list);
-       INIT_LIST_HEAD(&dev->unreg_list);
-       INIT_LIST_HEAD(&dev->link_watch_list);
-       dev->priv_flags = IFF_XMIT_DST_RELEASE;
-       setup(dev);
        strcpy(dev->name, name);
 +      dev->group = INIT_NETDEV_GROUP;
        return dev;
  
+ free_all:
+       free_netdev(dev);
+       return NULL;
  free_pcpu:
        free_percpu(dev->pcpu_refcnt);
        kfree(dev->_tx);
Simple merge
Simple merge
Simple merge
Simple merge