On 11/25/2013 03:51 AM, [email protected] 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 <[email protected]> > --- > 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

