mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
s390/qeth: return proper errno on IO error
When propagating IO errors back to userspace, one error path in
qeth_irq() currently returns '1' instead of a proper errno.
Fixes: 54daaca702
("s390/qeth: cancel cmd on early error")
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c8183f5489
commit
2f3c269d96
@ -901,30 +901,30 @@ static int qeth_get_problem(struct qeth_card *card, struct ccw_device *cdev,
|
||||
CCW_DEVID(cdev), dstat, cstat);
|
||||
print_hex_dump(KERN_WARNING, "qeth: irb ", DUMP_PREFIX_OFFSET,
|
||||
16, 1, irb, 64, 1);
|
||||
return 1;
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
if (dstat & DEV_STAT_UNIT_CHECK) {
|
||||
if (sense[SENSE_RESETTING_EVENT_BYTE] &
|
||||
SENSE_RESETTING_EVENT_FLAG) {
|
||||
QETH_CARD_TEXT(card, 2, "REVIND");
|
||||
return 1;
|
||||
return -EIO;
|
||||
}
|
||||
if (sense[SENSE_COMMAND_REJECT_BYTE] &
|
||||
SENSE_COMMAND_REJECT_FLAG) {
|
||||
QETH_CARD_TEXT(card, 2, "CMDREJi");
|
||||
return 1;
|
||||
return -EIO;
|
||||
}
|
||||
if ((sense[2] == 0xaf) && (sense[3] == 0xfe)) {
|
||||
QETH_CARD_TEXT(card, 2, "AFFE");
|
||||
return 1;
|
||||
return -EIO;
|
||||
}
|
||||
if ((!sense[0]) && (!sense[1]) && (!sense[2]) && (!sense[3])) {
|
||||
QETH_CARD_TEXT(card, 2, "ZEROSEN");
|
||||
return 0;
|
||||
}
|
||||
QETH_CARD_TEXT(card, 2, "DGENCHK");
|
||||
return 1;
|
||||
return -EIO;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user