wifi: mt76: mt7921s: Introduce SDIO WiFi/BT combo module card reset

Add a hardware reset method to recover from the SDIO bus error that cannot
be resolved by the current WiFi/BT subsystem reset.

Signed-off-by: Leon Yen <[email protected]>
Signed-off-by: Ming Yen Hsieh <[email protected]>
Link: https://patch.msgid.link/[email protected]
This commit is contained in:
Leon Yen
2025-07-07 18:10:01 +02:00
committed by Felix Fietkau
parent b9f4e0df31
commit ec95319fd3
6 changed files with 72 additions and 2 deletions
+4 -2
View File
@@ -112,6 +112,7 @@ mt76s_rx_run_queue(struct mt76_dev *dev, enum mt76_rxq_id qid,
if (err < 0) {
dev_err(dev->dev, "sdio read data failed:%d\n", err);
atomic_set(&dev->bus_hung, true);
put_page(page);
return err;
}
@@ -234,9 +235,10 @@ static int __mt76s_xmit_queue(struct mt76_dev *dev, u8 *data, int len)
err = sdio_writesb(sdio->func, MCR_WTDR1, data, len);
sdio_release_host(sdio->func);
if (err)
if (err) {
dev_err(dev->dev, "sdio write failed: %d\n", err);
atomic_set(&dev->bus_hung, true);
}
return err;
}