aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_fba.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/block/dasd_fba.c')
-rw-r--r--drivers/s390/block/dasd_fba.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/s390/block/dasd_fba.c b/drivers/s390/block/dasd_fba.c
index fb7f3bdc6604..eb748507c7fa 100644
--- a/drivers/s390/block/dasd_fba.c
+++ b/drivers/s390/block/dasd_fba.c
@@ -479,19 +479,19 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
479 "No memory to dump sense data"); 479 "No memory to dump sense data");
480 return; 480 return;
481 } 481 }
482 len = sprintf(page, KERN_ERR PRINTK_HEADER 482 len = sprintf(page, PRINTK_HEADER
483 " I/O status report for device %s:\n", 483 " I/O status report for device %s:\n",
484 dev_name(&device->cdev->dev)); 484 dev_name(&device->cdev->dev));
485 len += sprintf(page + len, KERN_ERR PRINTK_HEADER 485 len += sprintf(page + len, PRINTK_HEADER
486 " in req: %p CS: 0x%02X DS: 0x%02X\n", req, 486 " in req: %p CS: 0x%02X DS: 0x%02X\n", req,
487 irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); 487 irb->scsw.cmd.cstat, irb->scsw.cmd.dstat);
488 len += sprintf(page + len, KERN_ERR PRINTK_HEADER 488 len += sprintf(page + len, PRINTK_HEADER
489 " device %s: Failing CCW: %p\n", 489 " device %s: Failing CCW: %p\n",
490 dev_name(&device->cdev->dev), 490 dev_name(&device->cdev->dev),
491 (void *) (addr_t) irb->scsw.cmd.cpa); 491 (void *) (addr_t) irb->scsw.cmd.cpa);
492 if (irb->esw.esw0.erw.cons) { 492 if (irb->esw.esw0.erw.cons) {
493 for (sl = 0; sl < 4; sl++) { 493 for (sl = 0; sl < 4; sl++) {
494 len += sprintf(page + len, KERN_ERR PRINTK_HEADER 494 len += sprintf(page + len, PRINTK_HEADER
495 " Sense(hex) %2d-%2d:", 495 " Sense(hex) %2d-%2d:",
496 (8 * sl), ((8 * sl) + 7)); 496 (8 * sl), ((8 * sl) + 7));
497 497
@@ -502,7 +502,7 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
502 len += sprintf(page + len, "\n"); 502 len += sprintf(page + len, "\n");
503 } 503 }
504 } else { 504 } else {
505 len += sprintf(page + len, KERN_ERR PRINTK_HEADER 505 len += sprintf(page + len, PRINTK_HEADER
506 " SORRY - NO VALID SENSE AVAILABLE\n"); 506 " SORRY - NO VALID SENSE AVAILABLE\n");
507 } 507 }
508 printk(KERN_ERR "%s", page); 508 printk(KERN_ERR "%s", page);
@@ -512,10 +512,9 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
512 act = req->cpaddr; 512 act = req->cpaddr;
513 for (last = act; last->flags & (CCW_FLAG_CC | CCW_FLAG_DC); last++); 513 for (last = act; last->flags & (CCW_FLAG_CC | CCW_FLAG_DC); last++);
514 end = min(act + 8, last); 514 end = min(act + 8, last);
515 len = sprintf(page, KERN_ERR PRINTK_HEADER 515 len = sprintf(page, PRINTK_HEADER " Related CP in req: %p\n", req);
516 " Related CP in req: %p\n", req);
517 while (act <= end) { 516 while (act <= end) {
518 len += sprintf(page + len, KERN_ERR PRINTK_HEADER 517 len += sprintf(page + len, PRINTK_HEADER
519 " CCW %p: %08X %08X DAT:", 518 " CCW %p: %08X %08X DAT:",
520 act, ((int *) act)[0], ((int *) act)[1]); 519 act, ((int *) act)[0], ((int *) act)[1]);
521 for (count = 0; count < 32 && count < act->count; 520 for (count = 0; count < 32 && count < act->count;
@@ -533,11 +532,11 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
533 len = 0; 532 len = 0;
534 if (act < ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2) { 533 if (act < ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2) {
535 act = ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2; 534 act = ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2;
536 len += sprintf(page + len, KERN_ERR PRINTK_HEADER "......\n"); 535 len += sprintf(page + len, PRINTK_HEADER "......\n");
537 } 536 }
538 end = min((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa + 2, last); 537 end = min((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa + 2, last);
539 while (act <= end) { 538 while (act <= end) {
540 len += sprintf(page + len, KERN_ERR PRINTK_HEADER 539 len += sprintf(page + len, PRINTK_HEADER
541 " CCW %p: %08X %08X DAT:", 540 " CCW %p: %08X %08X DAT:",
542 act, ((int *) act)[0], ((int *) act)[1]); 541 act, ((int *) act)[0], ((int *) act)[1]);
543 for (count = 0; count < 32 && count < act->count; 542 for (count = 0; count < 32 && count < act->count;
@@ -552,10 +551,10 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
552 /* print last CCWs */ 551 /* print last CCWs */
553 if (act < last - 2) { 552 if (act < last - 2) {
554 act = last - 2; 553 act = last - 2;
555 len += sprintf(page + len, KERN_ERR PRINTK_HEADER "......\n"); 554 len += sprintf(page + len, PRINTK_HEADER "......\n");
556 } 555 }
557 while (act <= last) { 556 while (act <= last) {
558 len += sprintf(page + len, KERN_ERR PRINTK_HEADER 557 len += sprintf(page + len, PRINTK_HEADER
559 " CCW %p: %08X %08X DAT:", 558 " CCW %p: %08X %08X DAT:",
560 act, ((int *) act)[0], ((int *) act)[1]); 559 act, ((int *) act)[0], ((int *) act)[1]);
561 for (count = 0; count < 32 && count < act->count; 560 for (count = 0; count < 32 && count < act->count;