Re: [PATCH 1/1] ipmi: setting mod_timer for read_event_msg buffercmd

From: Corey Minyard
Date: Tue Nov 26 2013 - 12:26:55 EST


On 11/25/2013 03:51 AM, Srinivas_G_Gowda@xxxxxxxx wrote:
> Setting up mod_timer() for IPMI_READ_EVENT_MSG_BUFFER_CMD.
> Driver stalls in case we hit error cases for IPMI_READ_EVENT_MSG_BUFFER_CMD.
>
> Signed-off-by: Srinivas Gowda <srinivas_g_gowda@xxxxxxxx>
> ---
> drivers/char/ipmi/ipmi_si_intf.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
> index 15e4a60..affcc52 100644
> --- a/drivers/char/ipmi/ipmi_si_intf.c
> +++ b/drivers/char/ipmi/ipmi_si_intf.c
> @@ -843,6 +843,9 @@ static enum si_sm_result smi_event_handler(struct smi_info *smi_info,
> smi_info->curr_msg->data[1] = IPMI_READ_EVENT_MSG_BUFFER_CMD;
> smi_info->curr_msg->data_size = 2;
>
> + smi_info->last_timeout_jiffies = jiffies;
> + mod_timer(&smi_info->si_timer, (jiffies + SI_TIMEOUT_JIFFIES));
> +

This change is not correct and will mess up timing. That code is called
from a number of places and that's where the timer modification should
be done, if any are required. I can't imagine how this change would
make a difference, but if it does, it points to a bug elsewhere in the
code (or possibly in the BMC), not here.

-corey

> smi_info->handlers->start_transaction(
> smi_info->si_sm,
> smi_info->curr_msg->data,

--
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/