|
@@ -2944,7 +2944,7 @@ int qeth_send_ipa_cmd(struct qeth_card *card, struct qeth_cmd_buffer *iob,
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(qeth_send_ipa_cmd);
|
|
EXPORT_SYMBOL_GPL(qeth_send_ipa_cmd);
|
|
|
|
|
|
-int qeth_send_startlan(struct qeth_card *card)
|
|
|
|
|
|
+static int qeth_send_startlan(struct qeth_card *card)
|
|
{
|
|
{
|
|
int rc;
|
|
int rc;
|
|
struct qeth_cmd_buffer *iob;
|
|
struct qeth_cmd_buffer *iob;
|
|
@@ -2957,7 +2957,6 @@ int qeth_send_startlan(struct qeth_card *card)
|
|
rc = qeth_send_ipa_cmd(card, iob, NULL, NULL);
|
|
rc = qeth_send_ipa_cmd(card, iob, NULL, NULL);
|
|
return rc;
|
|
return rc;
|
|
}
|
|
}
|
|
-EXPORT_SYMBOL_GPL(qeth_send_startlan);
|
|
|
|
|
|
|
|
static int qeth_default_setadapterparms_cb(struct qeth_card *card,
|
|
static int qeth_default_setadapterparms_cb(struct qeth_card *card,
|
|
struct qeth_reply *reply, unsigned long data)
|
|
struct qeth_reply *reply, unsigned long data)
|
|
@@ -5087,6 +5086,20 @@ retriable:
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ rc = qeth_send_startlan(card);
|
|
|
|
+ if (rc) {
|
|
|
|
+ QETH_DBF_TEXT_(SETUP, 2, "6err%d", rc);
|
|
|
|
+ if (rc == IPA_RC_LAN_OFFLINE) {
|
|
|
|
+ dev_warn(&card->gdev->dev,
|
|
|
|
+ "The LAN is offline\n");
|
|
|
|
+ card->lan_online = 0;
|
|
|
|
+ } else {
|
|
|
|
+ rc = -ENODEV;
|
|
|
|
+ goto out;
|
|
|
|
+ }
|
|
|
|
+ } else
|
|
|
|
+ card->lan_online = 1;
|
|
|
|
+
|
|
card->options.ipa4.supported_funcs = 0;
|
|
card->options.ipa4.supported_funcs = 0;
|
|
card->options.ipa6.supported_funcs = 0;
|
|
card->options.ipa6.supported_funcs = 0;
|
|
card->options.adp.supported_funcs = 0;
|
|
card->options.adp.supported_funcs = 0;
|
|
@@ -5098,14 +5111,14 @@ retriable:
|
|
if (qeth_is_supported(card, IPA_SETADAPTERPARMS)) {
|
|
if (qeth_is_supported(card, IPA_SETADAPTERPARMS)) {
|
|
rc = qeth_query_setadapterparms(card);
|
|
rc = qeth_query_setadapterparms(card);
|
|
if (rc < 0) {
|
|
if (rc < 0) {
|
|
- QETH_DBF_TEXT_(SETUP, 2, "6err%d", rc);
|
|
|
|
|
|
+ QETH_DBF_TEXT_(SETUP, 2, "7err%d", rc);
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (qeth_adp_supported(card, IPA_SETADP_SET_DIAG_ASSIST)) {
|
|
if (qeth_adp_supported(card, IPA_SETADP_SET_DIAG_ASSIST)) {
|
|
rc = qeth_query_setdiagass(card);
|
|
rc = qeth_query_setdiagass(card);
|
|
if (rc < 0) {
|
|
if (rc < 0) {
|
|
- QETH_DBF_TEXT_(SETUP, 2, "7err%d", rc);
|
|
|
|
|
|
+ QETH_DBF_TEXT_(SETUP, 2, "8err%d", rc);
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
}
|
|
}
|