mirror of https://gitee.com/openkylin/linux.git
rt2800: disable DMA after firmware load
We can receive frames just after firmware load with current code, so disable DMA just after firmware is loaded, not before. Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
0c17cf962d
commit
4ed1dd2a7e
|
@ -411,18 +411,6 @@ int rt2800_load_firmware(struct rt2x00_dev *rt2x00dev,
|
||||||
rt2800_register_write(rt2x00dev, PWR_PIN_CFG, 0x00000002);
|
rt2800_register_write(rt2x00dev, PWR_PIN_CFG, 0x00000002);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Disable DMA, will be reenabled later when enabling
|
|
||||||
* the radio.
|
|
||||||
*/
|
|
||||||
rt2800_register_read(rt2x00dev, WPDMA_GLO_CFG, ®);
|
|
||||||
rt2x00_set_field32(®, WPDMA_GLO_CFG_ENABLE_TX_DMA, 0);
|
|
||||||
rt2x00_set_field32(®, WPDMA_GLO_CFG_TX_DMA_BUSY, 0);
|
|
||||||
rt2x00_set_field32(®, WPDMA_GLO_CFG_ENABLE_RX_DMA, 0);
|
|
||||||
rt2x00_set_field32(®, WPDMA_GLO_CFG_RX_DMA_BUSY, 0);
|
|
||||||
rt2x00_set_field32(®, WPDMA_GLO_CFG_TX_WRITEBACK_DONE, 1);
|
|
||||||
rt2800_register_write(rt2x00dev, WPDMA_GLO_CFG, reg);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Write firmware to the device.
|
* Write firmware to the device.
|
||||||
*/
|
*/
|
||||||
|
@ -443,6 +431,15 @@ int rt2800_load_firmware(struct rt2x00_dev *rt2x00dev,
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Disable DMA, will be reenabled later when enabling
|
||||||
|
* the radio.
|
||||||
|
*/
|
||||||
|
rt2800_register_read(rt2x00dev, WPDMA_GLO_CFG, ®);
|
||||||
|
rt2x00_set_field32(®, WPDMA_GLO_CFG_ENABLE_TX_DMA, 0);
|
||||||
|
rt2x00_set_field32(®, WPDMA_GLO_CFG_ENABLE_RX_DMA, 0);
|
||||||
|
rt2800_register_write(rt2x00dev, WPDMA_GLO_CFG, reg);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize firmware.
|
* Initialize firmware.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue