Skip to content

Commit

Permalink
s390/qeth: clean up CREATE_ADDR cmd code
Browse files Browse the repository at this point in the history
Properly define the cmd's struct to get rid of some casts and accesses
at magic offsets.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Julian Wiedmann authored and David S. Miller committed Feb 27, 2020
1 parent 6bbfece commit 9c6dc7a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 9 deletions.
5 changes: 3 additions & 2 deletions drivers/s390/net/qeth_core_mpc.h
Original file line number Diff line number Diff line change
Expand Up @@ -550,8 +550,9 @@ struct qeth_ipacmd_setadpparms {

/* CREATE_ADDR IPA Command: ***********************************************/
struct qeth_create_destroy_address {
__u8 unique_id[8];
} __attribute__ ((packed));
u8 mac_addr[ETH_ALEN];
u16 uid;
};

/* SET DIAGNOSTIC ASSIST IPA Command: *************************************/

Expand Down
10 changes: 3 additions & 7 deletions drivers/s390/net/qeth_l3_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -922,7 +922,7 @@ static int qeth_l3_iqd_read_initial_mac_cb(struct qeth_card *card,
return -EIO;

ether_addr_copy(card->dev->dev_addr,
cmd->data.create_destroy_addr.unique_id);
cmd->data.create_destroy_addr.mac_addr);
return 0;
}

Expand All @@ -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;

if (cmd->hdr.return_code == 0) {
card->info.unique_id = *((__u16 *)
&cmd->data.create_destroy_addr.unique_id[6]);
card->info.unique_id = cmd->data.create_destroy_addr.uid;
return 0;
}

Expand All @@ -964,7 +963,6 @@ static int qeth_l3_get_unique_id(struct qeth_card *card)
{
int rc = 0;
struct qeth_cmd_buffer *iob;
struct qeth_ipa_cmd *cmd;

QETH_CARD_TEXT(card, 2, "guniqeid");

Expand All @@ -978,10 +976,8 @@ static int qeth_l3_get_unique_id(struct qeth_card *card)
IPA_DATA_SIZEOF(create_destroy_addr));
if (!iob)
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);
return rc;
}
Expand Down

0 comments on commit 9c6dc7a

Please sign in to comment.