diff options
Diffstat (limited to 'sys/contrib/dev/mediatek/mt76/sdio_txrx.c')
| -rw-r--r-- | sys/contrib/dev/mediatek/mt76/sdio_txrx.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/sys/contrib/dev/mediatek/mt76/sdio_txrx.c b/sys/contrib/dev/mediatek/mt76/sdio_txrx.c index 0a927a7313a6..f882d21c9f63 100644 --- a/sys/contrib/dev/mediatek/mt76/sdio_txrx.c +++ b/sys/contrib/dev/mediatek/mt76/sdio_txrx.c @@ -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;  } | 
