[PATCH 2/2] OMAP3: PM: Early exit on invalid parameters

Phil Carmody
2009-04-27T16:26:35Z

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