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 <j...@linux.ibm.com>
---
 drivers/s390/net/qeth_core_main.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/s390/net/qeth_core_main.c 
b/drivers/s390/net/qeth_core_main.c
index feb9e1c9d506..fade84112e80 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -851,6 +851,7 @@ static void qeth_issue_next_read_cb(struct qeth_card *card,
                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);
-- 
2.17.1

Reply via email to