mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 06:07:22 +07:00
mt76: mt76x0u: do not reset radio on resume
On some machines mt76x0u firmware can hung during resume,
what result on messages like below:
[ 475.480062] mt76x0 1-8:1.0: Error: MCU response pre-completed!
[ 475.990066] mt76x0 1-8:1.0: Error: send MCU cmd failed:-110
[ 475.990075] mt76x0 1-8:1.0: Error: MCU response pre-completed!
[ 476.500003] mt76x0 1-8:1.0: Error: send MCU cmd failed:-110
[ 476.500012] mt76x0 1-8:1.0: Error: MCU response pre-completed!
[ 477.010046] mt76x0 1-8:1.0: Error: send MCU cmd failed:-110
[ 477.010055] mt76x0 1-8:1.0: Error: MCU response pre-completed!
[ 477.529997] mt76x0 1-8:1.0: Error: send MCU cmd failed:-110
[ 477.530006] mt76x0 1-8:1.0: Error: MCU response pre-completed!
[ 477.824907] mt76x0 1-8:1.0: Error: send MCU cmd failed:-71
[ 477.824916] mt76x0 1-8:1.0: Error: MCU response pre-completed!
[ 477.825029] usb 1-8: USB disconnect, device number 6
and possible whole system freeze.
This can be avoided, if we do not perform mt76x0_chip_onoff() reset.
Cc: stable@vger.kernel.org
Fixes: 134b2d0d1f
("mt76x0: init files")
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
d1abaeb3be
commit
8f2d163cb2
@ -136,11 +136,11 @@ static const struct ieee80211_ops mt76x0u_ops = {
|
||||
.release_buffered_frames = mt76_release_buffered_frames,
|
||||
};
|
||||
|
||||
static int mt76x0u_init_hardware(struct mt76x02_dev *dev)
|
||||
static int mt76x0u_init_hardware(struct mt76x02_dev *dev, bool reset)
|
||||
{
|
||||
int err;
|
||||
|
||||
mt76x0_chip_onoff(dev, true, true);
|
||||
mt76x0_chip_onoff(dev, true, reset);
|
||||
|
||||
if (!mt76x02_wait_for_mac(&dev->mt76))
|
||||
return -ETIMEDOUT;
|
||||
@ -173,7 +173,7 @@ static int mt76x0u_register_device(struct mt76x02_dev *dev)
|
||||
if (err < 0)
|
||||
goto out_err;
|
||||
|
||||
err = mt76x0u_init_hardware(dev);
|
||||
err = mt76x0u_init_hardware(dev, true);
|
||||
if (err < 0)
|
||||
goto out_err;
|
||||
|
||||
@ -309,7 +309,7 @@ static int __maybe_unused mt76x0_resume(struct usb_interface *usb_intf)
|
||||
if (ret < 0)
|
||||
goto err;
|
||||
|
||||
ret = mt76x0u_init_hardware(dev);
|
||||
ret = mt76x0u_init_hardware(dev, false);
|
||||
if (ret)
|
||||
goto err;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user