rsi: Changed the radio caps frame.
authorJahnavi Meher <jahnavi.meher@gmail.com>
Mon, 16 Jun 2014 14:11:41 +0000 (19:41 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 19 Jun 2014 19:49:21 +0000 (15:49 -0400)
Changed the radio caps frame and added the required fields.

Signed-off-by: Jahnavi Meher <jahnavi.meher@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rsi/rsi_91x_mgmt.c
drivers/net/wireless/rsi/rsi_mgmt.h

index 2cdb36a4239ee37e4c416619116a9ca718f038ba..c3d8da9b544a84b4486c714dff969088b78fa15e 100644 (file)
@@ -331,6 +331,13 @@ static int rsi_load_radio_caps(struct rsi_common *common)
                }
        }
 
+       radio_caps->sifs_tx_11n = cpu_to_le16(SIFS_TX_11N_VALUE);
+       radio_caps->sifs_tx_11b = cpu_to_le16(SIFS_TX_11B_VALUE);
+       radio_caps->slot_rx_11n = cpu_to_le16(SHORT_SLOT_VALUE);
+       radio_caps->ofdm_ack_tout = cpu_to_le16(OFDM_ACK_TOUT_VALUE);
+       radio_caps->cck_ack_tout = cpu_to_le16(CCK_ACK_TOUT_VALUE);
+       radio_caps->preamble_type = cpu_to_le16(LONG_PREAMBLE);
+
        radio_caps->desc_word[7] |= cpu_to_le16(radio_id << 8);
 
        for (ii = 0; ii < MAX_HW_QUEUES; ii++) {
index 0641068d7fece66c7e1bcba956db38abda7d4c73..6ccf9d935e4b338a9d246f947917f29981f1d9de 100644 (file)
 #define EP_5GHZ_20MHZ                  2
 #define EP_5GHZ_40MHZ                  3
 
+#define SIFS_TX_11N_VALUE              580
+#define SIFS_TX_11B_VALUE              346
+#define SHORT_SLOT_VALUE               360
+#define LONG_SLOT_VALUE                        640
+#define OFDM_ACK_TOUT_VALUE            2720
+#define CCK_ACK_TOUT_VALUE             9440
+#define LONG_PREAMBLE                  0x0000
+#define SHORT_PREAMBLE                 0x0001
+
 #define RSI_SUPP_FILTERS       (FIF_ALLMULTI | FIF_PROBE_REQ |\
                                 FIF_BCN_PRBRESP_PROMISC)
 enum opmode {
@@ -243,6 +252,12 @@ struct rsi_radio_caps {
        u8 num_11n_rates;
        u8 num_11ac_rates;
        __le16 gcpd_per_rate[20];
+       __le16 sifs_tx_11n;
+       __le16 sifs_tx_11b;
+       __le16 slot_rx_11n;
+       __le16 ofdm_ack_tout;
+       __le16 cck_ack_tout;
+       __le16 preamble_type;
 } __packed;
 
 static inline u32 rsi_get_queueno(u8 *addr, u16 offset)