diff options
Diffstat (limited to 'drivers/s390/block/dasd.c')
-rw-r--r-- | drivers/s390/block/dasd.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index 02cfe244e069..ceeb3cf64a16 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
@@ -7,7 +7,7 @@ | |||
7 | * Bugreports.to..: <Linux390@de.ibm.com> | 7 | * Bugreports.to..: <Linux390@de.ibm.com> |
8 | * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999-2001 | 8 | * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999-2001 |
9 | * | 9 | * |
10 | * $Revision: 1.161 $ | 10 | * $Revision: 1.164 $ |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/config.h> | 13 | #include <linux/config.h> |
@@ -1766,10 +1766,10 @@ dasd_generic_probe (struct ccw_device *cdev, | |||
1766 | printk(KERN_WARNING | 1766 | printk(KERN_WARNING |
1767 | "dasd_generic_probe: could not add sysfs entries " | 1767 | "dasd_generic_probe: could not add sysfs entries " |
1768 | "for %s\n", cdev->dev.bus_id); | 1768 | "for %s\n", cdev->dev.bus_id); |
1769 | } else { | ||
1770 | cdev->handler = &dasd_int_handler; | ||
1769 | } | 1771 | } |
1770 | 1772 | ||
1771 | cdev->handler = &dasd_int_handler; | ||
1772 | |||
1773 | return ret; | 1773 | return ret; |
1774 | } | 1774 | } |
1775 | 1775 | ||
@@ -1780,6 +1780,8 @@ dasd_generic_remove (struct ccw_device *cdev) | |||
1780 | { | 1780 | { |
1781 | struct dasd_device *device; | 1781 | struct dasd_device *device; |
1782 | 1782 | ||
1783 | cdev->handler = NULL; | ||
1784 | |||
1783 | dasd_remove_sysfs_files(cdev); | 1785 | dasd_remove_sysfs_files(cdev); |
1784 | device = dasd_device_from_cdev(cdev); | 1786 | device = dasd_device_from_cdev(cdev); |
1785 | if (IS_ERR(device)) | 1787 | if (IS_ERR(device)) |
@@ -1810,14 +1812,14 @@ dasd_generic_set_online (struct ccw_device *cdev, | |||
1810 | struct dasd_device *device; | 1812 | struct dasd_device *device; |
1811 | int feature_diag, rc; | 1813 | int feature_diag, rc; |
1812 | 1814 | ||
1813 | feature_diag = dasd_get_feature(cdev, DASD_FEATURE_USEDIAG); | ||
1814 | if (feature_diag < 0) | ||
1815 | return feature_diag; | ||
1816 | |||
1817 | device = dasd_create_device(cdev); | 1815 | device = dasd_create_device(cdev); |
1818 | if (IS_ERR(device)) | 1816 | if (IS_ERR(device)) |
1819 | return PTR_ERR(device); | 1817 | return PTR_ERR(device); |
1820 | 1818 | ||
1819 | feature_diag = dasd_get_feature(cdev, DASD_FEATURE_USEDIAG); | ||
1820 | if (feature_diag < 0) | ||
1821 | return feature_diag; | ||
1822 | |||
1821 | if (feature_diag) { | 1823 | if (feature_diag) { |
1822 | if (!dasd_diag_discipline_pointer) { | 1824 | if (!dasd_diag_discipline_pointer) { |
1823 | printk (KERN_WARNING | 1825 | printk (KERN_WARNING |