Commit 9c6dc7af authored by Julian Wiedmann's avatar Julian Wiedmann Committed by David S. Miller

s390/qeth: clean up CREATE_ADDR cmd code

Properly define the cmd's struct to get rid of some casts and accesses
at magic offsets.
Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: default avatarAlexandra Winter <wintera@linux.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6bbfece5
...@@ -550,8 +550,9 @@ struct qeth_ipacmd_setadpparms { ...@@ -550,8 +550,9 @@ struct qeth_ipacmd_setadpparms {
/* CREATE_ADDR IPA Command: ***********************************************/ /* CREATE_ADDR IPA Command: ***********************************************/
struct qeth_create_destroy_address { struct qeth_create_destroy_address {
__u8 unique_id[8]; u8 mac_addr[ETH_ALEN];
} __attribute__ ((packed)); u16 uid;
};
/* SET DIAGNOSTIC ASSIST IPA Command: *************************************/ /* SET DIAGNOSTIC ASSIST IPA Command: *************************************/
......
...@@ -922,7 +922,7 @@ static int qeth_l3_iqd_read_initial_mac_cb(struct qeth_card *card, ...@@ -922,7 +922,7 @@ static int qeth_l3_iqd_read_initial_mac_cb(struct qeth_card *card,
return -EIO; return -EIO;
ether_addr_copy(card->dev->dev_addr, ether_addr_copy(card->dev->dev_addr,
cmd->data.create_destroy_addr.unique_id); cmd->data.create_destroy_addr.mac_addr);
return 0; return 0;
} }
...@@ -949,8 +949,7 @@ static int qeth_l3_get_unique_id_cb(struct qeth_card *card, ...@@ -949,8 +949,7 @@ static int qeth_l3_get_unique_id_cb(struct qeth_card *card,
struct qeth_ipa_cmd *cmd = (struct qeth_ipa_cmd *) data; struct qeth_ipa_cmd *cmd = (struct qeth_ipa_cmd *) data;
if (cmd->hdr.return_code == 0) { if (cmd->hdr.return_code == 0) {
card->info.unique_id = *((__u16 *) card->info.unique_id = cmd->data.create_destroy_addr.uid;
&cmd->data.create_destroy_addr.unique_id[6]);
return 0; return 0;
} }
...@@ -964,7 +963,6 @@ static int qeth_l3_get_unique_id(struct qeth_card *card) ...@@ -964,7 +963,6 @@ static int qeth_l3_get_unique_id(struct qeth_card *card)
{ {
int rc = 0; int rc = 0;
struct qeth_cmd_buffer *iob; struct qeth_cmd_buffer *iob;
struct qeth_ipa_cmd *cmd;
QETH_CARD_TEXT(card, 2, "guniqeid"); QETH_CARD_TEXT(card, 2, "guniqeid");
...@@ -978,10 +976,8 @@ static int qeth_l3_get_unique_id(struct qeth_card *card) ...@@ -978,10 +976,8 @@ static int qeth_l3_get_unique_id(struct qeth_card *card)
IPA_DATA_SIZEOF(create_destroy_addr)); IPA_DATA_SIZEOF(create_destroy_addr));
if (!iob) if (!iob)
return -ENOMEM; return -ENOMEM;
cmd = __ipa_cmd(iob);
*((__u16 *) &cmd->data.create_destroy_addr.unique_id[6]) =
card->info.unique_id;
__ipa_cmd(iob)->data.create_destroy_addr.uid = card->info.unique_id;
rc = qeth_send_ipa_cmd(card, iob, qeth_l3_get_unique_id_cb, NULL); rc = qeth_send_ipa_cmd(card, iob, qeth_l3_get_unique_id_cb, NULL);
return rc; return rc;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment