s390/qeth: restart pending READ cmd from callback
authorJulian Wiedmann <jwi@linux.ibm.com>
Tue, 11 Jun 2019 16:37:51 +0000 (18:37 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Jun 2019 05:39:31 +0000 (22:39 -0700)
The completion of a pending READ cmd is processed via
qeth_issue_next_read_cb(). Let this callback also start the next READ
cmd, instead of hardcoding that step into the IRQ handler.

While at it remove the check of the channel state,
__qeth_issue_next_read() already does this.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_core_main.c

index feb9e1c9d50693069b18f040888c365f0957023a..fade84112e805981406df9cfea6f04d1321a29e1 100644 (file)
@@ -851,6 +851,7 @@ out:
                QETH_PDU_HEADER_SEQ_NO(iob->data),
                QETH_SEQ_NO_LENGTH);
        qeth_release_buffer(channel, iob);
+       __qeth_issue_next_read(card);
 }
 
 static int qeth_set_thread_start_bit(struct qeth_card *card,
@@ -1115,9 +1116,6 @@ static void qeth_irq(struct ccw_device *cdev, unsigned long intparm,
        }
        if (channel == &card->data)
                return;
-       if (channel == &card->read &&
-           channel->state == CH_STATE_UP)
-               __qeth_issue_next_read(card);
 
        if (iob && iob->callback)
                iob->callback(card, iob->channel, iob);