]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ipmi:bt: Set the timeout before doing a capabilities check
authorCorey Minyard <cminyard@mvista.com>
Tue, 22 May 2018 13:14:51 +0000 (08:14 -0500)
committerCorey Minyard <cminyard@mvista.com>
Tue, 22 May 2018 18:48:30 +0000 (13:48 -0500)
There was one place where the timeout value for an operation was
not being set, if a capabilities request was done from idle.  Move
the timeout value setting to before where that change might be
requested.

IMHO the cause here is the invisible returns in the macros.  Maybe
that's a job for later, though.

Reported-by: Nordmark Claes <Claes.Nordmark@tieto.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Cc: stable@vger.kernel.org
drivers/char/ipmi/ipmi_bt_sm.c

index fd4ea8d87d4b6eeb2ede95927763b9e896d8f2d4..a3397664f80014b881387e1faa855a8102a0caa5 100644 (file)
@@ -504,11 +504,12 @@ static enum si_sm_result bt_event(struct si_sm_data *bt, long time)
                if (status & BT_H_BUSY)         /* clear a leftover H_BUSY */
                        BT_CONTROL(BT_H_BUSY);
 
+               bt->timeout = bt->BT_CAP_req2rsp;
+
                /* Read BT capabilities if it hasn't been done yet */
                if (!bt->BT_CAP_outreqs)
                        BT_STATE_CHANGE(BT_STATE_CAPABILITIES_BEGIN,
                                        SI_SM_CALL_WITHOUT_DELAY);
-               bt->timeout = bt->BT_CAP_req2rsp;
                BT_SI_SM_RETURN(SI_SM_IDLE);
 
        case BT_STATE_XACTION_START: