[S390] dasd: fix message flood for unsolicited interrupts
In the unsolicited interupt handler fake IRBs from CIO have to be ignored because there is nothing to do. The function dump_sense should not be called if there is no sense data available. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
5a0d0e6537
commit
ada3df9171
@ -1501,12 +1501,27 @@ static void dasd_eckd_handle_unsolicited_interrupt(struct dasd_device *device,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* just report other unsolicited interrupts */
|
if ((irb->scsw.cmd.cc == 1) &&
|
||||||
DEV_MESSAGE(KERN_DEBUG, device, "%s",
|
(irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) &&
|
||||||
"unsolicited interrupt received");
|
(irb->scsw.cmd.actl & SCSW_ACTL_START_PEND) &&
|
||||||
device->discipline->dump_sense(device, NULL, irb);
|
(irb->scsw.cmd.stctl & SCSW_STCTL_STATUS_PEND)) {
|
||||||
dasd_schedule_device_bh(device);
|
/* fake irb do nothing, they are handled elsewhere */
|
||||||
|
dasd_schedule_device_bh(device);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(irb->esw.esw0.erw.cons)) {
|
||||||
|
/* just report other unsolicited interrupts */
|
||||||
|
DEV_MESSAGE(KERN_ERR, device, "%s",
|
||||||
|
"unsolicited interrupt received");
|
||||||
|
} else {
|
||||||
|
DEV_MESSAGE(KERN_ERR, device, "%s",
|
||||||
|
"unsolicited interrupt received "
|
||||||
|
"(sense available)");
|
||||||
|
device->discipline->dump_sense(device, NULL, irb);
|
||||||
|
}
|
||||||
|
|
||||||
|
dasd_schedule_device_bh(device);
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user