aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_eckd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/block/dasd_eckd.c')
-rw-r--r--drivers/s390/block/dasd_eckd.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index 417b97cd3f94..a8ec0731609e 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -86,7 +86,8 @@ dasd_eckd_probe (struct ccw_device *cdev)
86 int ret; 86 int ret;
87 87
88 /* set ECKD specific ccw-device options */ 88 /* set ECKD specific ccw-device options */
89 ret = ccw_device_set_options(cdev, CCWDEV_ALLOW_FORCE); 89 ret = ccw_device_set_options(cdev, CCWDEV_ALLOW_FORCE |
90 CCWDEV_DO_PATHGROUP | CCWDEV_DO_MULTIPATH);
90 if (ret) { 91 if (ret) {
91 DBF_EVENT(DBF_WARNING, 92 DBF_EVENT(DBF_WARNING,
92 "dasd_eckd_probe: could not set ccw-device options " 93 "dasd_eckd_probe: could not set ccw-device options "
@@ -1090,6 +1091,15 @@ dasd_eckd_check_characteristics(struct dasd_device *device)
1090 struct dasd_block *block; 1091 struct dasd_block *block;
1091 int is_known, rc; 1092 int is_known, rc;
1092 1093
1094 if (!ccw_device_is_pathgroup(device->cdev)) {
1095 dev_warn(&device->cdev->dev,
1096 "A channel path group could not be established\n");
1097 return -EIO;
1098 }
1099 if (!ccw_device_is_multipath(device->cdev)) {
1100 dev_info(&device->cdev->dev,
1101 "The DASD is not operating in multipath mode\n");
1102 }
1093 private = (struct dasd_eckd_private *) device->private; 1103 private = (struct dasd_eckd_private *) device->private;
1094 if (!private) { 1104 if (!private) {
1095 private = kzalloc(sizeof(*private), GFP_KERNEL | GFP_DMA); 1105 private = kzalloc(sizeof(*private), GFP_KERNEL | GFP_DMA);