Merge branches 'work.misc' and 'work.dcache' of git://git.kernel.org/pub/scm/linux...
[sfrench/cifs-2.6.git] / drivers / s390 / block / dasd_eckd.c
index 1e97378d4f6069bfcf1d149e0c53ac601c93e93d..4e7b55a14b1a46d40920fde48460fa2400c46f84 100644 (file)
@@ -2038,8 +2038,11 @@ static int dasd_eckd_basic_to_ready(struct dasd_device *device)
 
 static int dasd_eckd_online_to_ready(struct dasd_device *device)
 {
-       cancel_work_sync(&device->reload_device);
-       cancel_work_sync(&device->kick_validate);
+       if (cancel_work_sync(&device->reload_device))
+               dasd_put_device(device);
+       if (cancel_work_sync(&device->kick_validate))
+               dasd_put_device(device);
+
        return 0;
 };