qeth: fix wait_event_timeout handling
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 24 Mar 2009 20:57:19 +0000 (20:57 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Mar 2009 07:06:24 +0000 (00:06 -0700)
wait_event_timeout just takes the numnber of jiffies to wait as
an argument. That value does not include jiffies itself.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_core_main.c

index 1b7b08e791a1154955d03a09f2c21f19c84bbb94..6fec3cfcf978de999b34fda2640c7adda7e0a2e3 100644 (file)
@@ -1676,7 +1676,7 @@ int qeth_send_control_data(struct qeth_card *card, int len,
        int rc;
        unsigned long flags;
        struct qeth_reply *reply = NULL;
-       unsigned long timeout;
+       unsigned long timeout, event_timeout;
        struct qeth_ipa_cmd *cmd;
 
        QETH_DBF_TEXT(TRACE, 2, "sendctl");
@@ -1701,9 +1701,10 @@ int qeth_send_control_data(struct qeth_card *card, int len,
        qeth_prepare_control_data(card, len, iob);
 
        if (IS_IPA(iob->data))
-               timeout = jiffies + QETH_IPA_TIMEOUT;
+               event_timeout = QETH_IPA_TIMEOUT;
        else
-               timeout = jiffies + QETH_TIMEOUT;
+               event_timeout = QETH_TIMEOUT;
+       timeout = jiffies + event_timeout;
 
        QETH_DBF_TEXT(TRACE, 6, "noirqpnd");
        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,
        if ((cmd->hdr.command == IPA_CMD_SETIP) &&
            (cmd->hdr.prot_version == QETH_PROT_IPV4)) {
                if (!wait_event_timeout(reply->wait_q,
-                   atomic_read(&reply->received), timeout))
+                   atomic_read(&reply->received), event_timeout))
                        goto time_err;
        } else {
                while (!atomic_read(&reply->received)) {