diff mbox

[media] s5p-mfc: Remove unreachable code

Message ID 20120925102839.2a90ab26@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mauro Carvalho Chehab Sept. 25, 2012, 1:28 p.m. UTC
Hi Sylwester,

Please review.

Thanks!
Mauro

Forwarded message:

Date: Fri, 14 Sep 2012 14:50:17 +0530
From: Sachin Kamat <sachin.kamat@linaro.org>
To: linux-media@vger.kernel.org
Cc: mchehab@infradead.org, s.nawrocki@samsung.com, k.debski@samsung.com, sachin.kamat@linaro.org, patches@linaro.org
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@linaro.org>
---
 drivers/media/platform/s5p-mfc/s5p_mfc.c |   21 +--------------------
 1 files changed, 1 insertions(+), 20 deletions(-)

Comments

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@linaro.org>
> To: linux-media@vger.kernel.org
> Cc: mchehab@infradead.org, s.nawrocki@samsung.com, k.debski@samsung.com, sachin.kamat@linaro.org, patches@linaro.org
> 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@linaro.org>
> ---
>  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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sachin Kamat Sept. 25, 2012, 3:25 p.m. UTC | #2
Hi Sylwester,

On 25 September 2012 19:37, Sylwester Nawrocki <s.nawrocki@samsung.com> wrote:
> 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.

OK.

The "return s5p_mfc_sleep(m_dev);" probably just needs
> to be moved after the while loop.

Do you want me to make this change and re-send the patch?


>
>> Thanks!
>> Mauro
>>
>> Forwarded message:
>>
>> Date: Fri, 14 Sep 2012 14:50:17 +0530
>> From: Sachin Kamat <sachin.kamat@linaro.org>
>> To: linux-media@vger.kernel.org
>> Cc: mchehab@infradead.org, s.nawrocki@samsung.com, k.debski@samsung.com, sachin.kamat@linaro.org, patches@linaro.org
>> 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@linaro.org>
>> ---
>>  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
Hi Sachin,

On 09/25/2012 05:25 PM, Sachin Kamat wrote:
> Do you want me to make this change and re-send the patch?

No, there is no need. Kamil is investigating it and will prepare
required patch. Right now I'm not sure if the change suggested
is correct or not.

Thanks,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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)