Messages in this thread | | | Date | Tue, 26 Nov 2013 11:26:48 -0600 | From | Corey Minyard <> | Subject | Re: [PATCH 1/1] ipmi: setting mod_timer for read_event_msg buffer cmd |
| |
On 11/25/2013 03:51 AM, Srinivas_G_Gowda@Dell.com 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@dell.com> > --- > 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,
| |