aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/net
diff options
context:
space:
mode:
authorJulian Wiedmann <jwi@linux.ibm.com>2019-06-11 18:37:51 +0200
committerDavid S. Miller <davem@davemloft.net>2019-06-13 22:39:31 -0700
commit7cbc9e8fe6ccbc47604a91901620c67bc538e152 (patch)
tree4dbc0e0a07c577b7aeacf7b69db5bcc851e931f2 /drivers/s390/net
parents390/qeth: simplify DOWN state handling (diff)
downloadlinux-dev-7cbc9e8fe6ccbc47604a91901620c67bc538e152.tar.xz
linux-dev-7cbc9e8fe6ccbc47604a91901620c67bc538e152.zip
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 <jwi@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r--drivers/s390/net/qeth_core_main.c4
1 files changed, 1 insertions, 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 @@ 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);