From: Julian Wiedmann Date: Tue, 11 Jun 2019 16:37:51 +0000 (+0200) Subject: s390/qeth: restart pending READ cmd from callback X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=7cbc9e8fe6ccbc47604a91901620c67bc538e152;p=openwrt%2Fstaging%2Fblogic.git s390/qeth: restart pending READ cmd from callback 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 Signed-off-by: David S. Miller --- 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 @@ 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);