aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ralink/rt2x00/rt2800lib.c')
-rw-r--r--drivers/net/wireless/ralink/rt2x00/rt2800lib.c37
1 files changed, 18 insertions, 19 deletions
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
index ecbe78b8027b..f1cdcd61c54a 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -1654,13 +1654,18 @@ static void rt2800_config_wcid_attr_cipher(struct rt2x00_dev *rt2x00dev,
1654 1654
1655 offset = MAC_IVEIV_ENTRY(key->hw_key_idx); 1655 offset = MAC_IVEIV_ENTRY(key->hw_key_idx);
1656 1656
1657 rt2800_register_multiread(rt2x00dev, offset, 1657 if (crypto->cmd == SET_KEY) {
1658 &iveiv_entry, sizeof(iveiv_entry)); 1658 rt2800_register_multiread(rt2x00dev, offset,
1659 if ((crypto->cipher == CIPHER_TKIP) || 1659 &iveiv_entry, sizeof(iveiv_entry));
1660 (crypto->cipher == CIPHER_TKIP_NO_MIC) || 1660 if ((crypto->cipher == CIPHER_TKIP) ||
1661 (crypto->cipher == CIPHER_AES)) 1661 (crypto->cipher == CIPHER_TKIP_NO_MIC) ||
1662 iveiv_entry.iv[3] |= 0x20; 1662 (crypto->cipher == CIPHER_AES))
1663 iveiv_entry.iv[3] |= key->keyidx << 6; 1663 iveiv_entry.iv[3] |= 0x20;
1664 iveiv_entry.iv[3] |= key->keyidx << 6;
1665 } else {
1666 memset(&iveiv_entry, 0, sizeof(iveiv_entry));
1667 }
1668
1664 rt2800_register_multiwrite(rt2x00dev, offset, 1669 rt2800_register_multiwrite(rt2x00dev, offset,
1665 &iveiv_entry, sizeof(iveiv_entry)); 1670 &iveiv_entry, sizeof(iveiv_entry));
1666} 1671}
@@ -4237,24 +4242,18 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
4237 switch (rt2x00dev->default_ant.rx_chain_num) { 4242 switch (rt2x00dev->default_ant.rx_chain_num) {
4238 case 3: 4243 case 3:
4239 /* Turn on tertiary LNAs */ 4244 /* Turn on tertiary LNAs */
4240 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A2_EN, 4245 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A2_EN, 1);
4241 rf->channel > 14); 4246 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G2_EN, 1);
4242 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G2_EN,
4243 rf->channel <= 14);
4244 /* fall-through */ 4247 /* fall-through */
4245 case 2: 4248 case 2:
4246 /* Turn on secondary LNAs */ 4249 /* Turn on secondary LNAs */
4247 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A1_EN, 4250 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A1_EN, 1);
4248 rf->channel > 14); 4251 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G1_EN, 1);
4249 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G1_EN,
4250 rf->channel <= 14);
4251 /* fall-through */ 4252 /* fall-through */
4252 case 1: 4253 case 1:
4253 /* Turn on primary LNAs */ 4254 /* Turn on primary LNAs */
4254 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A0_EN, 4255 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A0_EN, 1);
4255 rf->channel > 14); 4256 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G0_EN, 1);
4256 rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G0_EN,
4257 rf->channel <= 14);
4258 break; 4257 break;
4259 } 4258 }
4260 4259