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: [email protected] Signed-off-by: Hans de Goede <[email protected]> --- 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

