diff options
Diffstat (limited to 'drivers/s390/block/dasd.c')
-rw-r--r-- | drivers/s390/block/dasd.c | 5 |
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 | /* |