Commit 7834cd5a authored by Heiko Carstens's avatar Heiko Carstens Committed by David S. Miller

qeth: fix wait_event_timeout handling

wait_event_timeout just takes the numnber of jiffies to wait as
an argument. That value does not include jiffies itself.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarFrank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8e98ac48
...@@ -1676,7 +1676,7 @@ int qeth_send_control_data(struct qeth_card *card, int len, ...@@ -1676,7 +1676,7 @@ int qeth_send_control_data(struct qeth_card *card, int len,
int rc; int rc;
unsigned long flags; unsigned long flags;
struct qeth_reply *reply = NULL; struct qeth_reply *reply = NULL;
unsigned long timeout; unsigned long timeout, event_timeout;
struct qeth_ipa_cmd *cmd; struct qeth_ipa_cmd *cmd;
QETH_DBF_TEXT(TRACE, 2, "sendctl"); QETH_DBF_TEXT(TRACE, 2, "sendctl");
...@@ -1701,9 +1701,10 @@ int qeth_send_control_data(struct qeth_card *card, int len, ...@@ -1701,9 +1701,10 @@ int qeth_send_control_data(struct qeth_card *card, int len,
qeth_prepare_control_data(card, len, iob); qeth_prepare_control_data(card, len, iob);
if (IS_IPA(iob->data)) if (IS_IPA(iob->data))
timeout = jiffies + QETH_IPA_TIMEOUT; event_timeout = QETH_IPA_TIMEOUT;
else else
timeout = jiffies + QETH_TIMEOUT; event_timeout = QETH_TIMEOUT;
timeout = jiffies + event_timeout;
QETH_DBF_TEXT(TRACE, 6, "noirqpnd"); QETH_DBF_TEXT(TRACE, 6, "noirqpnd");
spin_lock_irqsave(get_ccwdev_lock(card->write.ccwdev), flags); spin_lock_irqsave(get_ccwdev_lock(card->write.ccwdev), flags);
...@@ -1731,7 +1732,7 @@ int qeth_send_control_data(struct qeth_card *card, int len, ...@@ -1731,7 +1732,7 @@ int qeth_send_control_data(struct qeth_card *card, int len,
if ((cmd->hdr.command == IPA_CMD_SETIP) && if ((cmd->hdr.command == IPA_CMD_SETIP) &&
(cmd->hdr.prot_version == QETH_PROT_IPV4)) { (cmd->hdr.prot_version == QETH_PROT_IPV4)) {
if (!wait_event_timeout(reply->wait_q, if (!wait_event_timeout(reply->wait_q,
atomic_read(&reply->received), timeout)) atomic_read(&reply->received), event_timeout))
goto time_err; goto time_err;
} else { } else {
while (!atomic_read(&reply->received)) { while (!atomic_read(&reply->received)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment