|
@@ -4743,15 +4743,16 @@ static int rt2800_init_registers(struct rt2x00_dev *rt2x00dev)
|
|
|
|
|
|
rt2800_register_read(rt2x00dev, MAX_LEN_CFG, ®);
|
|
|
rt2x00_set_field32(®, MAX_LEN_CFG_MAX_MPDU, AGGREGATION_SIZE);
|
|
|
- if (rt2x00_rt_rev_gte(rt2x00dev, RT2872, REV_RT2872E) ||
|
|
|
- rt2x00_rt(rt2x00dev, RT2883) ||
|
|
|
- rt2x00_rt_rev_lt(rt2x00dev, RT3070, REV_RT3070E)) {
|
|
|
+ if (rt2x00_is_usb(rt2x00dev)) {
|
|
|
+ drv_data->max_psdu = 3;
|
|
|
+ } else if (rt2x00_rt_rev_gte(rt2x00dev, RT2872, REV_RT2872E) ||
|
|
|
+ rt2x00_rt(rt2x00dev, RT2883) ||
|
|
|
+ rt2x00_rt_rev_lt(rt2x00dev, RT3070, REV_RT3070E)) {
|
|
|
drv_data->max_psdu = 2;
|
|
|
- rt2x00_set_field32(®, MAX_LEN_CFG_MAX_PSDU, 2);
|
|
|
} else {
|
|
|
drv_data->max_psdu = 1;
|
|
|
- rt2x00_set_field32(®, MAX_LEN_CFG_MAX_PSDU, 1);
|
|
|
}
|
|
|
+ rt2x00_set_field32(®, MAX_LEN_CFG_MAX_PSDU, drv_data->max_psdu);
|
|
|
rt2x00_set_field32(®, MAX_LEN_CFG_MIN_PSDU, 10);
|
|
|
rt2x00_set_field32(®, MAX_LEN_CFG_MIN_MPDU, 10);
|
|
|
rt2800_register_write(rt2x00dev, MAX_LEN_CFG, reg);
|