Greetings. As I understand, qlge_change_rx_buffers() waits 4 times for an outstanding reset to complete. And if it cannot, reports about timeout. I assume this can be written using for loop instead of while, wich looks nicer for me. Hope my guess was right. Signed-off-by: Adam Kandur <sys.arch.adam@xxxxxxxxx> --- drivers/staging/qlge/qlge_main.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/staging/qlge/qlge_main.c b/drivers/staging/qlge/qlge_main.c index 9873bb2a9ee4..f36e43a85038 100644 --- a/drivers/staging/qlge/qlge_main.c +++ b/drivers/staging/qlge/qlge_main.c @@ -4012,19 +4012,16 @@ static int qlge_change_rx_buffers(struct qlge_adapter *qdev) /* Wait for an outstanding reset to complete. */ if (!test_bit(QL_ADAPTER_UP, &qdev->flags)) { - int i = 4; - - while (--i && !test_bit(QL_ADAPTER_UP, &qdev->flags)) { + for (int i = 4; !test_bit(QL_ADAPTER_UP, &qdev->flags); i--) { + if (!i) { + netif_err(qdev, ifup, qdev->ndev, + "Timed out waiting for adapter UP\n"); + return -ETIMEDOUT; + } netif_err(qdev, ifup, qdev->ndev, "Waiting for adapter UP...\n"); ssleep(1); } - - if (!i) { - netif_err(qdev, ifup, qdev->ndev, - "Timed out waiting for adapter UP\n"); - return -ETIMEDOUT; - } } status = qlge_adapter_down(qdev); -- 2.34.0