diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2015-12-15 05:52:36 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-12-15 12:46:03 -0500 |
commit | 351434c6ba92e1fe7799a0c33c1412584a0fb3de (patch) | |
tree | f0d7379e8c1ac78f506c390e378704aeb8d04ead | |
parent | c7557e6a56510ff6636d40ad4ff64a3ef7d9e197 (diff) |
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 <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qlge/qlge_main.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c index 02b7115b6aaa..997976426799 100644 --- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c +++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c | |||
@@ -4211,8 +4211,9 @@ static int ql_change_rx_buffers(struct ql_adapter *qdev) | |||
4211 | 4211 | ||
4212 | /* Wait for an outstanding reset to complete. */ | 4212 | /* Wait for an outstanding reset to complete. */ |
4213 | if (!test_bit(QL_ADAPTER_UP, &qdev->flags)) { | 4213 | if (!test_bit(QL_ADAPTER_UP, &qdev->flags)) { |
4214 | int i = 3; | 4214 | int i = 4; |
4215 | while (i-- && !test_bit(QL_ADAPTER_UP, &qdev->flags)) { | 4215 | |
4216 | while (--i && !test_bit(QL_ADAPTER_UP, &qdev->flags)) { | ||
4216 | netif_err(qdev, ifup, qdev->ndev, | 4217 | netif_err(qdev, ifup, qdev->ndev, |
4217 | "Waiting for adapter UP...\n"); | 4218 | "Waiting for adapter UP...\n"); |
4218 | ssleep(1); | 4219 | ssleep(1); |