public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex
@ 2009-04-27 16:26 Phil Carmody
  2009-04-27 16:26 ` [PATCH 1/2] OMAP3: PM: Don't do unnecessary searches in omap_sr_vdd*_autocomp_store Phil Carmody
  2009-05-13 15:10 ` [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex Kevin Hilman
  0 siblings, 2 replies; 7+ messages in thread
From: Phil Carmody @ 2009-04-27 16:26 UTC (permalink / raw)
  To: linux-omap


A couple of simple patches to improve error handling in smartreflex.
The first has a practical benefit of avoiding a string-based search
in situtations where the result wouldn't be needed. The second is
simple paranoia.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] OMAP3: PM: Don't do unnecessary searches in omap_sr_vdd*_autocomp_store
  2009-04-27 16:26 [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex Phil Carmody
@ 2009-04-27 16:26 ` Phil Carmody
  2009-04-27 16:26   ` [PATCH 2/2] OMAP3: PM: Early exit on invalid parameters Phil Carmody
  2009-05-13 15:10 ` [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex Kevin Hilman
  1 sibling, 1 reply; 7+ messages in thread
From: Phil Carmody @ 2009-04-27 16:26 UTC (permalink / raw)
  To: linux-omap; +Cc: Phil Carmody

From: Phil Carmody <ext-phil.2.carmody@nokia.com>

When setting to 0, we don't need to do searches for the resource by
its name. In the case where we do search, handle the error condition
cleanly.

Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
---
 arch/arm/mach-omap2/smartreflex.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
index ae5c336..ce7d436 100644
--- a/arch/arm/mach-omap2/smartreflex.c
+++ b/arch/arm/mach-omap2/smartreflex.c
@@ -744,7 +744,6 @@ static ssize_t omap_sr_vdd1_autocomp_store(struct kobject *kobj,
 					struct kobj_attribute *attr,
 					const char *buf, size_t n)
 {
-	u32 current_vdd1opp_no;
 	unsigned short value;
 
 	if (sscanf(buf, "%hu", &value) != 1 || (value > 1)) {
@@ -752,13 +751,14 @@ static ssize_t omap_sr_vdd1_autocomp_store(struct kobject *kobj,
 		return -EINVAL;
 	}
 
-	current_vdd1opp_no = omap_pm_vdd1_get_opp();
-
-	if (value == 0)
+	if (value == 0) {
 		sr_stop_vddautocomap(SR1);
-	else
+	} else {
+		u32 current_vdd1opp_no = omap_pm_vdd1_get_opp();
+		if (IS_ERR_VALUE(current_vdd1opp_no))
+			return -ENODEV;
 		sr_start_vddautocomap(SR1, current_vdd1opp_no);
-
+	}
 	return n;
 }
 
@@ -782,7 +782,6 @@ static ssize_t omap_sr_vdd2_autocomp_store(struct kobject *kobj,
 					struct kobj_attribute *attr,
 					const char *buf, size_t n)
 {
-	u32 current_vdd2opp_no;
 	unsigned short value;
 
 	if (sscanf(buf, "%hu", &value) != 1 || (value > 1)) {
@@ -790,13 +789,14 @@ static ssize_t omap_sr_vdd2_autocomp_store(struct kobject *kobj,
 		return -EINVAL;
 	}
 
-	current_vdd2opp_no = omap_pm_vdd2_get_opp();
-
-	if (value == 0)
+	if (value == 0) {
 		sr_stop_vddautocomap(SR2);
-	else
+	} else {
+		u32 current_vdd2opp_no = omap_pm_vdd2_get_opp();
+		if (IS_ERR_VALUE(current_vdd2opp_no))
+			return -ENODEV;
 		sr_start_vddautocomap(SR2, current_vdd2opp_no);
-
+	}
 	return n;
 }
 
-- 
1.5.4.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] OMAP3: PM: Early exit on invalid parameters
  2009-04-27 16:26 ` [PATCH 1/2] OMAP3: PM: Don't do unnecessary searches in omap_sr_vdd*_autocomp_store Phil Carmody
@ 2009-04-27 16:26   ` Phil Carmody
  0 siblings, 0 replies; 7+ messages in thread
From: Phil Carmody @ 2009-04-27 16:26 UTC (permalink / raw)
  To: linux-omap; +Cc: Phil Carmody

From: Phil Carmody <ext-phil.2.carmody@nokia.com>

Currently no clients call with invalid parameters, but as
these are exported functions there ought to be some protection
against what would cause NULL pointer dereferences.

Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
---
 arch/arm/mach-omap2/smartreflex.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
index ce7d436..741b51e 100644
--- a/arch/arm/mach-omap2/smartreflex.c
+++ b/arch/arm/mach-omap2/smartreflex.c
@@ -555,6 +555,8 @@ void sr_start_vddautocomap(int srid, u32 target_opp_no)
 		sr = &sr1;
 	else if (srid == SR2)
 		sr = &sr2;
+	else
+		return;
 
 	if (sr->is_sr_reset == 1) {
 		sr_clk_enable(sr);
@@ -583,6 +585,8 @@ int sr_stop_vddautocomap(int srid)
 		sr = &sr1;
 	else if (srid == SR2)
 		sr = &sr2;
+	else
+		return -EINVAL;
 
 	if (sr->is_autocomp_active == 1) {
 		sr_disable(sr);
@@ -609,6 +613,8 @@ void enable_smartreflex(int srid)
 		sr = &sr1;
 	else if (srid == SR2)
 		sr = &sr2;
+	else
+		return;
 
 	if (sr->is_autocomp_active == 1) {
 		if (sr->is_sr_reset == 1) {
@@ -636,6 +642,8 @@ void disable_smartreflex(int srid)
 		sr = &sr1;
 	else if (srid == SR2)
 		sr = &sr2;
+	else
+		return;
 
 	if (sr->is_autocomp_active == 1) {
 		if (sr->is_sr_reset == 0) {
-- 
1.5.4.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex
  2009-04-27 16:26 [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex Phil Carmody
  2009-04-27 16:26 ` [PATCH 1/2] OMAP3: PM: Don't do unnecessary searches in omap_sr_vdd*_autocomp_store Phil Carmody
@ 2009-05-13 15:10 ` Kevin Hilman
  2009-05-13 15:36   ` Phil Carmody
  1 sibling, 1 reply; 7+ messages in thread
From: Kevin Hilman @ 2009-05-13 15:10 UTC (permalink / raw)
  To: Phil Carmody; +Cc: linux-omap

Phil Carmody <ext-phil.2.carmody@nokia.com> writes:

> A couple of simple patches to improve error handling in smartreflex.
> The first has a practical benefit of avoiding a string-based search
> in situtations where the result wouldn't be needed. The second is
> simple paranoia.

Thanks, pushing this series today.

Note that I pushed this on top of Rajendra's patch:
"OMAP3: SR: Fix SR driver to check for omap-pm return values"
and had to resolve a couple of conflicts.

Could you please sanity check it?

Thanks,

Kevin

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex
  2009-05-13 15:10 ` [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex Kevin Hilman
@ 2009-05-13 15:36   ` Phil Carmody
  2009-05-13 16:54     ` Kevin Hilman
  0 siblings, 1 reply; 7+ messages in thread
From: Phil Carmody @ 2009-05-13 15:36 UTC (permalink / raw)
  To: ext Kevin Hilman; +Cc: linux-omap@vger.kernel.org

On Wed, 2009-05-13 at 17:10 +0200, ext Kevin Hilman wrote:
> Phil Carmody <ext-phil.2.carmody@nokia.com> writes:
> 
> > A couple of simple patches to improve error handling in smartreflex.
> > The first has a practical benefit of avoiding a string-based search
> > in situtations where the result wouldn't be needed. The second is
> > simple paranoia.
> 
> Thanks, pushing this series today.
> 
> Note that I pushed this on top of Rajendra's patch:
> "OMAP3: SR: Fix SR driver to check for omap-pm return values"
> and had to resolve a couple of conflicts.
> 
> Could you please sanity check it?

Sanity check successful. Many thanks, Kevin.

Phil


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex
  2009-05-13 15:36   ` Phil Carmody
@ 2009-05-13 16:54     ` Kevin Hilman
  2009-05-14  8:03       ` Phil Carmody
  0 siblings, 1 reply; 7+ messages in thread
From: Kevin Hilman @ 2009-05-13 16:54 UTC (permalink / raw)
  To: ext-phil.2.carmody; +Cc: linux-omap@vger.kernel.org

Phil Carmody <ext-phil.2.carmody@nokia.com> writes:

> On Wed, 2009-05-13 at 17:10 +0200, ext Kevin Hilman wrote:
>> Phil Carmody <ext-phil.2.carmody@nokia.com> writes:
>> 
>> > A couple of simple patches to improve error handling in smartreflex.
>> > The first has a practical benefit of avoiding a string-based search
>> > in situtations where the result wouldn't be needed. The second is
>> > simple paranoia.
>> 
>> Thanks, pushing this series today.
>> 
>> Note that I pushed this on top of Rajendra's patch:
>> "OMAP3: SR: Fix SR driver to check for omap-pm return values"
>> and had to resolve a couple of conflicts.
>> 
>> Could you please sanity check it?
>
> Sanity check successful. Many thanks, Kevin.
>

Hmm, you're too fast for me.
Not sure how you tested as I hadn't pushed your changes yet ;)

I just pushed them to my pm branch, but they are not yet sync'd to
tony's tree.  Can you try now.

Kevin

[1] http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex
  2009-05-13 16:54     ` Kevin Hilman
@ 2009-05-14  8:03       ` Phil Carmody
  0 siblings, 0 replies; 7+ messages in thread
From: Phil Carmody @ 2009-05-14  8:03 UTC (permalink / raw)
  To: ext Kevin Hilman; +Cc: linux-omap@vger.kernel.org

On Wed, 2009-05-13 at 18:54 +0200, ext Kevin Hilman wrote:
> Phil Carmody <ext-phil.2.carmody@nokia.com> writes:
> 
> > On Wed, 2009-05-13 at 17:10 +0200, ext Kevin Hilman wrote:
> >> Phil Carmody <ext-phil.2.carmody@nokia.com> writes:
> >> 
> >> > A couple of simple patches to improve error handling in smartreflex.
> >> > The first has a practical benefit of avoiding a string-based search
> >> > in situtations where the result wouldn't be needed. The second is
> >> > simple paranoia.
> >> 
> >> Thanks, pushing this series today.
> >> 
> >> Note that I pushed this on top of Rajendra's patch:
> >> "OMAP3: SR: Fix SR driver to check for omap-pm return values"
> >> and had to resolve a couple of conflicts.
> >> 
> >> Could you please sanity check it?
> >
> > Sanity check successful. Many thanks, Kevin.
> 
> Hmm, you're too fast for me.

It's the time zone difference! 

> Not sure how you tested as I hadn't pushed your changes yet ;)
>
> I just pushed them to my pm branch, but they are not yet sync'd to
> tony's tree.  Can you try now.

Freshly pulled, indeed I now see the extent of the rework. I don't know
whether -ENODEV or -EINVAL is better, the former just came to mind first
when I was in the file.

Either way, it looks fine. Thanks again.

Phil


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-05-14  8:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-27 16:26 [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex Phil Carmody
2009-04-27 16:26 ` [PATCH 1/2] OMAP3: PM: Don't do unnecessary searches in omap_sr_vdd*_autocomp_store Phil Carmody
2009-04-27 16:26   ` [PATCH 2/2] OMAP3: PM: Early exit on invalid parameters Phil Carmody
2009-05-13 15:10 ` [PATCH 0/2] OMAP3: PM: More pedantic parameter and error checking in smartreflex Kevin Hilman
2009-05-13 15:36   ` Phil Carmody
2009-05-13 16:54     ` Kevin Hilman
2009-05-14  8:03       ` Phil Carmody

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox