[S390] qdio: fix qeth port count detection

qeth needs to get the port count information before
qdio has allocated a page for the chsc operation.
Extend qdio_get_ssqd_desc() to store the data in the
specified structure.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Jan Glauber
2008-12-25 13:38:43 +01:00
committed by Martin Schwidefsky
parent 43c207e6e5
commit bbd50e172f
5 changed files with 55 additions and 30 deletions

View File

@@ -1129,23 +1129,23 @@ void qdio_int_handler(struct ccw_device *cdev, unsigned long intparm,
/**
* qdio_get_ssqd_desc - get qdio subchannel description
* @cdev: ccw device to get description for
* @data: where to store the ssqd
*
* Returns a pointer to the saved qdio subchannel description,
* or NULL for not setup qdio devices.
* Returns 0 or an error code. The results of the chsc are stored in the
* specified structure.
*/
struct qdio_ssqd_desc *qdio_get_ssqd_desc(struct ccw_device *cdev)
int qdio_get_ssqd_desc(struct ccw_device *cdev,
struct qdio_ssqd_desc *data)
{
struct qdio_irq *irq_ptr;
char dbf_text[15];
if (!cdev || !cdev->private)
return -EINVAL;
sprintf(dbf_text, "qssq%4x", cdev->private->schid.sch_no);
QDIO_DBF_TEXT0(0, setup, dbf_text);
irq_ptr = cdev->private->qdio_data;
if (!irq_ptr)
return NULL;
return &irq_ptr->ssqd_desc;
return qdio_setup_get_ssqd(NULL, &cdev->private->schid, data);
}
EXPORT_SYMBOL_GPL(qdio_get_ssqd_desc);