qlge: fix a timeout loop in ql_change_rx_buffers()
Subsystems (3)
PATCH 1/1 qlge: fix a timeout loop in ql_change_rx_buffers()
The problem here is that after the loop we test for "if (!i) " but because "i--" is a post-op we exit with i set to -1. I have fixed this by changing it to a pre-op instead. I had to change the starting value from 3 to 4 so that we still iterate 3 times.
Signed-off-by Dan Carpenter <[email protected]>
drivers/net/ethernet/qlogic/qlge/qlge_main.c +3 -2
@@ -4211,8 +4211,9 @@ static int ql_change_rx_buffers(struct ql_adapter *qdev)/* Wait for an outstanding reset to complete. */ if (!test_bit (QL_ADAPTER_UP , &qdev->flags)) { -int i =3 ; -while (i-- && !test_bit (QL_ADAPTER_UP , &qdev->flags)) { +int i =4 ; + +while (--i && !test_bit (QL_ADAPTER_UP , &qdev->flags)) {netif_err (qdev, ifup, qdev->ndev,"Waiting for adapter UP...\n" );ssleep (1 );
From: Dan Carpenter <[email protected]>
Date: Tue, 15 Dec 2015 13:52:36 +0300
Quoted 6 lines
The problem here is that after the loop we test for "if (!i) " but because "i--" is a post-op we exit with i set to -1. I have fixed this by changing it to a pre-op instead. I had to change the starting value from 3 to 4 so that we still iterate 3 times.
Signed-off-by Dan Carpenter <[email protected]>
Applied.