forked from Minki/linux
[S390] Remove dasd_ccw_log function.
Logging of relevant information is already done by disciplines dump_sense function. Signed-off-by: Horst Hummel <horst.hummel@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
c48e09131b
commit
db2738197b
@ -170,7 +170,6 @@ dasd_3990_erp_examine(struct dasd_ccw_req * cqr, struct irb * irb)
|
||||
/* log the erp chain if fatal error occurred */
|
||||
if ((era == dasd_era_fatal) && (device->state >= DASD_STATE_READY)) {
|
||||
dasd_log_sense(cqr, irb);
|
||||
dasd_log_ccw(cqr, 0, irb->scsw.cpa);
|
||||
}
|
||||
|
||||
return era;
|
||||
@ -2640,7 +2639,6 @@ dasd_3990_erp_action(struct dasd_ccw_req * cqr)
|
||||
|
||||
struct dasd_ccw_req *erp = NULL;
|
||||
struct dasd_device *device = cqr->device;
|
||||
__u32 cpa = cqr->irb.scsw.cpa;
|
||||
struct dasd_ccw_req *temp_erp = NULL;
|
||||
|
||||
if (device->features & DASD_FEATURE_ERPLOG) {
|
||||
@ -2706,9 +2704,6 @@ dasd_3990_erp_action(struct dasd_ccw_req * cqr)
|
||||
}
|
||||
}
|
||||
|
||||
if (erp->status == DASD_CQR_FAILED)
|
||||
dasd_log_ccw(erp, 1, cpa);
|
||||
|
||||
/* enqueue added ERP request */
|
||||
if (erp->status == DASD_CQR_FILLED) {
|
||||
erp->status = DASD_CQR_QUEUED;
|
||||
|
@ -182,69 +182,8 @@ dasd_log_sense(struct dasd_ccw_req *cqr, struct irb *irb)
|
||||
device->discipline->dump_sense(device, cqr, irb);
|
||||
}
|
||||
|
||||
void
|
||||
dasd_log_ccw(struct dasd_ccw_req * cqr, int caller, __u32 cpa)
|
||||
{
|
||||
struct dasd_device *device;
|
||||
struct dasd_ccw_req *lcqr;
|
||||
struct ccw1 *ccw;
|
||||
int cplength;
|
||||
|
||||
device = cqr->device;
|
||||
/* log the channel program */
|
||||
for (lcqr = cqr; lcqr != NULL; lcqr = lcqr->refers) {
|
||||
DEV_MESSAGE(KERN_ERR, device,
|
||||
"(%s) ERP chain report for req: %p",
|
||||
caller == 0 ? "EXAMINE" : "ACTION", lcqr);
|
||||
hex_dump_memory(device, lcqr, sizeof(struct dasd_ccw_req));
|
||||
|
||||
cplength = 1;
|
||||
ccw = lcqr->cpaddr;
|
||||
while (ccw++->flags & (CCW_FLAG_DC | CCW_FLAG_CC))
|
||||
cplength++;
|
||||
|
||||
if (cplength > 40) { /* log only parts of the CP */
|
||||
DEV_MESSAGE(KERN_ERR, device, "%s",
|
||||
"Start of channel program:");
|
||||
hex_dump_memory(device, lcqr->cpaddr,
|
||||
40*sizeof(struct ccw1));
|
||||
|
||||
DEV_MESSAGE(KERN_ERR, device, "%s",
|
||||
"End of channel program:");
|
||||
hex_dump_memory(device, lcqr->cpaddr + cplength - 10,
|
||||
10*sizeof(struct ccw1));
|
||||
} else { /* log the whole CP */
|
||||
DEV_MESSAGE(KERN_ERR, device, "%s",
|
||||
"Channel program (complete):");
|
||||
hex_dump_memory(device, lcqr->cpaddr,
|
||||
cplength*sizeof(struct ccw1));
|
||||
}
|
||||
|
||||
if (lcqr != cqr)
|
||||
continue;
|
||||
|
||||
/*
|
||||
* Log bytes arround failed CCW but only if we did
|
||||
* not log the whole CP of the CCW is outside the
|
||||
* logged CP.
|
||||
*/
|
||||
if (cplength > 40 ||
|
||||
((addr_t) cpa < (addr_t) lcqr->cpaddr &&
|
||||
(addr_t) cpa > (addr_t) (lcqr->cpaddr + cplength + 4))) {
|
||||
|
||||
DEV_MESSAGE(KERN_ERR, device,
|
||||
"Failed CCW (%p) (area):",
|
||||
(void *) (long) cpa);
|
||||
hex_dump_memory(device, cqr->cpaddr - 10,
|
||||
20*sizeof(struct ccw1));
|
||||
}
|
||||
}
|
||||
|
||||
} /* end log_erp_chain */
|
||||
|
||||
EXPORT_SYMBOL(dasd_default_erp_action);
|
||||
EXPORT_SYMBOL(dasd_default_erp_postaction);
|
||||
EXPORT_SYMBOL(dasd_alloc_erp_request);
|
||||
EXPORT_SYMBOL(dasd_free_erp_request);
|
||||
EXPORT_SYMBOL(dasd_log_sense);
|
||||
EXPORT_SYMBOL(dasd_log_ccw);
|
||||
|
@ -559,7 +559,6 @@ struct dasd_ccw_req *dasd_alloc_erp_request(char *, int, int,
|
||||
struct dasd_device *);
|
||||
void dasd_free_erp_request(struct dasd_ccw_req *, struct dasd_device *);
|
||||
void dasd_log_sense(struct dasd_ccw_req *, struct irb *);
|
||||
void dasd_log_ccw(struct dasd_ccw_req *, int, __u32);
|
||||
|
||||
/* externals in dasd_3370_erp.c */
|
||||
dasd_era_t dasd_3370_erp_examine(struct dasd_ccw_req *, struct irb *);
|
||||
|
Loading…
Reference in New Issue
Block a user