summaryrefslogtreecommitdiffstats
path: root/drivers/s390/net/qeth_l2_main.c
diff options
context:
space:
mode:
authorJulian Wiedmann2019-06-11 18:37:53 +0200
committerDavid S. Miller2019-06-14 07:39:31 +0200
commit1273a800141084c73a59947f9734f46da23979e5 (patch)
tree85bedeb0985d96b0559efe1b8a11139393440b0c /drivers/s390/net/qeth_l2_main.c
parents390/qeth: clean up setting of BLKT defaults (diff)
downloadkernel-qcow2-linux-1273a800141084c73a59947f9734f46da23979e5.tar.gz
kernel-qcow2-linux-1273a800141084c73a59947f9734f46da23979e5.tar.xz
kernel-qcow2-linux-1273a800141084c73a59947f9734f46da23979e5.zip
s390/qeth: remove qeth_wait_for_buffer()
The basic MPC initialization sequence is strictly sequential, and waiting for an available cmd buffer should never be necessary. So this change only affects the OSN path, where dangling waiters on an unbounded wait_event() are not desirable. Switch to qeth_get_buffers(), and let OSN callers deal with -ENOMEM. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net/qeth_l2_main.c')
-rw-r--r--drivers/s390/net/qeth_l2_main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
index 40e2f6bd0f09..5fa217382480 100644
--- a/drivers/s390/net/qeth_l2_main.c
+++ b/drivers/s390/net/qeth_l2_main.c
@@ -1084,7 +1084,10 @@ int qeth_osn_assist(struct net_device *dev, void *data, int data_len)
QETH_CARD_TEXT(card, 2, "osnsdmc");
if (!qeth_card_hw_is_reachable(card))
return -ENODEV;
- iob = qeth_wait_for_buffer(&card->write);
+ iob = qeth_get_buffer(&card->write);
+ if (!iob)
+ return -ENOMEM;
+
qeth_prepare_ipa_cmd(card, iob, (u16) data_len);
memcpy(__ipa_cmd(iob), data, data_len);
return qeth_osn_send_ipa_cmd(card, iob);