mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
msm: ipa3: Update channel start as success in flow control state
Observing race condition when we are starting the channel and modem trying to offload flow_control on same channel. Add changes to retrun success if channel state is flow control when trying to start the channel. Change-Id: Id254cd0e3e17c74e931d27cb96577224559c091e Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
This commit is contained in:
parent
0701cc2fb8
commit
2c82e9319e
2 changed files with 5 additions and 2 deletions
|
|
@ -172,7 +172,8 @@ static void gsi_channel_state_change_wait(unsigned long chan_hdl,
|
|||
}
|
||||
|
||||
if (op == GSI_CH_START) {
|
||||
if (curr_state == GSI_CHAN_STATE_STARTED) {
|
||||
if (curr_state == GSI_CHAN_STATE_STARTED ||
|
||||
curr_state == GSI_CHAN_STATE_FLOW_CONTROL) {
|
||||
ctx->state = curr_state;
|
||||
return;
|
||||
}
|
||||
|
|
@ -2981,7 +2982,8 @@ int gsi_start_channel(unsigned long chan_hdl)
|
|||
ctx,
|
||||
GSI_START_CMD_TIMEOUT_MS, op);
|
||||
|
||||
if (ctx->state != GSI_CHAN_STATE_STARTED) {
|
||||
if (ctx->state != GSI_CHAN_STATE_STARTED &&
|
||||
ctx->state != GSI_CHAN_STATE_FLOW_CONTROL) {
|
||||
/*
|
||||
* Hardware returned unexpected status, unexpected
|
||||
* hardware state.
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@ enum gsi_chan_state {
|
|||
GSI_CHAN_STATE_STARTED = 0x2,
|
||||
GSI_CHAN_STATE_STOPPED = 0x3,
|
||||
GSI_CHAN_STATE_STOP_IN_PROC = 0x4,
|
||||
GSI_CHAN_STATE_FLOW_CONTROL = 0x5,
|
||||
GSI_CHAN_STATE_ERROR = 0xf
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue