|
@@ -19,6 +19,7 @@
|
|
|
#include <linux/slab.h>
|
|
|
#include <asm/compat.h>
|
|
|
#include <asm/ccwdev.h>
|
|
|
+#include <asm/schid.h>
|
|
|
#include <asm/cmb.h>
|
|
|
#include <asm/uaccess.h>
|
|
|
|
|
@@ -308,11 +309,12 @@ static int dasd_ioctl_information(struct dasd_block *block,
|
|
|
unsigned int cmd, void __user *argp)
|
|
|
{
|
|
|
struct dasd_information2_t *dasd_info;
|
|
|
- unsigned long flags;
|
|
|
- int rc;
|
|
|
+ struct subchannel_id sch_id;
|
|
|
+ struct ccw_dev_id dev_id;
|
|
|
struct dasd_device *base;
|
|
|
struct ccw_device *cdev;
|
|
|
- struct ccw_dev_id dev_id;
|
|
|
+ unsigned long flags;
|
|
|
+ int rc;
|
|
|
|
|
|
base = block->base;
|
|
|
if (!base->discipline || !base->discipline->fill_info)
|
|
@@ -330,9 +332,10 @@ static int dasd_ioctl_information(struct dasd_block *block,
|
|
|
|
|
|
cdev = base->cdev;
|
|
|
ccw_device_get_id(cdev, &dev_id);
|
|
|
+ ccw_device_get_schid(cdev, &sch_id);
|
|
|
|
|
|
dasd_info->devno = dev_id.devno;
|
|
|
- dasd_info->schid = _ccw_device_get_subchannel_number(base->cdev);
|
|
|
+ dasd_info->schid = sch_id.sch_no;
|
|
|
dasd_info->cu_type = cdev->id.cu_type;
|
|
|
dasd_info->cu_model = cdev->id.cu_model;
|
|
|
dasd_info->dev_type = cdev->id.dev_type;
|