| From: Corey Minyard <cminyard@mvista.com> |
| Date: Tue, 22 May 2018 08:14:51 -0500 |
| Subject: ipmi:bt: Set the timeout before doing a capabilities check |
| |
| commit fe50a7d0393a552e4539da2d31261a59d6415950 upstream. |
| |
| 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> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/char/ipmi/ipmi_bt_sm.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/char/ipmi/ipmi_bt_sm.c |
| +++ b/drivers/char/ipmi/ipmi_bt_sm.c |
| @@ -522,11 +522,12 @@ static enum si_sm_result bt_event(struct |
| 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: |