mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 01:04:19 +08:00
s390/qeth: consolidate errno translation
Consolidate errno handling for MAC management: Instead of doing this in every caller, do it in one place. Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com> Reviewed-by: Thomas Richter <tmricht@linux.vnet.ibm.com> Suggested-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4b764d1de3
commit
754e0b8d92
@ -170,8 +170,7 @@ static int qeth_l2_send_setgroupmac(struct qeth_card *card, __u8 *mac)
|
||||
int rc;
|
||||
|
||||
QETH_CARD_TEXT(card, 2, "L2Sgmac");
|
||||
rc = qeth_setdel_makerc(card, qeth_l2_send_setdelmac(card, mac,
|
||||
IPA_CMD_SETGMAC));
|
||||
rc = qeth_l2_send_setdelmac(card, mac, IPA_CMD_SETGMAC);
|
||||
if (rc == -EEXIST)
|
||||
QETH_DBF_MESSAGE(2, "Group MAC %pM already existing on %s\n",
|
||||
mac, QETH_CARD_IFNAME(card));
|
||||
@ -186,8 +185,7 @@ static int qeth_l2_send_delgroupmac(struct qeth_card *card, __u8 *mac)
|
||||
int rc;
|
||||
|
||||
QETH_CARD_TEXT(card, 2, "L2Dgmac");
|
||||
rc = qeth_setdel_makerc(card, qeth_l2_send_setdelmac(card, mac,
|
||||
IPA_CMD_DELGMAC));
|
||||
rc = qeth_l2_send_setdelmac(card, mac, IPA_CMD_DELGMAC);
|
||||
if (rc)
|
||||
QETH_DBF_MESSAGE(2,
|
||||
"Could not delete group MAC %pM on %s: %d\n",
|
||||
@ -206,9 +204,8 @@ static int qeth_l2_write_mac(struct qeth_card *card, struct qeth_mac *mac)
|
||||
int rc;
|
||||
|
||||
if (mac->is_uc) {
|
||||
rc = qeth_setdel_makerc(card,
|
||||
qeth_l2_send_setdelmac(card, mac->mac_addr,
|
||||
IPA_CMD_SETVMAC));
|
||||
rc = qeth_l2_send_setdelmac(card, mac->mac_addr,
|
||||
IPA_CMD_SETVMAC);
|
||||
} else {
|
||||
rc = qeth_l2_send_setgroupmac(card, mac->mac_addr);
|
||||
}
|
||||
@ -582,7 +579,8 @@ static int qeth_l2_send_setdelmac(struct qeth_card *card, __u8 *mac,
|
||||
cmd = (struct qeth_ipa_cmd *)(iob->data+IPA_PDU_HEADER_SIZE);
|
||||
cmd->data.setdelmac.mac_length = OSA_ADDR_LEN;
|
||||
memcpy(&cmd->data.setdelmac.mac, mac, OSA_ADDR_LEN);
|
||||
return qeth_send_ipa_cmd(card, iob, NULL, NULL);
|
||||
return qeth_setdel_makerc(card, qeth_send_ipa_cmd(card, iob,
|
||||
NULL, NULL));
|
||||
}
|
||||
|
||||
static int qeth_l2_send_setmac(struct qeth_card *card, __u8 *mac)
|
||||
@ -590,8 +588,7 @@ static int qeth_l2_send_setmac(struct qeth_card *card, __u8 *mac)
|
||||
int rc;
|
||||
|
||||
QETH_CARD_TEXT(card, 2, "L2Setmac");
|
||||
rc = qeth_setdel_makerc(card, qeth_l2_send_setdelmac(card, mac,
|
||||
IPA_CMD_SETVMAC));
|
||||
rc = qeth_l2_send_setdelmac(card, mac, IPA_CMD_SETVMAC);
|
||||
if (rc == 0) {
|
||||
card->info.mac_bits |= QETH_LAYER2_MAC_REGISTERED;
|
||||
memcpy(card->dev->dev_addr, mac, OSA_ADDR_LEN);
|
||||
@ -621,8 +618,7 @@ static int qeth_l2_send_delmac(struct qeth_card *card, __u8 *mac)
|
||||
QETH_CARD_TEXT(card, 2, "L2Delmac");
|
||||
if (!(card->info.mac_bits & QETH_LAYER2_MAC_REGISTERED))
|
||||
return 0;
|
||||
rc = qeth_setdel_makerc(card, qeth_l2_send_setdelmac(card, mac,
|
||||
IPA_CMD_DELVMAC));
|
||||
rc = qeth_l2_send_setdelmac(card, mac, IPA_CMD_DELVMAC);
|
||||
if (rc == 0)
|
||||
card->info.mac_bits &= ~QETH_LAYER2_MAC_REGISTERED;
|
||||
return rc;
|
||||
|
Loading…
Reference in New Issue
Block a user