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

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
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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:	 *************************************/

+3 −7
Original line number Diff line number Diff line
@@ -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;
}

@@ -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;
	}

@@ -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");

@@ -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;
}