diff options
| author | Stefan Haberland <stefan.haberland@de.ibm.com> | 2010-03-24 06:49:54 -0400 |
|---|---|---|
| committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-03-24 06:49:53 -0400 |
| commit | b8fde7224d771ce55bfd67cb57d7c4c8f430972f (patch) | |
| tree | a9baa7a98c798d0e8477d168bfa543aae39b0952 | |
| parent | 4a31ba57cae853ce1ac00a22c0f5d80bd36685ed (diff) | |
[S390] dasd: check tsb validity
Check tsb validity before the tcw_get_tsb function is called.
Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| -rw-r--r-- | drivers/s390/block/dasd_eckd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index 01f4e7a34aa8..0cb233116855 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
| @@ -3155,11 +3155,11 @@ static void dasd_eckd_dump_sense_tcw(struct dasd_device *device, | |||
| 3155 | 3155 | ||
| 3156 | tsb = NULL; | 3156 | tsb = NULL; |
| 3157 | sense = NULL; | 3157 | sense = NULL; |
| 3158 | if (irb->scsw.tm.tcw) | 3158 | if (irb->scsw.tm.tcw && (irb->scsw.tm.fcxs == 0x01)) |
| 3159 | tsb = tcw_get_tsb( | 3159 | tsb = tcw_get_tsb( |
| 3160 | (struct tcw *)(unsigned long)irb->scsw.tm.tcw); | 3160 | (struct tcw *)(unsigned long)irb->scsw.tm.tcw); |
| 3161 | 3161 | ||
| 3162 | if (tsb && (irb->scsw.tm.fcxs == 0x01)) { | 3162 | if (tsb) { |
| 3163 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 3163 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER |
| 3164 | " tsb->length %d\n", tsb->length); | 3164 | " tsb->length %d\n", tsb->length); |
| 3165 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER | 3165 | len += sprintf(page + len, KERN_ERR PRINTK_HEADER |
