diff options
author | Tom Cherry <tcherry@nvidia.com> | 2011-02-18 11:59:16 -0800 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-03-03 10:37:23 -0800 |
commit | 29c5018516f0ed614d886b42d0b74787d89147fc (patch) | |
tree | 667bdb5d3d6abda13b24d1c09fc8ac5c8b211b5a /arch/arm/mach-tegra/suspend.c | |
parent | 38d4a5a3e53ca4a9f821bb081062da616ee9ee79 (diff) |
[arm/tegra] Check null pointer in suspend.c
In tegra_suspend_enter, we need to check mask() and unmask() for null
before calling them, since there is no guarantee irq chips other than
tegra will implement these functions.
Change-Id: Ia6cb2c234983722bbe1202ec84eaceaf22a13450
Reviewed-on: http://git-master/r/20099
Tested-by: Thomas Cherry <tcherry@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/suspend.c')
-rw-r--r-- | arch/arm/mach-tegra/suspend.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/suspend.c b/arch/arm/mach-tegra/suspend.c index 146b93a014f3..8a3af04a1689 100644 --- a/arch/arm/mach-tegra/suspend.c +++ b/arch/arm/mach-tegra/suspend.c @@ -615,7 +615,8 @@ static int tegra_suspend_enter(suspend_state_t state) for_each_irq_desc(irq, desc) { if ((desc->status & IRQ_WAKEUP) && - (desc->status & IRQ_SUSPENDED)) { + (desc->status & IRQ_SUSPENDED) && + (get_irq_chip(irq)->unmask)) { get_irq_chip(irq)->unmask(irq); } } @@ -631,7 +632,8 @@ static int tegra_suspend_enter(suspend_state_t state) for_each_irq_desc(irq, desc) { if ((desc->status & IRQ_WAKEUP) && - (desc->status & IRQ_SUSPENDED)) { + (desc->status & IRQ_SUSPENDED) && + (get_irq_chip(irq)->mask)) { get_irq_chip(irq)->mask(irq); } } |