aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/block/dasd.c')
-rw-r--r--drivers/s390/block/dasd.c5
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