Re: mei: cancel stall timers in mei_reset

From: Eugene Shatokhin
Date: Tue Nov 05 2013 - 03:08:08 EST


On 11/04/2013 07:48 PM, Eugene Shatokhin wrote:
----- Original Message -----
I would appreciate the full log and your .config

I have attached the config and the log.

Meanwhile, I have found one suspicious place in the code that could be related: mei_reset() ignores the return value of mei_hw_start(). According to the logs, there was at least the following interesting call sequence before things went wrong:

mei_reset() => mei_hw_start() => .hw_start() callback, which is mei_me_hw_start() => mei_me_hw_ready_wait().

mei_me_hw_ready_wait() reported "wait hw ready failed" and returned -ETIMEDOUT, that error was propagated to mei_hw_start(). mei_reset(), however, does not check the return value of that function and goes on even if it returns an error: sets dev->dev_state to MEI_DEV_INIT_CLIENTS, calls mei_hbm_start_req(dev), etc.

I am not sure if this is intentional and if this is related to the problem, but still.


Oh, looks like it is mei_hw_start() that first ignores the error. Might be a problem anyway.

Regards,
Eugene

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