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, 4 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index e1d96344d733..f1b7fdc58a5f 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -3042,12 +3042,15 @@ void dasd_generic_remove(struct ccw_device *cdev)
3042 cdev->handler = NULL; 3042 cdev->handler = NULL;
3043 3043
3044 device = dasd_device_from_cdev(cdev); 3044 device = dasd_device_from_cdev(cdev);
3045 if (IS_ERR(device)) 3045 if (IS_ERR(device)) {
3046 dasd_remove_sysfs_files(cdev);
3046 return; 3047 return;
3048 }
3047 if (test_and_set_bit(DASD_FLAG_OFFLINE, &device->flags) && 3049 if (test_and_set_bit(DASD_FLAG_OFFLINE, &device->flags) &&
3048 !test_bit(DASD_FLAG_SAFE_OFFLINE_RUNNING, &device->flags)) { 3050 !test_bit(DASD_FLAG_SAFE_OFFLINE_RUNNING, &device->flags)) {
3049 /* Already doing offline processing */ 3051 /* Already doing offline processing */
3050 dasd_put_device(device); 3052 dasd_put_device(device);
3053 dasd_remove_sysfs_files(cdev);
3051 return; 3054 return;
3052 } 3055 }
3053 /* 3056 /*