0) mei_me_hw_ready_wait() currently reads:
        int err;
        [...]

        err = wait_event_interruptible_timeout(dev->wait_hw_ready,
                        dev->recvd_hw_ready,
                        mei_secs_to_jiffies(MEI_INTEROP_TIMEOUT));
        [...]
        if (!err && !dev->recvd_hw_ready) {
                if (!err)
                        err = -ETIMEDOUT;
                dev_err(&dev->pdev->dev,
                        "wait hw ready failed. status = %d\n", err);
                return err;
        }
        [...]

1) The second check for !err was introduced in commit dab9bf41b23f
("mei: me: fix waiting for hw ready"). It's not needed. And the check
for !dev->recvd_hw_ready seems unneeded too.

2) So perhaps something like this was intended:
        [...]
        if (err <= 0) {
                if (!err)
                        err = -ETIMEDOUT;
                dev_err(&dev->pdev->dev,
                        "wait hw ready failed. status = %d\n", err);
                return err;
        }
        [...]

But that's just a guess. For example: it is unclear whether that would
handle wait_event_interruptible_timeout() returning -ERESTARTSYS
correctly. So I'm unable to draft and submit a patch here.


Paul Bolle

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to