| From ed53ae75693096f1c10b4561edd31a07b631bd72 Mon Sep 17 00:00:00 2001 |
| From: Stanislaw Gruszka <stf_xl@wp.pl> |
| Date: Thu, 11 Nov 2021 15:10:03 +0100 |
| Subject: rt2x00: do not mark device gone on EPROTO errors during start |
| |
| From: Stanislaw Gruszka <stf_xl@wp.pl> |
| |
| commit ed53ae75693096f1c10b4561edd31a07b631bd72 upstream. |
| |
| As reported by Exuvo is possible that we have lot's of EPROTO errors |
| during device start i.e. firmware load. But after that device works |
| correctly. Hence marking device gone by few EPROTO errors done by |
| commit e383c70474db ("rt2x00: check number of EPROTO errors") caused |
| regression - Exuvo device stop working after kernel update. To fix |
| disable the check during device start. |
| |
| Link: https://lore.kernel.org/linux-wireless/bff7d309-a816-6a75-51b6-5928ef4f7a8c@exuvo.se/ |
| Reported-and-tested-by: Exuvo <exuvo@exuvo.se> |
| Fixes: e383c70474db ("rt2x00: check number of EPROTO errors") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Link: https://lore.kernel.org/r/20211111141003.GA134627@wp.pl |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/wireless/ralink/rt2x00/rt2x00usb.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c |
| +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c |
| @@ -25,6 +25,9 @@ static bool rt2x00usb_check_usb_error(st |
| if (status == -ENODEV || status == -ENOENT) |
| return true; |
| |
| + if (!test_bit(DEVICE_STATE_STARTED, &rt2x00dev->flags)) |
| + return false; |
| + |
| if (status == -EPROTO || status == -ETIMEDOUT) |
| rt2x00dev->num_proto_errs++; |
| else |