diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-09-23 10:01:11 -0700 |
---|---|---|
committer | Guenter Roeck <guenter.roeck@ericsson.com> | 2010-09-24 11:44:18 -0700 |
commit | f7c77a3dc4683659b6f0d1b6cbc82b6253d095e0 (patch) | |
tree | cd8fc229f2b26050b42771b64a4e27b7127726f3 /drivers | |
parent | a850ea30374ebed32a0724742601861853fde869 (diff) | |
download | linux-f7c77a3dc4683659b6f0d1b6cbc82b6253d095e0.tar.bz2 |
hwmon: (lis3) Fix Oops with NULL platform data
The recent addition of threaded irq handler causes a NULL dereference
when used with hp_accel driver, which has NULL pdata.
Acked-by: Samu Onkalo <samu.p.onkalo@nokia.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/hwmon/lis3lv02d.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/hwmon/lis3lv02d.c b/drivers/hwmon/lis3lv02d.c index 6138f036b159..fc591ae53107 100644 --- a/drivers/hwmon/lis3lv02d.c +++ b/drivers/hwmon/lis3lv02d.c @@ -277,7 +277,7 @@ static irqreturn_t lis302dl_interrupt(int irq, void *dummy) wake_up_interruptible(&lis3_dev.misc_wait); kill_fasync(&lis3_dev.async_queue, SIGIO, POLL_IN); out: - if (lis3_dev.whoami == WAI_8B && lis3_dev.idev && + if (lis3_dev.pdata && lis3_dev.whoami == WAI_8B && lis3_dev.idev && lis3_dev.idev->input->users) return IRQ_WAKE_THREAD; return IRQ_HANDLED; @@ -718,7 +718,7 @@ int lis3lv02d_init_device(struct lis3lv02d *dev) * io-apic is not configurable (and generates a warning) but I keep it * in case of support for other hardware. */ - if (dev->whoami == WAI_8B) + if (dev->pdata && dev->whoami == WAI_8B) thread_fn = lis302dl_interrupt_thread1_8b; else thread_fn = NULL; |