diff options
author | Axel Lin <axel.lin@gmail.com> | 2010-10-08 05:54:31 -0400 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2010-10-21 10:10:47 -0400 |
commit | 4119617919c243755946699808ffd0f4befa62c7 (patch) | |
tree | a3072ec2107810b3dac2e9da0e8c366bfe946e43 /drivers/platform | |
parent | 35f0ce032b0f2d6974da516b5a113f49b7b70b09 (diff) |
intel_pmic_gpio: fix off-by-one value range checking
In pmic_irq_type(), we use gpio as array index for trigger,
thus the valid value range for gpio should be 0 .. NUM_GPIO - 1.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/x86/intel_pmic_gpio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/platform/x86/intel_pmic_gpio.c b/drivers/platform/x86/intel_pmic_gpio.c index c6e2a1d4fadc..f540ff96c53f 100644 --- a/drivers/platform/x86/intel_pmic_gpio.c +++ b/drivers/platform/x86/intel_pmic_gpio.c | |||
@@ -197,7 +197,7 @@ static int pmic_irq_type(unsigned irq, unsigned type) | |||
197 | u32 gpio = irq - pg->irq_base; | 197 | u32 gpio = irq - pg->irq_base; |
198 | unsigned long flags; | 198 | unsigned long flags; |
199 | 199 | ||
200 | if (gpio > pg->chip.ngpio) | 200 | if (gpio >= pg->chip.ngpio) |
201 | return -EINVAL; | 201 | return -EINVAL; |
202 | 202 | ||
203 | spin_lock_irqsave(&pg->irqtypes.lock, flags); | 203 | spin_lock_irqsave(&pg->irqtypes.lock, flags); |