Hi Mauro, Sachin, On 09/25/2012 03:28 PM, Mauro Carvalho Chehab wrote: > Hi Sylwester, > > Please review. I checked it with Kamil and it seems the code being removed is required for proper driver operation. Thus please hold on with this patch. We will prepare a different fix after testing. Sachin, thanks for reporting that issue. The code below is needed to make sure the MFC is fully suspended after s5p_mfc_suspend() returns. The "return s5p_mfc_sleep(m_dev);" probably just needs to be moved after the while loop. > Thanks! > Mauro > > Forwarded message: > > Date: Fri, 14 Sep 2012 14:50:17 +0530 > From: Sachin Kamat <sachin.kamat@xxxxxxxxxx> > To: linux-media@xxxxxxxxxxxxxxx > Cc: mchehab@xxxxxxxxxxxxx, s.nawrocki@xxxxxxxxxxx, k.debski@xxxxxxxxxxx, sachin.kamat@xxxxxxxxxx, patches@xxxxxxxxxx > Subject: [PATCH] [media] s5p-mfc: Remove unreachable code > > > Code after return statement never gets executed. > Hence can be deleted. > > Signed-off-by: Sachin Kamat <sachin.kamat@xxxxxxxxxx> > --- > drivers/media/platform/s5p-mfc/s5p_mfc.c | 21 +-------------------- > 1 files changed, 1 insertions(+), 20 deletions(-) > > diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c > index e3e616d..56876be 100644 > --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c > +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c > @@ -1144,30 +1144,11 @@ static int s5p_mfc_suspend(struct device *dev) > { > struct platform_device *pdev = to_platform_device(dev); > struct s5p_mfc_dev *m_dev = platform_get_drvdata(pdev); > - int ret; > > if (m_dev->num_inst == 0) > return 0; > - return s5p_mfc_sleep(m_dev); > - if (test_and_set_bit(0, &m_dev->enter_suspend) != 0) { > - mfc_err("Error: going to suspend for a second time\n"); > - return -EIO; > - } > > - /* Check if we're processing then wait if it necessary. */ > - while (test_and_set_bit(0, &m_dev->hw_lock) != 0) { > - /* Try and lock the HW */ > - /* Wait on the interrupt waitqueue */ > - ret = wait_event_interruptible_timeout(m_dev->queue, > - m_dev->int_cond || m_dev->ctx[m_dev->curr_ctx]->int_cond, > - msecs_to_jiffies(MFC_INT_TIMEOUT)); > - > - if (ret == 0) { > - mfc_err("Waiting for hardware to finish timed out\n"); > - return -EIO; > - } > - } > - return 0; > + return s5p_mfc_sleep(m_dev); > } > > static int s5p_mfc_resume(struct device *dev) -- Thanks, Sylwester -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html