mac80211: update to wireless-testing 2014-09-26
[openwrt/staging/rmilecki.git] / package / kernel / mac80211 / patches / 600-0004-rt2x00-rt2800lib-fix-beacon-generation-on-RT3593.patch
index 5cb6eaec6bbb390b01b62ff3e45de65ba4a9e351..b8c1914645f29235533c19c7a7096a64ea1baf02 100644 (file)
@@ -29,7 +29,7 @@ Changes since v1: ---
 
 --- a/drivers/net/wireless/rt2x00/rt2800.h
 +++ b/drivers/net/wireless/rt2x00/rt2800.h
-@@ -572,6 +572,7 @@
+@@ -574,6 +574,7 @@
  #define PBF_SYS_CTRL                  0x0400
  #define PBF_SYS_CTRL_READY            FIELD32(0x00000080)
  #define PBF_SYS_CTRL_HOST_RAM_WRITE   FIELD32(0x00010000)
@@ -37,7 +37,7 @@ Changes since v1: ---
  
  /*
   * HOST-MCU shared memory
-@@ -2024,6 +2025,8 @@ struct mac_iveiv_entry {
+@@ -2026,6 +2027,8 @@ struct mac_iveiv_entry {
          (((__index) < 6) ? (HW_BEACON_BASE4 + ((__index - 4) * 0x0200)) : \
          (HW_BEACON_BASE6 - ((__index - 6) * 0x0200))))
  
@@ -98,7 +98,7 @@ Changes since v1: ---
        return HW_BEACON_BASE(index);
  }
  
-@@ -1012,8 +1048,12 @@ void rt2800_write_beacon(struct queue_en
+@@ -1046,8 +1082,12 @@ void rt2800_write_beacon(struct queue_en
        beacon_base = rt2800_hw_beacon_base(rt2x00dev, entry->entry_idx);
  
        rt2800_shared_mem_lock(rt2x00dev);
@@ -109,9 +109,9 @@ Changes since v1: ---
 +      rt2800_deselect_beacon_mem(rt2x00dev);
 +
        rt2800_shared_mem_unlock(rt2x00dev);
+       __set_bit(ENTRY_BCN_ENABLED, &entry->flags);
  
-       /*
-@@ -1040,6 +1080,8 @@ static inline void rt2800_clear_beacon_r
+@@ -1080,6 +1120,8 @@ static inline void rt2800_clear_beacon_r
  
        rt2800_shared_mem_lock(rt2x00dev);
  
@@ -120,7 +120,7 @@ Changes since v1: ---
        /*
         * For the Beacon base registers we only need to clear
         * the whole TXWI which (when set to 0) will invalidate
-@@ -1048,6 +1090,8 @@ static inline void rt2800_clear_beacon_r
+@@ -1088,6 +1130,8 @@ static inline void rt2800_clear_beacon_r
        for (i = 0; i < txwi_desc_size; i += sizeof(__le32))
                rt2800_register_write(rt2x00dev, beacon_base + i, 0);