If DSP baseimage requests for invalid OPPs, do not pass them to the rest of the linux kernel subsystem. with a test baseimage it was found to send IO_DispatchPM: WMDIOCTL_CONSTRAINT_REQUEST with parameter 0. this is an invalid OPP ID and should not be passed anywhere. we add a param check for this prior to passing it along to the workqueue. Cc: Ameya Palande <ameya.palande@xxxxxxxxx> Cc: Deepak Chitriki <deepak.chitriki@xxxxxx> Cc: Felipe Contreras <felipe.contreras@xxxxxxxxx> Cc: Hiroshi Doyu <hiroshi.doyu@xxxxxxxxx> Cc: Omar Ramirez Luna <omar.ramirez@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> --- drivers/dsp/bridge/wmd/io_sm.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/dsp/bridge/wmd/io_sm.c b/drivers/dsp/bridge/wmd/io_sm.c index 6c140c5..618bedb 100644 --- a/drivers/dsp/bridge/wmd/io_sm.c +++ b/drivers/dsp/bridge/wmd/io_sm.c @@ -960,9 +960,12 @@ static void IO_DispatchPM(struct work_struct *work) pArg[1] = pIOMgr->pSharedMem->oppRequest.rqstOppPt; DBG_Trace(DBG_LEVEL7, "IO_DispatchPM : Value of OPP " "value =0x%x \n", pArg[1]); - status = pIOMgr->pIntfFxns->pfnDevCntrl(pIOMgr-> - hWmdContext, WMDIOCTL_CONSTRAINT_REQUEST, - pArg); + if (!pArg[1]) + status = DSP_EINVALIDARG; + else + status = pIOMgr->pIntfFxns->pfnDevCntrl(pIOMgr-> + hWmdContext, + WMDIOCTL_CONSTRAINT_REQUEST, pArg); if (DSP_FAILED(status)) { DBG_Trace(DBG_LEVEL7, "IO_DispatchPM : Failed " "to set constraint = 0x%x \n", -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html