},
        .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,
        },
        .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,
 
  /* 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)
 
        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)
  
 
                        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);
+                       }
                }
        }