diff options
author | Peter Tiedemann <ptiedem@de.ibm.com> | 2007-05-02 09:19:35 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-05-08 01:16:24 -0400 |
commit | 7dd976fcfd89080915e217dd494be0c6c475835c (patch) | |
tree | 377469f435b64233d373b5e9a1f08878d127516f /drivers/s390/net/qeth_main.c | |
parent | 0be4acec829ae37901aea7bd09aca1cea319833a (diff) |
s390: qeth driver hardware specs adaptions
s390: qeth driver hardware specs adaptions
- according to the latest OSA hardware specification
incorporate actual IPA command and return codes into qeth.
- whitespaces removed from qeth_mpc.h
Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/s390/net/qeth_main.c')
-rw-r--r-- | drivers/s390/net/qeth_main.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index 134f08c200d2..29d176036e5c 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c | |||
@@ -1682,6 +1682,21 @@ qeth_put_reply(struct qeth_reply *reply) | |||
1682 | kfree(reply); | 1682 | kfree(reply); |
1683 | } | 1683 | } |
1684 | 1684 | ||
1685 | static void | ||
1686 | qeth_issue_ipa_msg(struct qeth_ipa_cmd *cmd, struct qeth_card *card) | ||
1687 | { | ||
1688 | int rc; | ||
1689 | int com; | ||
1690 | char * ipa_name; | ||
1691 | |||
1692 | com = cmd->hdr.command; | ||
1693 | rc = cmd->hdr.return_code; | ||
1694 | ipa_name = qeth_get_ipa_cmd_name(com); | ||
1695 | |||
1696 | PRINT_ERR("%s(x%X) for %s returned x%X \"%s\"\n", ipa_name, com, | ||
1697 | QETH_CARD_IFNAME(card), rc, qeth_get_ipa_msg(rc)); | ||
1698 | } | ||
1699 | |||
1685 | static struct qeth_ipa_cmd * | 1700 | static struct qeth_ipa_cmd * |
1686 | qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) | 1701 | qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) |
1687 | { | 1702 | { |
@@ -1690,8 +1705,11 @@ qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) | |||
1690 | QETH_DBF_TEXT(trace,5,"chkipad"); | 1705 | QETH_DBF_TEXT(trace,5,"chkipad"); |
1691 | if (IS_IPA(iob->data)){ | 1706 | if (IS_IPA(iob->data)){ |
1692 | cmd = (struct qeth_ipa_cmd *) PDU_ENCAPSULATION(iob->data); | 1707 | cmd = (struct qeth_ipa_cmd *) PDU_ENCAPSULATION(iob->data); |
1693 | if (IS_IPA_REPLY(cmd)) | 1708 | if (IS_IPA_REPLY(cmd)) { |
1709 | if (cmd->hdr.return_code) | ||
1710 | qeth_issue_ipa_msg(cmd, card); | ||
1694 | return cmd; | 1711 | return cmd; |
1712 | } | ||
1695 | else { | 1713 | else { |
1696 | switch (cmd->hdr.command) { | 1714 | switch (cmd->hdr.command) { |
1697 | case IPA_CMD_STOPLAN: | 1715 | case IPA_CMD_STOPLAN: |
@@ -5950,9 +5968,6 @@ qeth_layer2_send_setmac_cb(struct qeth_card *card, | |||
5950 | cmd = (struct qeth_ipa_cmd *) data; | 5968 | cmd = (struct qeth_ipa_cmd *) data; |
5951 | if (cmd->hdr.return_code) { | 5969 | if (cmd->hdr.return_code) { |
5952 | QETH_DBF_TEXT_(trace, 2, "L2er%x", cmd->hdr.return_code); | 5970 | QETH_DBF_TEXT_(trace, 2, "L2er%x", cmd->hdr.return_code); |
5953 | PRINT_WARN("Error in registering MAC address on " \ | ||
5954 | "device %s: x%x\n", CARD_BUS_ID(card), | ||
5955 | cmd->hdr.return_code); | ||
5956 | card->info.mac_bits &= ~QETH_LAYER2_MAC_REGISTERED; | 5971 | card->info.mac_bits &= ~QETH_LAYER2_MAC_REGISTERED; |
5957 | cmd->hdr.return_code = -EIO; | 5972 | cmd->hdr.return_code = -EIO; |
5958 | } else { | 5973 | } else { |
@@ -5987,9 +6002,6 @@ qeth_layer2_send_delmac_cb(struct qeth_card *card, | |||
5987 | QETH_DBF_TEXT(trace, 2, "L2Dmaccb"); | 6002 | QETH_DBF_TEXT(trace, 2, "L2Dmaccb"); |
5988 | cmd = (struct qeth_ipa_cmd *) data; | 6003 | cmd = (struct qeth_ipa_cmd *) data; |
5989 | if (cmd->hdr.return_code) { | 6004 | if (cmd->hdr.return_code) { |
5990 | PRINT_WARN("Error in deregistering MAC address on " \ | ||
5991 | "device %s: x%x\n", CARD_BUS_ID(card), | ||
5992 | cmd->hdr.return_code); | ||
5993 | QETH_DBF_TEXT_(trace, 2, "err%d", cmd->hdr.return_code); | 6005 | QETH_DBF_TEXT_(trace, 2, "err%d", cmd->hdr.return_code); |
5994 | cmd->hdr.return_code = -EIO; | 6006 | cmd->hdr.return_code = -EIO; |
5995 | return 0; | 6007 | return 0; |