qeth: handle missing z/VM authorization of OSX
For z/VM guest operating systems, OSX CHPIDs can only be used, if LPAR and z/VM userID are explicitly authorized through the Service Element. Issue a message if this SE-authorization is missing. Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0132951e81
commit
01fc3e86c6
|
@ -512,6 +512,7 @@ static void qeth_send_control_data_cb(struct qeth_channel *channel,
|
||||||
case -EIO:
|
case -EIO:
|
||||||
qeth_clear_ipacmd_list(card);
|
qeth_clear_ipacmd_list(card);
|
||||||
qeth_schedule_recovery(card);
|
qeth_schedule_recovery(card);
|
||||||
|
/* fall through */
|
||||||
default:
|
default:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -1588,15 +1589,18 @@ static void qeth_idx_read_cb(struct qeth_channel *channel,
|
||||||
"host\n");
|
"host\n");
|
||||||
break;
|
break;
|
||||||
case QETH_IDX_ACT_ERR_AUTH:
|
case QETH_IDX_ACT_ERR_AUTH:
|
||||||
|
case QETH_IDX_ACT_ERR_AUTH_USER:
|
||||||
dev_err(&card->read.ccwdev->dev,
|
dev_err(&card->read.ccwdev->dev,
|
||||||
"Setting the device online failed because of "
|
"Setting the device online failed because of "
|
||||||
"insufficient LPAR authorization\n");
|
"insufficient authorization\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
QETH_DBF_MESSAGE(2, "%s IDX_ACTIVATE on read channel:"
|
QETH_DBF_MESSAGE(2, "%s IDX_ACTIVATE on read channel:"
|
||||||
" negative reply\n",
|
" negative reply\n",
|
||||||
dev_name(&card->read.ccwdev->dev));
|
dev_name(&card->read.ccwdev->dev));
|
||||||
}
|
}
|
||||||
|
QETH_CARD_TEXT_(card, 2, "idxread%c",
|
||||||
|
QETH_IDX_ACT_CAUSE_CODE(iob->data));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1929,7 +1933,7 @@ static int qeth_ulp_enable_cb(struct qeth_card *card, struct qeth_reply *reply,
|
||||||
card->info.link_type = link_type;
|
card->info.link_type = link_type;
|
||||||
} else
|
} else
|
||||||
card->info.link_type = 0;
|
card->info.link_type = 0;
|
||||||
QETH_DBF_TEXT_(SETUP, 2, "link%d", link_type);
|
QETH_DBF_TEXT_(SETUP, 2, "link%d", card->info.link_type);
|
||||||
QETH_DBF_TEXT_(SETUP, 2, " rc%d", iob->rc);
|
QETH_DBF_TEXT_(SETUP, 2, " rc%d", iob->rc);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -618,6 +618,7 @@ extern unsigned char IDX_ACTIVATE_WRITE[];
|
||||||
#define QETH_IDX_ACT_CAUSE_CODE(buffer) (buffer)[0x09]
|
#define QETH_IDX_ACT_CAUSE_CODE(buffer) (buffer)[0x09]
|
||||||
#define QETH_IDX_ACT_ERR_EXCL 0x19
|
#define QETH_IDX_ACT_ERR_EXCL 0x19
|
||||||
#define QETH_IDX_ACT_ERR_AUTH 0x1E
|
#define QETH_IDX_ACT_ERR_AUTH 0x1E
|
||||||
|
#define QETH_IDX_ACT_ERR_AUTH_USER 0x20
|
||||||
|
|
||||||
#define PDU_ENCAPSULATION(buffer) \
|
#define PDU_ENCAPSULATION(buffer) \
|
||||||
(buffer + *(buffer + (*(buffer + 0x0b)) + \
|
(buffer + *(buffer + (*(buffer + 0x0b)) + \
|
||||||
|
|
Loading…
Reference in New Issue