diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2012-10-23 14:28:37 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-11-23 05:14:26 -0500 |
commit | 773bab4a468b856a8c3b6626e76589d81d8d4e07 (patch) | |
tree | 88c1befe998e4d41841ee3645f5ffcb060b88bd0 /drivers | |
parent | b01a37a749916ef1765e4d65dee8b43fde8407b8 (diff) |
s390/dasd: fix multi-line printks with multiple KERN_<level>s
Do not use more than one KERN_<level> per printk.
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Acked-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/s390/block/dasd_eckd.c | 76 | ||||
-rw-r--r-- | drivers/s390/block/dasd_fba.c | 23 |
2 files changed, 48 insertions, 51 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index 108332b44d98..705b1829b8f8 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
@@ -3847,7 +3847,7 @@ dasd_eckd_dump_ccw_range(struct ccw1 *from, struct ccw1 *to, char *page) | |||
3847 | 3847 | ||
3848 | len = 0; | 3848 | len = 0; |
3849 | while (from <= to) { | 3849 | while (from <= to) { |
3850 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 3850 | len += sprintf(page + len, PRINTK_HEADER |
3851 | " CCW %p: %08X %08X DAT:", | 3851 | " CCW %p: %08X %08X DAT:", |
3852 | from, ((int *) from)[0], ((int *) from)[1]); | 3852 | from, ((int *) from)[0], ((int *) from)[1]); |
3853 | 3853 | ||
@@ -3908,23 +3908,23 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device, | |||
3908 | return; | 3908 | return; |
3909 | } | 3909 | } |
3910 | /* dump the sense data */ | 3910 | /* dump the sense data */ |
3911 | len = sprintf(page, KERN_ERR PRINTK_HEADER | 3911 | len = sprintf(page, PRINTK_HEADER |
3912 | " I/O status report for device %s:\n", | 3912 | " I/O status report for device %s:\n", |
3913 | dev_name(&device->cdev->dev)); | 3913 | dev_name(&device->cdev->dev)); |
3914 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 3914 | len += sprintf(page + len, PRINTK_HEADER |
3915 | " in req: %p CC:%02X FC:%02X AC:%02X SC:%02X DS:%02X " | 3915 | " in req: %p CC:%02X FC:%02X AC:%02X SC:%02X DS:%02X " |
3916 | "CS:%02X RC:%d\n", | 3916 | "CS:%02X RC:%d\n", |
3917 | req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), | 3917 | req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), |
3918 | scsw_actl(&irb->scsw), scsw_stctl(&irb->scsw), | 3918 | scsw_actl(&irb->scsw), scsw_stctl(&irb->scsw), |
3919 | scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw), | 3919 | scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw), |
3920 | req ? req->intrc : 0); | 3920 | req ? req->intrc : 0); |
3921 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 3921 | len += sprintf(page + len, PRINTK_HEADER |
3922 | " device %s: Failing CCW: %p\n", | 3922 | " device %s: Failing CCW: %p\n", |
3923 | dev_name(&device->cdev->dev), | 3923 | dev_name(&device->cdev->dev), |
3924 | (void *) (addr_t) irb->scsw.cmd.cpa); | 3924 | (void *) (addr_t) irb->scsw.cmd.cpa); |
3925 | if (irb->esw.esw0.erw.cons) { | 3925 | if (irb->esw.esw0.erw.cons) { |
3926 | for (sl = 0; sl < 4; sl++) { | 3926 | for (sl = 0; sl < 4; sl++) { |
3927 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 3927 | len += sprintf(page + len, PRINTK_HEADER |
3928 | " Sense(hex) %2d-%2d:", | 3928 | " Sense(hex) %2d-%2d:", |
3929 | (8 * sl), ((8 * sl) + 7)); | 3929 | (8 * sl), ((8 * sl) + 7)); |
3930 | 3930 | ||
@@ -3937,23 +3937,23 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device, | |||
3937 | 3937 | ||
3938 | if (irb->ecw[27] & DASD_SENSE_BIT_0) { | 3938 | if (irb->ecw[27] & DASD_SENSE_BIT_0) { |
3939 | /* 24 Byte Sense Data */ | 3939 | /* 24 Byte Sense Data */ |
3940 | sprintf(page + len, KERN_ERR PRINTK_HEADER | 3940 | sprintf(page + len, PRINTK_HEADER |
3941 | " 24 Byte: %x MSG %x, " | 3941 | " 24 Byte: %x MSG %x, " |
3942 | "%s MSGb to SYSOP\n", | 3942 | "%s MSGb to SYSOP\n", |
3943 | irb->ecw[7] >> 4, irb->ecw[7] & 0x0f, | 3943 | irb->ecw[7] >> 4, irb->ecw[7] & 0x0f, |
3944 | irb->ecw[1] & 0x10 ? "" : "no"); | 3944 | irb->ecw[1] & 0x10 ? "" : "no"); |
3945 | } else { | 3945 | } else { |
3946 | /* 32 Byte Sense Data */ | 3946 | /* 32 Byte Sense Data */ |
3947 | sprintf(page + len, KERN_ERR PRINTK_HEADER | 3947 | sprintf(page + len, PRINTK_HEADER |
3948 | " 32 Byte: Format: %x " | 3948 | " 32 Byte: Format: %x " |
3949 | "Exception class %x\n", | 3949 | "Exception class %x\n", |
3950 | irb->ecw[6] & 0x0f, irb->ecw[22] >> 4); | 3950 | irb->ecw[6] & 0x0f, irb->ecw[22] >> 4); |
3951 | } | 3951 | } |
3952 | } else { | 3952 | } else { |
3953 | sprintf(page + len, KERN_ERR PRINTK_HEADER | 3953 | sprintf(page + len, PRINTK_HEADER |
3954 | " SORRY - NO VALID SENSE AVAILABLE\n"); | 3954 | " SORRY - NO VALID SENSE AVAILABLE\n"); |
3955 | } | 3955 | } |
3956 | printk("%s", page); | 3956 | printk(KERN_ERR "%s", page); |
3957 | 3957 | ||
3958 | if (req) { | 3958 | if (req) { |
3959 | /* req == NULL for unsolicited interrupts */ | 3959 | /* req == NULL for unsolicited interrupts */ |
@@ -3962,10 +3962,10 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device, | |||
3962 | first = req->cpaddr; | 3962 | first = req->cpaddr; |
3963 | for (last = first; last->flags & (CCW_FLAG_CC | CCW_FLAG_DC); last++); | 3963 | for (last = first; last->flags & (CCW_FLAG_CC | CCW_FLAG_DC); last++); |
3964 | to = min(first + 6, last); | 3964 | to = min(first + 6, last); |
3965 | len = sprintf(page, KERN_ERR PRINTK_HEADER | 3965 | len = sprintf(page, PRINTK_HEADER |
3966 | " Related CP in req: %p\n", req); | 3966 | " Related CP in req: %p\n", req); |
3967 | dasd_eckd_dump_ccw_range(first, to, page + len); | 3967 | dasd_eckd_dump_ccw_range(first, to, page + len); |
3968 | printk("%s", page); | 3968 | printk(KERN_ERR "%s", page); |
3969 | 3969 | ||
3970 | /* print failing CCW area (maximum 4) */ | 3970 | /* print failing CCW area (maximum 4) */ |
3971 | /* scsw->cda is either valid or zero */ | 3971 | /* scsw->cda is either valid or zero */ |
@@ -3975,7 +3975,7 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device, | |||
3975 | irb->scsw.cmd.cpa; /* failing CCW */ | 3975 | irb->scsw.cmd.cpa; /* failing CCW */ |
3976 | if (from < fail - 2) { | 3976 | if (from < fail - 2) { |
3977 | from = fail - 2; /* there is a gap - print header */ | 3977 | from = fail - 2; /* there is a gap - print header */ |
3978 | len += sprintf(page, KERN_ERR PRINTK_HEADER "......\n"); | 3978 | len += sprintf(page, PRINTK_HEADER "......\n"); |
3979 | } | 3979 | } |
3980 | to = min(fail + 1, last); | 3980 | to = min(fail + 1, last); |
3981 | len += dasd_eckd_dump_ccw_range(from, to, page + len); | 3981 | len += dasd_eckd_dump_ccw_range(from, to, page + len); |
@@ -3984,11 +3984,11 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device, | |||
3984 | from = max(from, ++to); | 3984 | from = max(from, ++to); |
3985 | if (from < last - 1) { | 3985 | if (from < last - 1) { |
3986 | from = last - 1; /* there is a gap - print header */ | 3986 | from = last - 1; /* there is a gap - print header */ |
3987 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER "......\n"); | 3987 | len += sprintf(page + len, PRINTK_HEADER "......\n"); |
3988 | } | 3988 | } |
3989 | len += dasd_eckd_dump_ccw_range(from, last, page + len); | 3989 | len += dasd_eckd_dump_ccw_range(from, last, page + len); |
3990 | if (len > 0) | 3990 | if (len > 0) |
3991 | printk("%s", page); | 3991 | printk(KERN_ERR "%s", page); |
3992 | } | 3992 | } |
3993 | free_page((unsigned long) page); | 3993 | free_page((unsigned long) page); |
3994 | } | 3994 | } |
@@ -4012,10 +4012,10 @@ static void dasd_eckd_dump_sense_tcw(struct dasd_device *device, | |||
4012 | return; | 4012 | return; |
4013 | } | 4013 | } |
4014 | /* dump the sense data */ | 4014 | /* dump the sense data */ |
4015 | len = sprintf(page, KERN_ERR PRINTK_HEADER | 4015 | len = sprintf(page, PRINTK_HEADER |
4016 | " I/O status report for device %s:\n", | 4016 | " I/O status report for device %s:\n", |
4017 | dev_name(&device->cdev->dev)); | 4017 | dev_name(&device->cdev->dev)); |
4018 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4018 | len += sprintf(page + len, PRINTK_HEADER |
4019 | " in req: %p CC:%02X FC:%02X AC:%02X SC:%02X DS:%02X " | 4019 | " in req: %p CC:%02X FC:%02X AC:%02X SC:%02X DS:%02X " |
4020 | "CS:%02X fcxs:%02X schxs:%02X RC:%d\n", | 4020 | "CS:%02X fcxs:%02X schxs:%02X RC:%d\n", |
4021 | req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), | 4021 | req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), |
@@ -4023,7 +4023,7 @@ static void dasd_eckd_dump_sense_tcw(struct dasd_device *device, | |||
4023 | scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw), | 4023 | scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw), |
4024 | irb->scsw.tm.fcxs, irb->scsw.tm.schxs, | 4024 | irb->scsw.tm.fcxs, irb->scsw.tm.schxs, |
4025 | req ? req->intrc : 0); | 4025 | req ? req->intrc : 0); |
4026 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4026 | len += sprintf(page + len, PRINTK_HEADER |
4027 | " device %s: Failing TCW: %p\n", | 4027 | " device %s: Failing TCW: %p\n", |
4028 | dev_name(&device->cdev->dev), | 4028 | dev_name(&device->cdev->dev), |
4029 | (void *) (addr_t) irb->scsw.tm.tcw); | 4029 | (void *) (addr_t) irb->scsw.tm.tcw); |
@@ -4035,43 +4035,42 @@ static void dasd_eckd_dump_sense_tcw(struct dasd_device *device, | |||
4035 | (struct tcw *)(unsigned long)irb->scsw.tm.tcw); | 4035 | (struct tcw *)(unsigned long)irb->scsw.tm.tcw); |
4036 | 4036 | ||
4037 | if (tsb) { | 4037 | if (tsb) { |
4038 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4038 | len += sprintf(page + len, PRINTK_HEADER |
4039 | " tsb->length %d\n", tsb->length); | 4039 | " tsb->length %d\n", tsb->length); |
4040 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4040 | len += sprintf(page + len, PRINTK_HEADER |
4041 | " tsb->flags %x\n", tsb->flags); | 4041 | " tsb->flags %x\n", tsb->flags); |
4042 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4042 | len += sprintf(page + len, PRINTK_HEADER |
4043 | " tsb->dcw_offset %d\n", tsb->dcw_offset); | 4043 | " tsb->dcw_offset %d\n", tsb->dcw_offset); |
4044 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4044 | len += sprintf(page + len, PRINTK_HEADER |
4045 | " tsb->count %d\n", tsb->count); | 4045 | " tsb->count %d\n", tsb->count); |
4046 | residual = tsb->count - 28; | 4046 | residual = tsb->count - 28; |
4047 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4047 | len += sprintf(page + len, PRINTK_HEADER |
4048 | " residual %d\n", residual); | 4048 | " residual %d\n", residual); |
4049 | 4049 | ||
4050 | switch (tsb->flags & 0x07) { | 4050 | switch (tsb->flags & 0x07) { |
4051 | case 1: /* tsa_iostat */ | 4051 | case 1: /* tsa_iostat */ |
4052 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4052 | len += sprintf(page + len, PRINTK_HEADER |
4053 | " tsb->tsa.iostat.dev_time %d\n", | 4053 | " tsb->tsa.iostat.dev_time %d\n", |
4054 | tsb->tsa.iostat.dev_time); | 4054 | tsb->tsa.iostat.dev_time); |
4055 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4055 | len += sprintf(page + len, PRINTK_HEADER |
4056 | " tsb->tsa.iostat.def_time %d\n", | 4056 | " tsb->tsa.iostat.def_time %d\n", |
4057 | tsb->tsa.iostat.def_time); | 4057 | tsb->tsa.iostat.def_time); |
4058 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4058 | len += sprintf(page + len, PRINTK_HEADER |
4059 | " tsb->tsa.iostat.queue_time %d\n", | 4059 | " tsb->tsa.iostat.queue_time %d\n", |
4060 | tsb->tsa.iostat.queue_time); | 4060 | tsb->tsa.iostat.queue_time); |
4061 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4061 | len += sprintf(page + len, PRINTK_HEADER |
4062 | " tsb->tsa.iostat.dev_busy_time %d\n", | 4062 | " tsb->tsa.iostat.dev_busy_time %d\n", |
4063 | tsb->tsa.iostat.dev_busy_time); | 4063 | tsb->tsa.iostat.dev_busy_time); |
4064 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4064 | len += sprintf(page + len, PRINTK_HEADER |
4065 | " tsb->tsa.iostat.dev_act_time %d\n", | 4065 | " tsb->tsa.iostat.dev_act_time %d\n", |
4066 | tsb->tsa.iostat.dev_act_time); | 4066 | tsb->tsa.iostat.dev_act_time); |
4067 | sense = tsb->tsa.iostat.sense; | 4067 | sense = tsb->tsa.iostat.sense; |
4068 | break; | 4068 | break; |
4069 | case 2: /* ts_ddpc */ | 4069 | case 2: /* ts_ddpc */ |
4070 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4070 | len += sprintf(page + len, PRINTK_HEADER |
4071 | " tsb->tsa.ddpc.rc %d\n", tsb->tsa.ddpc.rc); | 4071 | " tsb->tsa.ddpc.rc %d\n", tsb->tsa.ddpc.rc); |
4072 | for (sl = 0; sl < 2; sl++) { | 4072 | for (sl = 0; sl < 2; sl++) { |
4073 | len += sprintf(page + len, | 4073 | len += sprintf(page + len, PRINTK_HEADER |
4074 | KERN_ERR PRINTK_HEADER | ||
4075 | " tsb->tsa.ddpc.rcq %2d-%2d: ", | 4074 | " tsb->tsa.ddpc.rcq %2d-%2d: ", |
4076 | (8 * sl), ((8 * sl) + 7)); | 4075 | (8 * sl), ((8 * sl) + 7)); |
4077 | rcq = tsb->tsa.ddpc.rcq; | 4076 | rcq = tsb->tsa.ddpc.rcq; |
@@ -4084,15 +4083,14 @@ static void dasd_eckd_dump_sense_tcw(struct dasd_device *device, | |||
4084 | sense = tsb->tsa.ddpc.sense; | 4083 | sense = tsb->tsa.ddpc.sense; |
4085 | break; | 4084 | break; |
4086 | case 3: /* tsa_intrg */ | 4085 | case 3: /* tsa_intrg */ |
4087 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 4086 | len += sprintf(page + len, PRINTK_HEADER |
4088 | " tsb->tsa.intrg.: not supportet yet \n"); | 4087 | " tsb->tsa.intrg.: not supportet yet\n"); |
4089 | break; | 4088 | break; |
4090 | } | 4089 | } |
4091 | 4090 | ||
4092 | if (sense) { | 4091 | if (sense) { |
4093 | for (sl = 0; sl < 4; sl++) { | 4092 | for (sl = 0; sl < 4; sl++) { |
4094 | len += sprintf(page + len, | 4093 | len += sprintf(page + len, PRINTK_HEADER |
4095 | KERN_ERR PRINTK_HEADER | ||
4096 | " Sense(hex) %2d-%2d:", | 4094 | " Sense(hex) %2d-%2d:", |
4097 | (8 * sl), ((8 * sl) + 7)); | 4095 | (8 * sl), ((8 * sl) + 7)); |
4098 | for (sct = 0; sct < 8; sct++) { | 4096 | for (sct = 0; sct < 8; sct++) { |
@@ -4104,27 +4102,27 @@ static void dasd_eckd_dump_sense_tcw(struct dasd_device *device, | |||
4104 | 4102 | ||
4105 | if (sense[27] & DASD_SENSE_BIT_0) { | 4103 | if (sense[27] & DASD_SENSE_BIT_0) { |
4106 | /* 24 Byte Sense Data */ | 4104 | /* 24 Byte Sense Data */ |
4107 | sprintf(page + len, KERN_ERR PRINTK_HEADER | 4105 | sprintf(page + len, PRINTK_HEADER |
4108 | " 24 Byte: %x MSG %x, " | 4106 | " 24 Byte: %x MSG %x, " |
4109 | "%s MSGb to SYSOP\n", | 4107 | "%s MSGb to SYSOP\n", |
4110 | sense[7] >> 4, sense[7] & 0x0f, | 4108 | sense[7] >> 4, sense[7] & 0x0f, |
4111 | sense[1] & 0x10 ? "" : "no"); | 4109 | sense[1] & 0x10 ? "" : "no"); |
4112 | } else { | 4110 | } else { |
4113 | /* 32 Byte Sense Data */ | 4111 | /* 32 Byte Sense Data */ |
4114 | sprintf(page + len, KERN_ERR PRINTK_HEADER | 4112 | sprintf(page + len, PRINTK_HEADER |
4115 | " 32 Byte: Format: %x " | 4113 | " 32 Byte: Format: %x " |
4116 | "Exception class %x\n", | 4114 | "Exception class %x\n", |
4117 | sense[6] & 0x0f, sense[22] >> 4); | 4115 | sense[6] & 0x0f, sense[22] >> 4); |
4118 | } | 4116 | } |
4119 | } else { | 4117 | } else { |
4120 | sprintf(page + len, KERN_ERR PRINTK_HEADER | 4118 | sprintf(page + len, PRINTK_HEADER |
4121 | " SORRY - NO VALID SENSE AVAILABLE\n"); | 4119 | " SORRY - NO VALID SENSE AVAILABLE\n"); |
4122 | } | 4120 | } |
4123 | } else { | 4121 | } else { |
4124 | sprintf(page + len, KERN_ERR PRINTK_HEADER | 4122 | sprintf(page + len, PRINTK_HEADER |
4125 | " SORRY - NO TSB DATA AVAILABLE\n"); | 4123 | " SORRY - NO TSB DATA AVAILABLE\n"); |
4126 | } | 4124 | } |
4127 | printk("%s", page); | 4125 | printk(KERN_ERR "%s", page); |
4128 | free_page((unsigned long) page); | 4126 | free_page((unsigned long) page); |
4129 | } | 4127 | } |
4130 | 4128 | ||
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; |