mac80211: backport latest version from trunk (as of r28137)
[openwrt-10.03/.git] / package / mac80211 / patches / 540-ath9k_txkeyidx_u8.patch
diff --git a/package/mac80211/patches/540-ath9k_txkeyidx_u8.patch b/package/mac80211/patches/540-ath9k_txkeyidx_u8.patch
new file mode 100644 (file)
index 0000000..2b59533
--- /dev/null
@@ -0,0 +1,56 @@
+--- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c
++++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c
+@@ -273,7 +273,7 @@ static int ar9002_hw_proc_txdesc(struct 
+ static void ar9002_hw_set11n_txdesc(struct ath_hw *ah, void *ds,
+                                   u32 pktLen, enum ath9k_pkt_type type,
+-                                  u32 txPower, u32 keyIx,
++                                  u32 txPower, u8 keyIx,
+                                   enum ath9k_key_type keyType, u32 flags)
+ {
+       struct ar5416_desc *ads = AR5416DESC(ds);
+--- a/drivers/net/wireless/ath/ath9k/ath9k.h
++++ b/drivers/net/wireless/ath/ath9k/ath9k.h
+@@ -207,8 +207,8 @@ struct ath_atx_ac {
+ struct ath_frame_info {
+       int framelen;
+-      u32 keyix;
+       enum ath9k_key_type keytype;
++      u8 keyix;
+       u8 retries;
+       u16 seqno;
+ };
+--- a/drivers/net/wireless/ath/ath9k/hw.h
++++ b/drivers/net/wireless/ath/ath9k/hw.h
+@@ -623,7 +623,7 @@ struct ath_hw_ops {
+                          struct ath_tx_status *ts);
+       void (*set11n_txdesc)(struct ath_hw *ah, void *ds,
+                             u32 pktLen, enum ath9k_pkt_type type,
+-                            u32 txPower, u32 keyIx,
++                            u32 txPower, u8 keyIx,
+                             enum ath9k_key_type keyType,
+                             u32 flags);
+       void (*set11n_ratescenario)(struct ath_hw *ah, void *ds,
+--- a/drivers/net/wireless/ath/ath9k/mac.h
++++ b/drivers/net/wireless/ath/ath9k/mac.h
+@@ -194,7 +194,7 @@ struct ath_htc_rx_status {
+ #define ATH9K_RX_DECRYPT_BUSY     0x40
+ #define ATH9K_RXKEYIX_INVALID ((u8)-1)
+-#define ATH9K_TXKEYIX_INVALID ((u32)-1)
++#define ATH9K_TXKEYIX_INVALID ((u8)-1)
+ enum ath9k_phyerr {
+       ATH9K_PHYERR_UNDERRUN             = 0,  /* Transmit underrun */
+--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
++++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+@@ -312,7 +312,7 @@ static int ar9003_hw_proc_txdesc(struct 
+ static void ar9003_hw_set11n_txdesc(struct ath_hw *ah, void *ds,
+               u32 pktlen, enum ath9k_pkt_type type, u32 txpower,
+-              u32 keyIx, enum ath9k_key_type keyType, u32 flags)
++              u8 keyIx, enum ath9k_key_type keyType, u32 flags)
+ {
+       struct ar9003_txc *ads = (struct ar9003_txc *) ds;