Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1532887 > unrolled thread

[PATCH v2] reset: ti_syscon: fix a ti_syscon_reset_status issue

Started byJiancheng Xue <xuejiancheng@hisilicon.com>
First post2016-11-30 02:30 +0100
Last post2016-11-30 11:10 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2] reset: ti_syscon: fix a ti_syscon_reset_status issue Jiancheng Xue <xuejiancheng@hisilicon.com> - 2016-11-30 02:30 +0100
    Re: [PATCH v2] reset: ti_syscon: fix a ti_syscon_reset_status issue Philipp Zabel <p.zabel@pengutronix.de> - 2016-11-30 11:10 +0100

#1532887 — [PATCH v2] reset: ti_syscon: fix a ti_syscon_reset_status issue

FromJiancheng Xue <xuejiancheng@hisilicon.com>
Date2016-11-30 02:30 +0100
Subject[PATCH v2] reset: ti_syscon: fix a ti_syscon_reset_status issue
Message-ID<sJ1SF-7Ky-3@gated-at.bofh.it>
If STATUS_SET was not set, ti_syscon_reset_status would always return 0
no matter whether the status_bit was set or not.

Signed-off-by: Jiancheng Xue <xuejiancheng@hisilicon.com>
---
Change Log
v2:
- Refined this patch according to the suggestion from Andrew F. Davis.

 drivers/reset/reset-ti-syscon.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index 47f0ffd..1799fd4 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -154,8 +154,8 @@ static int ti_syscon_reset_status(struct reset_controller_dev *rcdev,
 	if (ret)
 		return ret;
 
-	return (reset_state & BIT(control->status_bit)) &&
-			(control->flags & STATUS_SET);
+	return !(reset_state & BIT(control->status_bit)) ==
+		!(control->flags & STATUS_SET);
 }
 
 static struct reset_control_ops ti_syscon_reset_ops = {
-- 
1.9.1

[toc] | [next] | [standalone]


#1533172

FromPhilipp Zabel <p.zabel@pengutronix.de>
Date2016-11-30 11:10 +0100
Message-ID<sJ9ZU-4JS-9@gated-at.bofh.it>
In reply to#1532887
Hi Jiancheng,

Am Mittwoch, den 30.11.2016, 09:03 +0800 schrieb Jiancheng Xue:
> If STATUS_SET was not set, ti_syscon_reset_status would always return 0
> no matter whether the status_bit was set or not.
> 
> Signed-off-by: Jiancheng Xue <xuejiancheng@hisilicon.com>

Thank you, I've added:

Fixes: cc7c2bb1493c ("reset: add TI SYSCON based reset driver")

and applied the patch.

regards
Philipp

> ---
> Change Log
> v2:
> - Refined this patch according to the suggestion from Andrew F. Davis.
> 
>  drivers/reset/reset-ti-syscon.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
> index 47f0ffd..1799fd4 100644
> --- a/drivers/reset/reset-ti-syscon.c
> +++ b/drivers/reset/reset-ti-syscon.c
> @@ -154,8 +154,8 @@ static int ti_syscon_reset_status(struct reset_controller_dev *rcdev,
>  	if (ret)
>  		return ret;
>  
> -	return (reset_state & BIT(control->status_bit)) &&
> -			(control->flags & STATUS_SET);
> +	return !(reset_state & BIT(control->status_bit)) ==
> +		!(control->flags & STATUS_SET);
>  }
>  
>  static struct reset_control_ops ti_syscon_reset_ops = {

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web