From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753807Ab0IVLeO (ORCPT ); Wed, 22 Sep 2010 07:34:14 -0400 Received: from cantor2.suse.de ([195.135.220.15]:40467 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753046Ab0IVLeM (ORCPT ); Wed, 22 Sep 2010 07:34:12 -0400 Date: Wed, 22 Sep 2010 13:34:11 +0200 Message-ID: From: Takashi Iwai To: Andrew Morton Cc: Samu Onkalo , =?UTF-8?B?w4lyaWM=?= Piel , linux-kernel@vger.kernel.org Subject: [PATCH resent] lis3: Fix Oops with NULL platform data User-Agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.7 Emacs/23.1 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The recent addition of threaded irq handler causes a NULL dereference when used with hp_accel driver, which has NULL pdata. Cc: Signed-off-by: Takashi Iwai --- This should go to 2.6.36 and 2.6.35-stable tree. drivers/hwmon/lis3lv02d.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/hwmon/lis3lv02d.c b/drivers/hwmon/lis3lv02d.c index 5e15967..1c266ec 100644 --- a/drivers/hwmon/lis3lv02d.c +++ b/drivers/hwmon/lis3lv02d.c @@ -354,7 +354,8 @@ static irqreturn_t lis302dl_interrupt_thread1_8b(int irq, void *data) struct lis3lv02d *lis3 = data; - if ((lis3->pdata->irq_cfg & LIS3_IRQ1_MASK) == LIS3_IRQ1_CLICK) + if (lis3->pdata && + (lis3->pdata->irq_cfg & LIS3_IRQ1_MASK) == LIS3_IRQ1_CLICK) lis302dl_interrupt_handle_click(lis3); else lis302dl_interrupt_handle_ff_wu(lis3); @@ -367,7 +368,8 @@ static irqreturn_t lis302dl_interrupt_thread2_8b(int irq, void *data) struct lis3lv02d *lis3 = data; - if ((lis3->pdata->irq_cfg & LIS3_IRQ2_MASK) == LIS3_IRQ2_CLICK) + if (lis3->pdata && + (lis3->pdata->irq_cfg & LIS3_IRQ2_MASK) == LIS3_IRQ2_CLICK) lis302dl_interrupt_handle_click(lis3); else lis302dl_interrupt_handle_ff_wu(lis3); -- 1.7.2.2