Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
authorDavid S. Miller <davem@davemloft.net>
Wed, 21 Apr 2010 08:14:25 +0000 (01:14 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Apr 2010 08:14:25 +0000 (01:14 -0700)
Conflicts:
drivers/net/wireless/iwlwifi/iwl-6000.c
net/core/dev.c

18 files changed:
1  2 
MAINTAINERS
drivers/net/8139too.c
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-calib.c
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.h
drivers/net/wireless/iwlwifi/iwl-dev.h
drivers/net/wireless/iwlwifi/iwl-eeprom.h
drivers/net/wireless/iwlwifi/iwl-scan.c
net/bridge/br_multicast.c
net/core/dev.c
net/ipv4/ip_output.c
net/ipv6/ip6_output.c
net/ipv6/tcp_ipv6.c
net/mac80211/agg-tx.c
net/mac80211/mlme.c
net/packet/af_packet.c

diff --cc MAINTAINERS
Simple merge
Simple merge
index dd03384432f48b5a0b51da0a657257d5f8ba2182,92b3e64fc14dd941f80831a107d958740e87c662..3e32693d1c2f024247d2305b76b73a0f52c2408a
@@@ -256,13 -254,13 +256,14 @@@ static struct iwl_lib_ops iwl6000_lib 
        },
        .eeprom_ops = {
                .regulatory_bands = {
 -                      EEPROM_5000_REG_BAND_1_CHANNELS,
 -                      EEPROM_5000_REG_BAND_2_CHANNELS,
 -                      EEPROM_5000_REG_BAND_3_CHANNELS,
 -                      EEPROM_5000_REG_BAND_4_CHANNELS,
 -                      EEPROM_5000_REG_BAND_5_CHANNELS,
 +                      EEPROM_REG_BAND_1_CHANNELS,
 +                      EEPROM_REG_BAND_2_CHANNELS,
 +                      EEPROM_REG_BAND_3_CHANNELS,
 +                      EEPROM_REG_BAND_4_CHANNELS,
 +                      EEPROM_REG_BAND_5_CHANNELS,
 +                      EEPROM_REG_BAND_24_HT40_CHANNELS,
+                       EEPROM_6000_REG_BAND_24_HT40_CHANNELS,
 -                      EEPROM_5000_REG_BAND_52_HT40_CHANNELS
 +                      EEPROM_REG_BAND_52_HT40_CHANNELS
                },
                .verify_signature  = iwlcore_eeprom_verify_signature,
                .acquire_semaphore = iwlcore_eeprom_acquire_semaphore,
@@@ -323,13 -318,13 +324,13 @@@ static struct iwl_lib_ops iwl6050_lib 
        },
        .eeprom_ops = {
                .regulatory_bands = {
 -                      EEPROM_5000_REG_BAND_1_CHANNELS,
 -                      EEPROM_5000_REG_BAND_2_CHANNELS,
 -                      EEPROM_5000_REG_BAND_3_CHANNELS,
 -                      EEPROM_5000_REG_BAND_4_CHANNELS,
 -                      EEPROM_5000_REG_BAND_5_CHANNELS,
 +                      EEPROM_REG_BAND_1_CHANNELS,
 +                      EEPROM_REG_BAND_2_CHANNELS,
 +                      EEPROM_REG_BAND_3_CHANNELS,
 +                      EEPROM_REG_BAND_4_CHANNELS,
 +                      EEPROM_REG_BAND_5_CHANNELS,
-                       EEPROM_REG_BAND_24_HT40_CHANNELS,
+                       EEPROM_6000_REG_BAND_24_HT40_CHANNELS,
 -                      EEPROM_5000_REG_BAND_52_HT40_CHANNELS
 +                      EEPROM_REG_BAND_52_HT40_CHANNELS
                },
                .verify_signature  = iwlcore_eeprom_verify_signature,
                .acquire_semaphore = iwlcore_eeprom_acquire_semaphore,
index cb6d50b781403b2a4cfeeb15c24814c5d846d57d,8171c701e4e15e53610a0068e8d79bfeb72c0ec2..ef0e3256eec2da85163f6d1f28dd921c88758775
@@@ -188,21 -188,25 +188,25 @@@ struct iwl_eeprom_enhanced_txpwr 
  /* 5000 regulatory - indirect access */
  #define EEPROM_5000_REG_SKU_ID ((0x02)\
                | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 4  bytes */
 -#define EEPROM_5000_REG_BAND_1_CHANNELS       ((0x08)\
 +#define EEPROM_REG_BAND_1_CHANNELS       ((0x08)\
                | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 28 bytes */
 -#define EEPROM_5000_REG_BAND_2_CHANNELS       ((0x26)\
 +#define EEPROM_REG_BAND_2_CHANNELS       ((0x26)\
                | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 26 bytes */
 -#define EEPROM_5000_REG_BAND_3_CHANNELS       ((0x42)\
 +#define EEPROM_REG_BAND_3_CHANNELS       ((0x42)\
                | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 24 bytes */
 -#define EEPROM_5000_REG_BAND_4_CHANNELS       ((0x5C)\
 +#define EEPROM_REG_BAND_4_CHANNELS       ((0x5C)\
                | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 22 bytes */
 -#define EEPROM_5000_REG_BAND_5_CHANNELS       ((0x74)\
 +#define EEPROM_REG_BAND_5_CHANNELS       ((0x74)\
                | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 12 bytes */
 -#define EEPROM_5000_REG_BAND_24_HT40_CHANNELS  ((0x82)\
 +#define EEPROM_REG_BAND_24_HT40_CHANNELS  ((0x82)\
                | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 14  bytes */
 -#define EEPROM_5000_REG_BAND_52_HT40_CHANNELS  ((0x92)\
 +#define EEPROM_REG_BAND_52_HT40_CHANNELS  ((0x92)\
                | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 22  bytes */
  
+ /* 6000 regulatory - indirect access */
+ #define EEPROM_6000_REG_BAND_24_HT40_CHANNELS  ((0x80)\
+               | INDIRECT_ADDRESS | INDIRECT_REGULATORY)   /* 14  bytes */
  /* 6000 and up regulatory tx power - indirect access */
  /* max. elements per section */
  #define EEPROM_MAX_TXPOWER_SECTION_ELEMENTS   (8)
index ae981932ce611aaed52dc6e793ad16376dafc2dc,12e455a4b90e94a3d36f0546eebbeec3b2f7c42a..de0446d4bfe985c1ff636d172ff8c23e770542aa
@@@ -577,10 -586,10 +586,9 @@@ static void iwl_bg_start_internal_scan(
        set_bit(STATUS_SCANNING, &priv->status);
        priv->is_internal_short_scan = true;
        queue_work(priv->workqueue, &priv->request_scan);
- out:
-       return ret;
+  unlock:
+       mutex_unlock(&priv->mutex);
  }
 -EXPORT_SYMBOL(iwl_internal_short_hw_scan);
  
  #define IWL_SCAN_CHECK_WATCHDOG (7 * HZ)
  
Simple merge
diff --cc net/core/dev.c
index b31d5d69a467c531d68e350d4d02fb4acc08b1d7,f769098774b7e5e3b95f9aeb5b89d87412dda0e9..e904c476b1122738d4b72ae2ddab1988ee36ba2a
@@@ -2015,8 -1989,12 +2015,12 @@@ static struct netdev_queue *dev_pick_tx
                        if (dev->real_num_tx_queues > 1)
                                queue_index = skb_tx_hash(dev, skb);
  
-                       if (sk && rcu_dereference_check(sk->sk_dst_cache, 1))
-                               sk_tx_queue_set(sk, queue_index);
+                       if (sk) {
 -                              struct dst_entry *dst = rcu_dereference_bh(sk->sk_dst_cache);
++                              struct dst_entry *dst = rcu_dereference_check(sk->sk_dst_cache, 1);
+                               if (dst && skb_dst(skb) == dst)
+                                       sk_tx_queue_set(sk, queue_index);
+                       }
                }
        }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge