diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 6d2c66d9b290..11a0d8b6235d 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c | |||
@@ -1414,9 +1414,16 @@ int rt2800_init_registers(struct rt2x00_dev *rt2x00dev) | |||
1414 | 1414 | ||
1415 | rt2800_register_write(rt2x00dev, EXP_ACK_TIME, 0x002400ca); | 1415 | rt2800_register_write(rt2x00dev, EXP_ACK_TIME, 0x002400ca); |
1416 | 1416 | ||
1417 | /* | ||
1418 | * Usually the CCK SIFS time should be set to 10 and the OFDM SIFS | ||
1419 | * time should be set to 16. However, the original Ralink driver uses | ||
1420 | * 16 for both and indeed using a value of 10 for CCK SIFS results in | ||
1421 | * connection problems with 11g + CTS protection. Hence, use the same | ||
1422 | * defaults as the Ralink driver: 16 for both, CCK and OFDM SIFS. | ||
1423 | */ | ||
1417 | rt2800_register_read(rt2x00dev, XIFS_TIME_CFG, ®); | 1424 | rt2800_register_read(rt2x00dev, XIFS_TIME_CFG, ®); |
1418 | rt2x00_set_field32(®, XIFS_TIME_CFG_CCKM_SIFS_TIME, 32); | 1425 | rt2x00_set_field32(®, XIFS_TIME_CFG_CCKM_SIFS_TIME, 16); |
1419 | rt2x00_set_field32(®, XIFS_TIME_CFG_OFDM_SIFS_TIME, 32); | 1426 | rt2x00_set_field32(®, XIFS_TIME_CFG_OFDM_SIFS_TIME, 16); |
1420 | rt2x00_set_field32(®, XIFS_TIME_CFG_OFDM_XIFS_TIME, 4); | 1427 | rt2x00_set_field32(®, XIFS_TIME_CFG_OFDM_XIFS_TIME, 4); |
1421 | rt2x00_set_field32(®, XIFS_TIME_CFG_EIFS, 314); | 1428 | rt2x00_set_field32(®, XIFS_TIME_CFG_EIFS, 314); |
1422 | rt2x00_set_field32(®, XIFS_TIME_CFG_BB_RXEND_ENABLE, 1); | 1429 | rt2x00_set_field32(®, XIFS_TIME_CFG_BB_RXEND_ENABLE, 1); |