Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
authorDavid S. Miller <davem@davemloft.net>
Tue, 19 Apr 2011 07:21:33 +0000 (00:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Apr 2011 07:21:33 +0000 (00:21 -0700)
Conflicts:
drivers/net/bnx2x/bnx2x_ethtool.c

15 files changed:
1  2 
MAINTAINERS
drivers/net/bna/bfa_ioc.c
drivers/net/bna/bnad.c
drivers/net/bnx2x/bnx2x_ethtool.c
drivers/net/qlcnic/qlcnic.h
drivers/net/qlcnic/qlcnic_main.c
drivers/net/sfc/efx.c
drivers/net/sfc/net_driver.h
drivers/net/sfc/nic.c
drivers/net/sfc/nic.h
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/mac.c
drivers/net/wireless/ath/ath9k/recv.c
net/core/dev.c
net/ipv4/inet_connection_sock.c

diff --cc MAINTAINERS
Simple merge
@@@ -1505,10 -1511,10 +1510,10 @@@ bfa_ioc_hb_stop(struct bfa_ioc *ioc
   */
  static void
  bfa_ioc_download_fw(struct bfa_ioc *ioc, u32 boot_type,
-                   u32 boot_param)
+                   u32 boot_env)
  {
        u32 *fwimg;
 -      u32 pgnum, pgoff;
 +      u32 pgnum;
        u32 loff = 0;
        u32 chunkno = 0;
        u32 i;
Simple merge
@@@ -2013,38 -2097,35 +2013,37 @@@ static void bnx2x_get_ethtool_stats(str
        }
  }
  
 -static int bnx2x_phys_id(struct net_device *dev, u32 data)
 +static int bnx2x_set_phys_id(struct net_device *dev,
 +                           enum ethtool_phys_id_state state)
  {
        struct bnx2x *bp = netdev_priv(dev);
 -      int i;
  
        if (!netif_running(dev))
 -              return 0;
 +              return -EAGAIN;
  
        if (!bp->port.pmf)
 -              return 0;
 +              return -EOPNOTSUPP;
  
 -      if (data == 0)
 -              data = 2;
 +      switch (state) {
 +      case ETHTOOL_ID_ACTIVE:
 +              return 1;       /* cycle on/off once per second */
  
 -      for (i = 0; i < (data * 2); i++) {
 -              if ((i % 2) == 0)
 -                      bnx2x_set_led(&bp->link_params, &bp->link_vars,
 -                                    LED_MODE_ON, SPEED_1000);
 -              else
 -                      bnx2x_set_led(&bp->link_params, &bp->link_vars,
 -                                    LED_MODE_FRONT_PANEL_OFF, 0);
 +      case ETHTOOL_ID_ON:
 +              bnx2x_set_led(&bp->link_params, &bp->link_vars,
-                             LED_MODE_OPER, SPEED_1000);
++                            LED_MODE_ON, SPEED_1000);
 +              break;
  
 -              msleep_interruptible(500);
 -              if (signal_pending(current))
 -                      break;
 -      }
 +      case ETHTOOL_ID_OFF:
 +              bnx2x_set_led(&bp->link_params, &bp->link_vars,
-                             LED_MODE_OFF, 0);
++                            LED_MODE_FRONT_PANEL_OFF, 0);
 +
 +              break;
  
 -      bnx2x_set_led(&bp->link_params, &bp->link_vars,
 -                    LED_MODE_OPER, bp->link_vars.line_speed);
 +      case ETHTOOL_ID_INACTIVE:
-               if (bp->link_vars.link_up)
-                       bnx2x_set_led(&bp->link_params, &bp->link_vars,
-                                     LED_MODE_OPER,
-                                     bp->link_vars.line_speed);
++              bnx2x_set_led(&bp->link_params, &bp->link_vars,
++                            LED_MODE_OPER,
++                            bp->link_vars.line_speed);
 +      }
  
        return 0;
  }
Simple merge
@@@ -2157,9 -2119,26 +2158,22 @@@ qlcnic_xmit_frame(struct sk_buff *skb, 
        }
  
        frag_count = skb_shinfo(skb)->nr_frags + 1;
+       /* 14 frags supported for normal packet and
+        * 32 frags supported for TSO packet
+        */
+       if (!skb_is_gso(skb) && frag_count > QLCNIC_MAX_FRAGS_PER_TX) {
+               for (i = 0; i < (frag_count - QLCNIC_MAX_FRAGS_PER_TX); i++)
+                       delta += skb_shinfo(skb)->frags[i].size;
+               if (!__pskb_pull_tail(skb, delta))
+                       goto drop_packet;
+               frag_count = 1 + skb_shinfo(skb)->nr_frags;
+       }
  
 -      /* 4 fragments per cmd des */
 -      no_of_desc = (frag_count + 3) >> 2;
 -
        if (unlikely(qlcnic_tx_avail(tx_ring) <= TX_STOP_THRESH)) {
                netif_stop_queue(netdev);
 -              smp_mb();
                if (qlcnic_tx_avail(tx_ring) > TX_STOP_THRESH)
                        netif_start_queue(netdev);
                else {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -710,12 -751,20 +710,19 @@@ void ath9k_hw_abortpcurecv(struct ath_h
  }
  EXPORT_SYMBOL(ath9k_hw_abortpcurecv);
  
- bool ath9k_hw_stopdmarecv(struct ath_hw *ah)
+ bool ath9k_hw_stopdmarecv(struct ath_hw *ah, bool *reset)
  {
  #define AH_RX_STOP_DMA_TIMEOUT 10000   /* usec */
 -#define AH_RX_TIME_QUANTUM     100     /* usec */
        struct ath_common *common = ath9k_hw_common(ah);
+       u32 mac_status, last_mac_status = 0;
        int i;
  
+       /* Enable access to the DMA observation bus */
+       REG_WRITE(ah, AR_MACMISC,
+                 ((AR_MACMISC_DMA_OBS_LINE_8 << AR_MACMISC_DMA_OBS_S) |
+                  (AR_MACMISC_MISC_OBS_BUS_1 <<
+                   AR_MACMISC_MISC_OBS_BUS_MSB_S)));
        REG_WRITE(ah, AR_CR, AR_CR_RXD);
  
        /* Wait for rx enable bit to go low */
Simple merge
diff --cc net/core/dev.c
Simple merge
Simple merge