[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6e0cd667a8a776e524b42f1535827208@codeaurora.org>
Date: Fri, 04 Jun 2021 21:40:28 +0530
From: rajeevny@...eaurora.org
To: Douglas Anderson <dianders@...omium.org>
Cc: Andrzej Hajda <a.hajda@...sung.com>,
Neil Armstrong <narmstrong@...libre.com>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>,
Sam Ravnborg <sam@...nborg.org>, linux-arm-msm@...r.kernel.org,
Linus W <linus.walleij@...aro.org>,
Lyude Paul <lyude@...hat.com>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Steev Klimaszewski <steev@...i.org>, robdclark@...omium.org,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Thierry Reding <treding@...dia.com>,
dri-devel@...ts.freedesktop.org,
Stanislav Lisovskiy <stanislav.lisovskiy@...el.com>,
Stephen Boyd <swboyd@...omium.org>,
Daniel Vetter <daniel@...ll.ch>,
David Airlie <airlied@...ux.ie>,
Thierry Reding <thierry.reding@...il.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v8 07/11] drm/panel: panel-simple: Stash DP AUX bus; allow
using it for DDC
Hi Doug,
> panel->no_hpd = of_property_read_bool(dev->of_node, "no-hpd");
> if (!panel->no_hpd) {
> @@ -708,6 +712,8 @@ static int panel_simple_probe(struct device *dev,
> const struct panel_desc *desc)
>
> if (!panel->ddc)
> return -EPROBE_DEFER;
> + } else if (aux) {
> + panel->ddc = &aux->ddc;
> }
In panel_simple_probe(), the put_device(&panel->ddc->dev) call is
causing issue when the aux->ddc is used to assign panel->ddc
It works well when "ddc-i2c-bus" is used to assign panel->ddc
static int panel_simple_probe(...)
{
...
free_ddc:
if (panel->ddc)
put_device(&panel->ddc->dev);
return err;
}
== Log start ==
[ 2.393970] ------------[ cut here ]------------
[ 2.398747] kobject: '(null)' ((____ptrval____)): is not initialized,
yet kobject_put() is being called.
[ 2.408554] WARNING: CPU: 7 PID: 7 at lib/kobject.c:752
kobject_put+0x38/0xe0
...
...
[ 2.528574] Call trace:
[ 2.531092] kobject_put+0x38/0xe0
[ 2.534594] put_device+0x20/0x2c
[ 2.538002] panel_simple_probe+0x4bc/0x550
[ 2.542300] panel_simple_dp_aux_ep_probe+0x44/0x5c
[ 2.547305] dp_aux_ep_probe+0x58/0x80
== Log end ==
Sincerely,
Rajeev
Powered by blists - more mailing lists