diff options
| -rw-r--r-- | drivers/s390/block/dasd.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index ac6d4d3218b3..8ba3f135da22 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
| @@ -925,6 +925,8 @@ static void dasd_handle_killed_request(struct ccw_device *cdev, | |||
| 925 | struct dasd_ccw_req *cqr; | 925 | struct dasd_ccw_req *cqr; |
| 926 | struct dasd_device *device; | 926 | struct dasd_device *device; |
| 927 | 927 | ||
| 928 | if (!intparm) | ||
| 929 | return; | ||
| 928 | cqr = (struct dasd_ccw_req *) intparm; | 930 | cqr = (struct dasd_ccw_req *) intparm; |
| 929 | if (cqr->status != DASD_CQR_IN_IO) { | 931 | if (cqr->status != DASD_CQR_IN_IO) { |
| 930 | MESSAGE(KERN_DEBUG, | 932 | MESSAGE(KERN_DEBUG, |
| @@ -976,17 +978,16 @@ void dasd_int_handler(struct ccw_device *cdev, unsigned long intparm, | |||
| 976 | if (IS_ERR(irb)) { | 978 | if (IS_ERR(irb)) { |
| 977 | switch (PTR_ERR(irb)) { | 979 | switch (PTR_ERR(irb)) { |
| 978 | case -EIO: | 980 | case -EIO: |
| 979 | dasd_handle_killed_request(cdev, intparm); | ||
| 980 | break; | 981 | break; |
| 981 | case -ETIMEDOUT: | 982 | case -ETIMEDOUT: |
| 982 | printk(KERN_WARNING"%s(%s): request timed out\n", | 983 | printk(KERN_WARNING"%s(%s): request timed out\n", |
| 983 | __func__, cdev->dev.bus_id); | 984 | __func__, cdev->dev.bus_id); |
| 984 | //FIXME - dasd uses own timeout interface... | ||
| 985 | break; | 985 | break; |
| 986 | default: | 986 | default: |
| 987 | printk(KERN_WARNING"%s(%s): unknown error %ld\n", | 987 | printk(KERN_WARNING"%s(%s): unknown error %ld\n", |
| 988 | __func__, cdev->dev.bus_id, PTR_ERR(irb)); | 988 | __func__, cdev->dev.bus_id, PTR_ERR(irb)); |
| 989 | } | 989 | } |
| 990 | dasd_handle_killed_request(cdev, intparm); | ||
| 990 | return; | 991 | return; |
| 991 | } | 992 | } |
| 992 | 993 | ||
