Explorar el Código

msm: ipa: fix the polling state on GSI

Adding the missing change to update the polling state.

Change-Id: Icfd26c17b91cfe62b67a44c27727fff1f14b6943
Bojun Pan hace 4 años
padre
commit
05f6b458cf
Se han modificado 1 ficheros con 2 adiciones y 0 borrados
  1. 2 0
      drivers/platform/msm/gsi/gsi.c

+ 2 - 0
drivers/platform/msm/gsi/gsi.c

@@ -4162,6 +4162,7 @@ int gsi_config_channel_mode(unsigned long chan_hdl, enum gsi_chan_mode mode)
 			gsihal_write_reg_n(GSI_EE_n_CNTXT_SRC_IEOB_IRQ_CLR,
 				gsi_ctx->per.ee, 1 << ctx->evtr->id);
 		}
+		atomic_set(&ctx->poll_mode, mode);
 		for(i = 0; i < ctx->evtr->num_of_chan_allocated; i++) {
 			atomic_set(&ctx->evtr->chan[i]->poll_mode, mode);
 		}
@@ -4180,6 +4181,7 @@ int gsi_config_channel_mode(unsigned long chan_hdl, enum gsi_chan_mode mode)
 
 	if (curr == GSI_CHAN_MODE_POLL &&
 			mode == GSI_CHAN_MODE_CALLBACK) {
+		atomic_set(&ctx->poll_mode, mode);
 		for(i = 0; i < ctx->evtr->num_of_chan_allocated; i++) {
 			atomic_set(&ctx->evtr->chan[i]->poll_mode, mode);
 		}