mt7603: issue PSE client reset on init

Improves reliability of module reload after tx hangs

Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2019-01-22 14:09:54 +01:00
parent fe30bd35e2
commit ce8cc5d52d
3 changed files with 4 additions and 1 deletions
+1
View File
@@ -197,6 +197,7 @@ int mt7603_dma_init(struct mt7603_dev *dev)
MT_WPDMA_GLO_CFG_TX_WRITEBACK_DONE);
mt76_wr(dev, MT_WPDMA_RST_IDX, ~0);
mt7603_pse_client_reset(dev);
for (i = 0; i < ARRAY_SIZE(wmm_queue_map); i++) {
ret = mt7603_init_tx_queue(dev, &dev->mt76.q_tx[i],
+1 -1
View File
@@ -1263,7 +1263,7 @@ void mt7603_mac_stop(struct mt7603_dev *dev)
mt76_clear(dev, MT_WF_ARB_RQCR, MT_WF_ARB_RQCR_RX_START);
}
static void mt7603_pse_client_reset(struct mt7603_dev *dev)
void mt7603_pse_client_reset(struct mt7603_dev *dev)
{
u32 addr;
+2
View File
@@ -221,6 +221,8 @@ void mt7603_mac_rx_ba_reset(struct mt7603_dev *dev, void *addr, u8 tid);
void mt7603_mac_tx_ba_reset(struct mt7603_dev *dev, int wcid, int tid, int ssn,
int ba_size);
void mt7603_pse_client_reset(struct mt7603_dev *dev);
int mt7603_mcu_set_channel(struct mt7603_dev *dev);
int mt7603_mcu_set_eeprom(struct mt7603_dev *dev);
void mt7603_mcu_exit(struct mt7603_dev *dev);