Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1395662
| From | Krzysztof Kozlowski <k.kozlowski@samsung.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v6 1/9] input: max8997-haptic: Fix NULL pointer dereference |
| Date | 2016-05-06 09:30 +0200 |
| Message-ID | <rvImZ-P0-7@gated-at.bofh.it> (permalink) |
| References | <rvIn0-P0-19@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Marek Szyprowski <m.szyprowski@samsung.com>
NULL pointer derefence happens when booting with DTB because the
platform data for haptic device is not set in supplied data from parent
MFD device.
The MFD device creates only platform data (from Device Tree) for itself,
not for haptic child.
Unable to handle kernel NULL pointer dereference at virtual address 0000009c
pgd = c0004000
[0000009c] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
(max8997_haptic_probe) from [<c03f9cec>] (platform_drv_probe+0x4c/0xb0)
(platform_drv_probe) from [<c03f8440>] (driver_probe_device+0x214/0x2c0)
(driver_probe_device) from [<c03f8598>] (__driver_attach+0xac/0xb0)
(__driver_attach) from [<c03f67ac>] (bus_for_each_dev+0x68/0x9c)
(bus_for_each_dev) from [<c03f7a38>] (bus_add_driver+0x1a0/0x218)
(bus_add_driver) from [<c03f8db0>] (driver_register+0x78/0xf8)
(driver_register) from [<c0101774>] (do_one_initcall+0x90/0x1d8)
(do_one_initcall) from [<c0a00dbc>] (kernel_init_freeable+0x15c/0x1fc)
(kernel_init_freeable) from [<c06bb5b4>] (kernel_init+0x8/0x114)
(kernel_init) from [<c0107938>] (ret_from_fork+0x14/0x3c)
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: <stable@vger.kernel.org>
Fixes: 104594b01ce7 ("Input: add driver support for MAX8997-haptic")
[k.kozlowski: Write commit message, add CC-stable]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
drivers/input/misc/max8997_haptic.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/input/misc/max8997_haptic.c b/drivers/input/misc/max8997_haptic.c
index a806ba3818f7..8d6326d7e7be 100644
--- a/drivers/input/misc/max8997_haptic.c
+++ b/drivers/input/misc/max8997_haptic.c
@@ -255,12 +255,14 @@ static int max8997_haptic_probe(struct platform_device *pdev)
struct max8997_dev *iodev = dev_get_drvdata(pdev->dev.parent);
const struct max8997_platform_data *pdata =
dev_get_platdata(iodev->dev);
- const struct max8997_haptic_platform_data *haptic_pdata =
- pdata->haptic_pdata;
+ const struct max8997_haptic_platform_data *haptic_pdata = NULL;
struct max8997_haptic *chip;
struct input_dev *input_dev;
int error;
+ if (pdata)
+ haptic_pdata = pdata->haptic_pdata;
+
if (!haptic_pdata) {
dev_err(&pdev->dev, "no haptic platform data\n");
return -EINVAL;
--
1.9.1
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v6 0/9] mfd: max8997: Add regmap support Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:30 +0200
[PATCH v6 1/9] input: max8997-haptic: Fix NULL pointer dereference Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:30 +0200
[PATCH v6 4/9] mfd: max8997: Change irq names to upper case Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:30 +0200
[PATCH v6 8/9] ARM: dts: exynos: Fix regulator name to avoid forbidden character on exynos4210-trats Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:30 +0200
[PATCH v6 3/9] mfd: max8997: handle IRQs using regmap Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:30 +0200
[PATCH v6 6/9] rtc: max8997: Check for ERRNO of regmap_irq_get_virq() Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:30 +0200
Re: [PATCH v6 6/9] rtc: max8997: Check for ERRNO of regmap_irq_get_virq() Alexandre Belloni <alexandre.belloni@free-electrons.com> - 2016-05-07 08:50 +0200
[PATCH v6 9/9] ARM: dts: exynos: Add interrupt line to MAX8997 PMIC on exynos4210-trats Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:30 +0200
[PATCH v6 5/9] extcon: max8997: Fix handling error code of regmap_irq_get_virq() Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:30 +0200
Re: [PATCH v6 5/9] extcon: max8997: Fix handling error code of regmap_irq_get_virq() Chanwoo Choi <cw00.choi@samsung.com> - 2016-05-10 03:30 +0200
[PATCH v6 7/9] extcon: max8997: Fix inconsistent indenting Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-05-06 09:40 +0200
Re: [PATCH v6 7/9] extcon: max8997: Fix inconsistent indenting Chanwoo Choi <cw00.choi@samsung.com> - 2016-05-10 03:30 +0200
Re: [PATCH v6 2/9] mfd: max8997: Use regmap to access registers Jacek Anaszewski <j.anaszewski@samsung.com> - 2016-05-06 10:10 +0200
Re: [PATCH v6 1/9] input: max8997-haptic: Fix NULL pointer dereference Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2016-05-09 18:40 +0200
Re: [PATCH v6 0/9] mfd: max8997: Add regmap support Lee Jones <lee.jones@linaro.org> - 2016-05-09 09:40 +0200
csiph-web