s390/qeth: don't poll for cmd IO completion
All callers are running in process context now, so we can safely sleep in qeth_send_control_data() while waiting for a cmd to complete. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
df2a2a5225
commit
782e4a7921
@@ -1050,13 +1050,12 @@ static int qeth_osn_send_control_data(struct qeth_card *card, int len,
|
||||
|
||||
QETH_CARD_TEXT(card, 5, "osndctrd");
|
||||
|
||||
wait_event(card->wait_q,
|
||||
atomic_cmpxchg(&channel->irq_pending, 0, 1) == 0);
|
||||
wait_event(card->wait_q, qeth_trylock_channel(channel));
|
||||
qeth_prepare_control_data(card, len, iob);
|
||||
QETH_CARD_TEXT(card, 6, "osnoirqp");
|
||||
spin_lock_irq(get_ccwdev_lock(channel->ccwdev));
|
||||
rc = ccw_device_start_timeout(channel->ccwdev, channel->ccw,
|
||||
(addr_t) iob, 0, 0, QETH_IPA_TIMEOUT);
|
||||
(addr_t) iob, 0, 0, iob->timeout);
|
||||
spin_unlock_irq(get_ccwdev_lock(channel->ccwdev));
|
||||
if (rc) {
|
||||
QETH_DBF_MESSAGE(2, "qeth_osn_send_control_data: "
|
||||
|
Reference in New Issue
Block a user