diff options
Diffstat (limited to 'drivers/s390/net/qeth_l2_main.c')
| -rw-r--r-- | drivers/s390/net/qeth_l2_main.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index e67e0258aec5..73195553f84b 100644 --- a/drivers/s390/net/qeth_l2_main.c +++ b/drivers/s390/net/qeth_l2_main.c | |||
| @@ -411,7 +411,7 @@ static int qeth_l2_process_inbound_buffer(struct qeth_card *card, | |||
| 411 | unsigned int len; | 411 | unsigned int len; |
| 412 | 412 | ||
| 413 | *done = 0; | 413 | *done = 0; |
| 414 | BUG_ON(!budget); | 414 | WARN_ON_ONCE(!budget); |
| 415 | while (budget) { | 415 | while (budget) { |
| 416 | skb = qeth_core_get_next_skb(card, | 416 | skb = qeth_core_get_next_skb(card, |
| 417 | &card->qdio.in_q->bufs[card->rx.b_index], | 417 | &card->qdio.in_q->bufs[card->rx.b_index], |
| @@ -626,10 +626,13 @@ static int qeth_l2_request_initial_mac(struct qeth_card *card) | |||
| 626 | QETH_DBF_TEXT(SETUP, 2, "doL2init"); | 626 | QETH_DBF_TEXT(SETUP, 2, "doL2init"); |
| 627 | QETH_DBF_TEXT_(SETUP, 2, "doL2%s", CARD_BUS_ID(card)); | 627 | QETH_DBF_TEXT_(SETUP, 2, "doL2%s", CARD_BUS_ID(card)); |
| 628 | 628 | ||
| 629 | rc = qeth_query_setadapterparms(card); | 629 | if (qeth_is_supported(card, IPA_SETADAPTERPARMS)) { |
| 630 | if (rc) { | 630 | rc = qeth_query_setadapterparms(card); |
| 631 | QETH_DBF_MESSAGE(2, "could not query adapter parameters on " | 631 | if (rc) { |
| 632 | "device %s: x%x\n", CARD_BUS_ID(card), rc); | 632 | QETH_DBF_MESSAGE(2, "could not query adapter " |
| 633 | "parameters on device %s: x%x\n", | ||
| 634 | CARD_BUS_ID(card), rc); | ||
| 635 | } | ||
| 633 | } | 636 | } |
| 634 | 637 | ||
| 635 | if (card->info.type == QETH_CARD_TYPE_IQD || | 638 | if (card->info.type == QETH_CARD_TYPE_IQD || |
| @@ -676,7 +679,7 @@ static int qeth_l2_set_mac_address(struct net_device *dev, void *p) | |||
| 676 | return -ERESTARTSYS; | 679 | return -ERESTARTSYS; |
| 677 | } | 680 | } |
| 678 | rc = qeth_l2_send_delmac(card, &card->dev->dev_addr[0]); | 681 | rc = qeth_l2_send_delmac(card, &card->dev->dev_addr[0]); |
| 679 | if (!rc) | 682 | if (!rc || (rc == IPA_RC_L2_MAC_NOT_FOUND)) |
| 680 | rc = qeth_l2_send_setmac(card, addr->sa_data); | 683 | rc = qeth_l2_send_setmac(card, addr->sa_data); |
| 681 | return rc ? -EINVAL : 0; | 684 | return rc ? -EINVAL : 0; |
| 682 | } | 685 | } |
| @@ -970,7 +973,6 @@ static int __qeth_l2_set_online(struct ccwgroup_device *gdev, int recovery_mode) | |||
| 970 | int rc = 0; | 973 | int rc = 0; |
| 971 | enum qeth_card_states recover_flag; | 974 | enum qeth_card_states recover_flag; |
| 972 | 975 | ||
| 973 | BUG_ON(!card); | ||
| 974 | mutex_lock(&card->discipline_mutex); | 976 | mutex_lock(&card->discipline_mutex); |
| 975 | mutex_lock(&card->conf_mutex); | 977 | mutex_lock(&card->conf_mutex); |
| 976 | QETH_DBF_TEXT(SETUP, 2, "setonlin"); | 978 | QETH_DBF_TEXT(SETUP, 2, "setonlin"); |
| @@ -983,6 +985,7 @@ static int __qeth_l2_set_online(struct ccwgroup_device *gdev, int recovery_mode) | |||
| 983 | rc = -ENODEV; | 985 | rc = -ENODEV; |
| 984 | goto out_remove; | 986 | goto out_remove; |
| 985 | } | 987 | } |
| 988 | qeth_trace_features(card); | ||
| 986 | 989 | ||
| 987 | if (!card->dev && qeth_l2_setup_netdev(card)) { | 990 | if (!card->dev && qeth_l2_setup_netdev(card)) { |
| 988 | rc = -ENODEV; | 991 | rc = -ENODEV; |
