diff options
author | Stefan Raspl <raspl@linux.vnet.ibm.com> | 2013-01-20 21:30:18 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-21 13:51:14 -0500 |
commit | 6ebb7f8d79d16e9e921bc1112171faa93a9102ed (patch) | |
tree | d0b962d7c0e1cfcf818f49cf1128a3010c8ba971 | |
parent | 9acefd17cba1a018163d00b5b5e463db8e3761ab (diff) |
qeth: Fix retry logic in hardsetup
The previous code did never retry any idx setup unless retries were done
for device offline/online at the beginning of the function.
Signed-off-by: Stefan Raspl <raspl@linux.vnet.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Reviewed-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 029a7acf7b7a..1ea6b70d4855 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c | |||
@@ -4765,14 +4765,14 @@ static struct ccw_driver qeth_ccw_driver = { | |||
4765 | 4765 | ||
4766 | int qeth_core_hardsetup_card(struct qeth_card *card) | 4766 | int qeth_core_hardsetup_card(struct qeth_card *card) |
4767 | { | 4767 | { |
4768 | int retries = 0; | 4768 | int retries = 3; |
4769 | int rc; | 4769 | int rc; |
4770 | 4770 | ||
4771 | QETH_DBF_TEXT(SETUP, 2, "hrdsetup"); | 4771 | QETH_DBF_TEXT(SETUP, 2, "hrdsetup"); |
4772 | atomic_set(&card->force_alloc_skb, 0); | 4772 | atomic_set(&card->force_alloc_skb, 0); |
4773 | qeth_update_from_chp_desc(card); | 4773 | qeth_update_from_chp_desc(card); |
4774 | retry: | 4774 | retry: |
4775 | if (retries) | 4775 | if (retries < 3) |
4776 | QETH_DBF_MESSAGE(2, "%s Retrying to do IDX activates.\n", | 4776 | QETH_DBF_MESSAGE(2, "%s Retrying to do IDX activates.\n", |
4777 | dev_name(&card->gdev->dev)); | 4777 | dev_name(&card->gdev->dev)); |
4778 | ccw_device_set_offline(CARD_DDEV(card)); | 4778 | ccw_device_set_offline(CARD_DDEV(card)); |
@@ -4794,7 +4794,7 @@ retriable: | |||
4794 | return rc; | 4794 | return rc; |
4795 | } else if (rc) { | 4795 | } else if (rc) { |
4796 | QETH_DBF_TEXT_(SETUP, 2, "1err%d", rc); | 4796 | QETH_DBF_TEXT_(SETUP, 2, "1err%d", rc); |
4797 | if (++retries > 3) | 4797 | if (--retries < 0) |
4798 | goto out; | 4798 | goto out; |
4799 | else | 4799 | else |
4800 | goto retry; | 4800 | goto retry; |