diff options
Diffstat (limited to 'drivers/s390/cio/qdio_main.c')
-rw-r--r-- | drivers/s390/cio/qdio_main.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c index 7c865915199..7572a005762 100644 --- a/drivers/s390/cio/qdio_main.c +++ b/drivers/s390/cio/qdio_main.c | |||
@@ -1129,23 +1129,23 @@ void qdio_int_handler(struct ccw_device *cdev, unsigned long intparm, | |||
1129 | /** | 1129 | /** |
1130 | * qdio_get_ssqd_desc - get qdio subchannel description | 1130 | * qdio_get_ssqd_desc - get qdio subchannel description |
1131 | * @cdev: ccw device to get description for | 1131 | * @cdev: ccw device to get description for |
1132 | * @data: where to store the ssqd | ||
1132 | * | 1133 | * |
1133 | * Returns a pointer to the saved qdio subchannel description, | 1134 | * Returns 0 or an error code. The results of the chsc are stored in the |
1134 | * or NULL for not setup qdio devices. | 1135 | * specified structure. |
1135 | */ | 1136 | */ |
1136 | struct qdio_ssqd_desc *qdio_get_ssqd_desc(struct ccw_device *cdev) | 1137 | int qdio_get_ssqd_desc(struct ccw_device *cdev, |
1138 | struct qdio_ssqd_desc *data) | ||
1137 | { | 1139 | { |
1138 | struct qdio_irq *irq_ptr; | ||
1139 | char dbf_text[15]; | 1140 | char dbf_text[15]; |
1140 | 1141 | ||
1142 | if (!cdev || !cdev->private) | ||
1143 | return -EINVAL; | ||
1144 | |||
1141 | sprintf(dbf_text, "qssq%4x", cdev->private->schid.sch_no); | 1145 | sprintf(dbf_text, "qssq%4x", cdev->private->schid.sch_no); |
1142 | QDIO_DBF_TEXT0(0, setup, dbf_text); | 1146 | QDIO_DBF_TEXT0(0, setup, dbf_text); |
1143 | 1147 | ||
1144 | irq_ptr = cdev->private->qdio_data; | 1148 | return qdio_setup_get_ssqd(NULL, &cdev->private->schid, data); |
1145 | if (!irq_ptr) | ||
1146 | return NULL; | ||
1147 | |||
1148 | return &irq_ptr->ssqd_desc; | ||
1149 | } | 1149 | } |
1150 | EXPORT_SYMBOL_GPL(qdio_get_ssqd_desc); | 1150 | EXPORT_SYMBOL_GPL(qdio_get_ssqd_desc); |
1151 | 1151 | ||