diff options
Diffstat (limited to 'drivers/s390/net/qeth_main.c')
-rw-r--r-- | drivers/s390/net/qeth_main.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index 97f927c01a82..dba7f7f02e79 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c | |||
@@ -1,6 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * linux/drivers/s390/net/qeth_main.c |
3 | * linux/drivers/s390/net/qeth_main.c ($Revision: 1.251 $) | ||
4 | * | 3 | * |
5 | * Linux on zSeries OSA Express and HiperSockets support | 4 | * Linux on zSeries OSA Express and HiperSockets support |
6 | * | 5 | * |
@@ -12,8 +11,6 @@ | |||
12 | * Frank Pavlic (fpavlic@de.ibm.com) and | 11 | * Frank Pavlic (fpavlic@de.ibm.com) and |
13 | * Thomas Spatzier <tspat@de.ibm.com> | 12 | * Thomas Spatzier <tspat@de.ibm.com> |
14 | * | 13 | * |
15 | * $Revision: 1.251 $ $Date: 2005/05/04 20:19:18 $ | ||
16 | * | ||
17 | * This program is free software; you can redistribute it and/or modify | 14 | * This program is free software; you can redistribute it and/or modify |
18 | * it under the terms of the GNU General Public License as published by | 15 | * it under the terms of the GNU General Public License as published by |
19 | * the Free Software Foundation; either version 2, or (at your option) | 16 | * the Free Software Foundation; either version 2, or (at your option) |
@@ -73,7 +70,6 @@ | |||
73 | #include "qeth_eddp.h" | 70 | #include "qeth_eddp.h" |
74 | #include "qeth_tso.h" | 71 | #include "qeth_tso.h" |
75 | 72 | ||
76 | #define VERSION_QETH_C "$Revision: 1.251 $" | ||
77 | static const char *version = "qeth S/390 OSA-Express driver"; | 73 | static const char *version = "qeth S/390 OSA-Express driver"; |
78 | 74 | ||
79 | /** | 75 | /** |
@@ -520,7 +516,8 @@ __qeth_set_offline(struct ccwgroup_device *cgdev, int recovery_mode) | |||
520 | QETH_DBF_TEXT(setup, 3, "setoffl"); | 516 | QETH_DBF_TEXT(setup, 3, "setoffl"); |
521 | QETH_DBF_HEX(setup, 3, &card, sizeof(void *)); | 517 | QETH_DBF_HEX(setup, 3, &card, sizeof(void *)); |
522 | 518 | ||
523 | netif_carrier_off(card->dev); | 519 | if (card->dev && netif_carrier_ok(card->dev)) |
520 | netif_carrier_off(card->dev); | ||
524 | recover_flag = card->state; | 521 | recover_flag = card->state; |
525 | if (qeth_stop_card(card, recovery_mode) == -ERESTARTSYS){ | 522 | if (qeth_stop_card(card, recovery_mode) == -ERESTARTSYS){ |
526 | PRINT_WARN("Stopping card %s interrupted by user!\n", | 523 | PRINT_WARN("Stopping card %s interrupted by user!\n", |
@@ -1683,6 +1680,7 @@ qeth_cmd_timeout(unsigned long data) | |||
1683 | spin_unlock_irqrestore(&reply->card->lock, flags); | 1680 | spin_unlock_irqrestore(&reply->card->lock, flags); |
1684 | } | 1681 | } |
1685 | 1682 | ||
1683 | |||
1686 | static struct qeth_ipa_cmd * | 1684 | static struct qeth_ipa_cmd * |
1687 | qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) | 1685 | qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) |
1688 | { | 1686 | { |
@@ -1703,7 +1701,8 @@ qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) | |||
1703 | QETH_CARD_IFNAME(card), | 1701 | QETH_CARD_IFNAME(card), |
1704 | card->info.chpid); | 1702 | card->info.chpid); |
1705 | card->lan_online = 0; | 1703 | card->lan_online = 0; |
1706 | netif_carrier_off(card->dev); | 1704 | if (card->dev && netif_carrier_ok(card->dev)) |
1705 | netif_carrier_off(card->dev); | ||
1707 | return NULL; | 1706 | return NULL; |
1708 | case IPA_CMD_STARTLAN: | 1707 | case IPA_CMD_STARTLAN: |
1709 | PRINT_INFO("Link reestablished on %s " | 1708 | PRINT_INFO("Link reestablished on %s " |
@@ -5566,7 +5565,7 @@ qeth_set_multicast_list(struct net_device *dev) | |||
5566 | if (card->info.type == QETH_CARD_TYPE_OSN) | 5565 | if (card->info.type == QETH_CARD_TYPE_OSN) |
5567 | return ; | 5566 | return ; |
5568 | 5567 | ||
5569 | QETH_DBF_TEXT(trace,3,"setmulti"); | 5568 | QETH_DBF_TEXT(trace, 3, "setmulti"); |
5570 | qeth_delete_mc_addresses(card); | 5569 | qeth_delete_mc_addresses(card); |
5571 | if (card->options.layer2) { | 5570 | if (card->options.layer2) { |
5572 | qeth_layer2_add_multicast(card); | 5571 | qeth_layer2_add_multicast(card); |
@@ -5583,7 +5582,6 @@ out: | |||
5583 | return; | 5582 | return; |
5584 | if (qeth_set_thread_start_bit(card, QETH_SET_PROMISC_MODE_THREAD)==0) | 5583 | if (qeth_set_thread_start_bit(card, QETH_SET_PROMISC_MODE_THREAD)==0) |
5585 | schedule_work(&card->kernel_thread_starter); | 5584 | schedule_work(&card->kernel_thread_starter); |
5586 | |||
5587 | } | 5585 | } |
5588 | 5586 | ||
5589 | static int | 5587 | static int |
@@ -7456,6 +7454,7 @@ qeth_softsetup_card(struct qeth_card *card) | |||
7456 | card->lan_online = 1; | 7454 | card->lan_online = 1; |
7457 | if (card->info.type==QETH_CARD_TYPE_OSN) | 7455 | if (card->info.type==QETH_CARD_TYPE_OSN) |
7458 | goto out; | 7456 | goto out; |
7457 | qeth_set_large_send(card, card->options.large_send); | ||
7459 | if (card->options.layer2) { | 7458 | if (card->options.layer2) { |
7460 | card->dev->features |= | 7459 | card->dev->features |= |
7461 | NETIF_F_HW_VLAN_FILTER | | 7460 | NETIF_F_HW_VLAN_FILTER | |
@@ -7472,12 +7471,6 @@ qeth_softsetup_card(struct qeth_card *card) | |||
7472 | #endif | 7471 | #endif |
7473 | goto out; | 7472 | goto out; |
7474 | } | 7473 | } |
7475 | if ((card->options.large_send == QETH_LARGE_SEND_EDDP) || | ||
7476 | (card->options.large_send == QETH_LARGE_SEND_TSO)) | ||
7477 | card->dev->features |= NETIF_F_TSO | NETIF_F_SG; | ||
7478 | else | ||
7479 | card->dev->features &= ~(NETIF_F_TSO | NETIF_F_SG); | ||
7480 | |||
7481 | if ((rc = qeth_setadapter_parms(card))) | 7474 | if ((rc = qeth_setadapter_parms(card))) |
7482 | QETH_DBF_TEXT_(setup, 2, "2err%d", rc); | 7475 | QETH_DBF_TEXT_(setup, 2, "2err%d", rc); |
7483 | if ((rc = qeth_start_ipassists(card))) | 7476 | if ((rc = qeth_start_ipassists(card))) |
@@ -8626,12 +8619,7 @@ qeth_init(void) | |||
8626 | { | 8619 | { |
8627 | int rc=0; | 8620 | int rc=0; |
8628 | 8621 | ||
8629 | PRINT_INFO("loading %s (%s/%s/%s/%s/%s/%s/%s %s %s)\n", | 8622 | PRINT_INFO("loading %s\n", version); |
8630 | version, VERSION_QETH_C, VERSION_QETH_H, | ||
8631 | VERSION_QETH_MPC_H, VERSION_QETH_MPC_C, | ||
8632 | VERSION_QETH_FS_H, VERSION_QETH_PROC_C, | ||
8633 | VERSION_QETH_SYS_C, QETH_VERSION_IPV6, | ||
8634 | QETH_VERSION_VLAN); | ||
8635 | 8623 | ||
8636 | INIT_LIST_HEAD(&qeth_card_list.list); | 8624 | INIT_LIST_HEAD(&qeth_card_list.list); |
8637 | INIT_LIST_HEAD(&qeth_notify_list); | 8625 | INIT_LIST_HEAD(&qeth_notify_list); |