Messages in this thread | | | Subject | Re: [PATCH] extcon: intel-int3496: Fix oops on probe | From | Hans de Goede <> | Date | Mon, 12 Feb 2018 20:46:15 +0100 |
| |
Hi,
On 12-02-18 00:36, Chanwoo Choi wrote: > On 2018년 02월 12일 08:26, Hans de Goede wrote: >> Commit 41d600274fbf ("extcon: int3496: process id-pin first so that we >> start with the right status") starts the work on the workqueue before >> registration to make sure we've a valid cable state directly after >> registration. >> >> But that commit moves the queuing of the work to before we even alloc the >> extcon, causing a NULL pointer deref in the worker. >> >> This commit moves the queuing of the work to after we alloc the extcon, >> fixing the NULL pointer deref. >> >> Fixes: 41d600274fbf ("extcon: int3496: process id-pin first ...") >> Cc: stable@vger.kernel.org >> Signed-off-by: Hans de Goede <hdegoede@redhat.com> >> --- >> drivers/extcon/extcon-intel-int3496.c | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/extcon/extcon-intel-int3496.c b/drivers/extcon/extcon-intel-int3496.c >> index b23ee9d993a3..673bb26a9a2a 100644 >> --- a/drivers/extcon/extcon-intel-int3496.c >> +++ b/drivers/extcon/extcon-intel-int3496.c >> @@ -131,15 +131,15 @@ static int int3496_probe(struct platform_device *pdev) >> if (IS_ERR(data->gpio_usb_mux)) >> dev_info(dev, "can't request USB MUX GPIO\n"); >> >> + data->edev = devm_extcon_dev_allocate(dev, int3496_cable); >> + if (IS_ERR(data->edev)) >> + return -ENOMEM; >> + >> /* process id-pin first so that we start with the right status */ >> queue_delayed_work(system_wq, &data->work, 0); >> flush_delayed_work(&data->work); >> >> /* register extcon device */ >> - data->edev = devm_extcon_dev_allocate(dev, int3496_cable); >> - if (IS_ERR(data->edev)) >> - return -ENOMEM; >> - >> ret = devm_extcon_dev_register(dev, data->edev); >> if (ret < 0) { >> dev_err(dev, "can't register extcon device: %d\n", ret); >> > > Instead, You better to send v3 after merging your patch[1] and this patch. > [1] extcon: int3496: process id-pin first so that we start with the right status
Ok, I've rebased my tree on top of 4.16-rc1 and prepared a v3. During the rebase I noticed that a patch for the axp288-extcon driver which was supposed to get dropped did end up in 4.16-rc1, so I will also (resend) a revert for that.
Also another extcon-axp288 driver patch seems to not have made it into 4.16-rc1, so I will resend that too.
Regards,
Hans
| |