s390/qdio: cleanly split alloc and establish
All that qdio_allocate() actually uses from the init_data is the cdev, and the number of Input and Output Queues. Have the driver pass those as parameters, and defer the init_data processing into qdio_establish(). This includes writing per-device(!) trace entries, and most of the sanity checks. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Reviewed-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:

committed by
Vasily Gorbik

parent
143a3a735d
commit
3db1db93e3
@@ -4893,7 +4893,8 @@ static int qeth_qdio_establish(struct qeth_card *card)
|
||||
|
||||
if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ALLOCATED,
|
||||
QETH_QDIO_ESTABLISHED) == QETH_QDIO_ALLOCATED) {
|
||||
rc = qdio_allocate(&init_data);
|
||||
rc = qdio_allocate(CARD_DDEV(card), init_data.no_input_qs,
|
||||
init_data.no_output_qs);
|
||||
if (rc) {
|
||||
atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED);
|
||||
goto out;
|
||||
|
Reference in New Issue
Block a user