Message ID | 929c46beecf77f2ebfa9f8c9b1c09f6ec610c31a.1695130648.git.hns@goldelico.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp3546740vqi; Tue, 19 Sep 2023 10:11:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE/Ee7jIxGpz6keTSNnQt9+IxumfOmk2YSp4aqU1iAJmof/jKiCaLM99wsu9qBteMHYz5HR X-Received: by 2002:a05:6a20:e12a:b0:14d:a7d8:5856 with SMTP id kr42-20020a056a20e12a00b0014da7d85856mr427668pzb.2.1695143465098; Tue, 19 Sep 2023 10:11:05 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1695143465; cv=pass; d=google.com; s=arc-20160816; b=nHmQFpCJbziVQLIpzoEMgooxZzxFzTXmCnnzt6C+aUg6JBF6iad555PaBvME86Notf SGTT8fAeEnUjfUVo37gyz1ZOarjsXAFjmLEkYNwih6JMJWf2gLO782QB/VyU4OFTmbWE 4sRqmLInP81UTOsB5HdlvgQhNqvxrFh4+BH4OYyofffUhLcwkYZam4idi44aaiCV+scS ryd6KWKnI99wNiCZQyISd0vAMN0HQCZ57xKkKjEGCI9+0SpAL/PL0Qi08ShKmdX9qaP6 wNKWwmW5/cd1djM6SzkqwhJjxYBCLUXNKqLA+03Lo7U88gaSXcCVvYFXf4Ed8tmpZOdh +o3A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature:dkim-signature; bh=C+Lkr4ss6MZINaRjRWZbodjkKT7ulOoKXpAu4jeNUT0=; fh=Z2lvQShagiJrDqM4yqY1FOD5h0UGMVudOlTDlHHfnXM=; b=eTWehJ4r87B6+IrN2FvzzAPxpRAk9yV7yINkbkkzDdCcfpQ/d67HWj8EctS1JwteuW NzWTrEcIIx0e264T6ngS+P6Vc0OxHlkdQg3dxiePaZh3qH2tFv9T03a0Rb13LW4TFm2H mqxXCyJxJwnalbZd92rd1hAo8XFVSOgJliAxDVmG0Bu7lru77BC6NMlcAkDGJwXG+C42 QYJ//JDyhh9Ll8DVF8Z02z3Hba9zYu5jC4BHQsmsrTl52+fjJeKhPuICqG0Kj4r2Wrzv HhzH13xNuFEidmqUdE7Q8+hPo7WU3SPid83VOwDua07/hBbogUVuBm/TgLpZEdPLN8qT iICQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@goldelico.com header.s=strato-dkim-0002 header.b=ZMdtX+2x; dkim=neutral (no key) header.i=@goldelico.com header.b=ifLmEvTK; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id a16-20020a056a001d1000b0068e47f319d9si10042871pfx.280.2023.09.19.10.11.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Sep 2023 10:11:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@goldelico.com header.s=strato-dkim-0002 header.b=ZMdtX+2x; dkim=neutral (no key) header.i=@goldelico.com header.b=ifLmEvTK; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 75B9F8229D37; Tue, 19 Sep 2023 06:38:53 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232409AbjISNiY (ORCPT <rfc822;toshivichauhan@gmail.com> + 26 others); Tue, 19 Sep 2023 09:38:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49586 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232425AbjISNiR (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 19 Sep 2023 09:38:17 -0400 Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de [81.169.146.166]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB212EC; Tue, 19 Sep 2023 06:38:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695130657; cv=none; d=strato.com; s=strato-dkim-0002; b=fmNCdrliKmKlDo9QFTbljpsJthBV+utp8y7CMMjQS2cI7k4YGcLSaoOZ/gNUBE9sF7 bUIQMKzJLh30qi/eZxLqTpEK7Gz44KiS9SXW/ePRMxca7wFe+uOcBfXxsuchE1QXNXd6 66qKlGTAz+xlK5ynlDjvPCGmXzsLam9mxWTHm5Ss9sJoUR3NUj4M38xUgkQjwqh7xuHD y3nJ7JgPTG13aiYXb+rfDB4RUWoNbkQLA3b9XLqvBt0DCcHrsTkZKGzCRhlFMk0TaJtv R6nzuexHMXYZZb1FRSWE/SKc/GN6SImfH5ma52vsC/znrLlOD4keN+aQHhsWqezs8/jr h/+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1695130657; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender; bh=C+Lkr4ss6MZINaRjRWZbodjkKT7ulOoKXpAu4jeNUT0=; b=qAK5LNPrtWq9JY4GDjefVmvqwUJ2sEwqglqxTPy3dLaDT+pIYRaezv/8uokyl0ZVk5 IVc51zFv1yb541MSm0zm4jRf2djdJ6q8V9QJr81y+l/+BTtqMoDqFiq1Nk4FVdqpw8RG 3YXyenqF1KRadAVnCoy30I1Yh9wXfEdbuzrIHSCGfKj6LHywzH0HzCknZzEEWsuobqfy uS5aoojhsGVwYf/YG3rvDq9KixgxxOp5UHEnRRptsFkf63eo+zgVp71f1b2QS0/i7dVb eCiEMRFOMh7riFMtu2IcQhBzhmFsb8HM3DEF8a7bq3EykafzSTldAJGwdakHyPVGiimY 6Ujg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo01 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1695130657; s=strato-dkim-0002; d=goldelico.com; h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender; bh=C+Lkr4ss6MZINaRjRWZbodjkKT7ulOoKXpAu4jeNUT0=; b=ZMdtX+2xP1lj3TfciIVF5fsah7wY+MfWwpbvVQttJWfya/seJu5lk4WsgZi/JOO+jC E92uty4UKec96v8dATYwSAjSVH2SE1KsgoT0MzXExJild6lYv7xie7jyMU+mEx9K+a4+ wsLqDT13loVkRwIzRCL5N2yKewPT0Wk1ihmmKC2FwhJenM9b+50ORsh+zgY0SRmOUE6K tbXf9f4N3Z3n03VyJNyaMdhxyR314FWO9iIMFlWT540BOuM8qg/TXctKK0Hm1LNvirKU rZbyeR+3h7JOpBUbZ0fu2fFSMuHI95OMBZL+gRkEQBNlhHlfNC5iyc+x2OHkjfEwhRIS TpIw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1695130657; s=strato-dkim-0003; d=goldelico.com; h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender; bh=C+Lkr4ss6MZINaRjRWZbodjkKT7ulOoKXpAu4jeNUT0=; b=ifLmEvTKOnMXlMzR3QBCX0YGjjxz8aTIuO14dJRB3MjzPCwotBsh4xxAE0dXltYj8h 14bzI3TlgCCkbFK7ASCA== X-RZG-AUTH: ":JGIXVUS7cutRB/49FwqZ7WcJeFKiMhflhwDubTJ9o1iTDUhfN4hi3qVZrWLJ" Received: from localhost.localdomain by smtp.strato.de (RZmta 49.8.2 DYNA|AUTH) with ESMTPSA id Y04dd7z8JDbYhZC (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Tue, 19 Sep 2023 15:37:34 +0200 (CEST) From: "H. Nikolaus Schaller" <hns@goldelico.com> To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>, tony@atomide.com, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, Douglas Anderson <dianders@chromium.org>, =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>, sre@kernel.org, "H. Nikolaus Schaller" <hns@goldelico.com>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Arnd Bergmann <arnd@arndb.de> Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, letux-kernel@openphoenux.org, kernel@pyra-handheld.com Subject: [PATCH] omap: dsi: do not WARN on detach if dsidev was never attached Date: Tue, 19 Sep 2023 15:37:28 +0200 Message-ID: <929c46beecf77f2ebfa9f8c9b1c09f6ec610c31a.1695130648.git.hns@goldelico.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Tue, 19 Sep 2023 06:38:53 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777486753981629686 X-GMAIL-MSGID: 1777486753981629686 |
Series |
omap: dsi: do not WARN on detach if dsidev was never attached
|
|
Commit Message
H. Nikolaus Schaller
Sept. 19, 2023, 1:37 p.m. UTC
dsi_init_output() called by dsi_probe() may fail. In that
case mipi_dsi_host_unregister() is called which may call
omap_dsi_host_detach() with uninitialized dsi->dsidev
because omap_dsi_host_attach() was never called before.
This happens if the panel driver asks for an EPROBE_DEFER.
So let's suppress the WARN() in this special case.
[ 7.416759] WARNING: CPU: 0 PID: 32 at drivers/gpu/drm/omapdrm/dss/dsi.c:4419 omap_dsi_host_detach+0x3c/0xbc [omapdrm]
[ 7.436053] Modules linked in: ina2xx_adc snd_soc_ts3a227e bq2429x_charger bq27xxx_battery_i2c(+) bq27xxx_battery ina2xx tca8418_keypad as5013(+) omapdrm hci_uart cec palmas_pwrbutton btbcm bmp280_spi palmas_gpadc bluetooth usb3503 ecdh_generic bmc150_accel_i2c bmg160_i2c ecc bmc150_accel_core bmg160_core bmc150_magn_i2c bmp280_i2c bmc150_magn bno055 industrialio_triggered_buffer bmp280 kfifo_buf snd_soc_omap_aess display_connector drm_kms_helper syscopyarea snd_soc_omap_mcbsp snd_soc_ti_sdma sysfillrect ti_tpd12s015 sysimgblt fb_sys_fops wwan_on_off snd_soc_gtm601 generic_adc_battery drm snd_soc_w2cbw003_bt industrialio drm_panel_orientation_quirks pwm_bl pwm_omap_dmtimer ip_tables x_tables ipv6 autofs4
[ 7.507068] CPU: 0 PID: 32 Comm: kworker/u4:2 Tainted: G W 6.1.0-rc3-letux-lpae+ #11107
[ 7.516964] Hardware name: Generic OMAP5 (Flattened Device Tree)
[ 7.523284] Workqueue: events_unbound deferred_probe_work_func
[ 7.529456] unwind_backtrace from show_stack+0x10/0x14
[ 7.534972] show_stack from dump_stack_lvl+0x40/0x4c
[ 7.540315] dump_stack_lvl from __warn+0xb0/0x164
[ 7.545379] __warn from warn_slowpath_fmt+0x70/0x9c
[ 7.550625] warn_slowpath_fmt from omap_dsi_host_detach+0x3c/0xbc [omapdrm]
[ 7.558137] omap_dsi_host_detach [omapdrm] from mipi_dsi_remove_device_fn+0x10/0x20
[ 7.566376] mipi_dsi_remove_device_fn from device_for_each_child+0x60/0x94
[ 7.573729] device_for_each_child from mipi_dsi_host_unregister+0x20/0x54
[ 7.580992] mipi_dsi_host_unregister from dsi_probe+0x5d8/0x744 [omapdrm]
[ 7.588315] dsi_probe [omapdrm] from platform_probe+0x58/0xa8
[ 7.594542] platform_probe from really_probe+0x144/0x2ac
[ 7.600249] really_probe from __driver_probe_device+0xc4/0xd8
[ 7.606411] __driver_probe_device from driver_probe_device+0x3c/0xb8
[ 7.613216] driver_probe_device from __device_attach_driver+0x58/0xbc
[ 7.620115] __device_attach_driver from bus_for_each_drv+0xa0/0xb4
[ 7.626737] bus_for_each_drv from __device_attach+0xdc/0x150
[ 7.632808] __device_attach from bus_probe_device+0x28/0x80
[ 7.638792] bus_probe_device from deferred_probe_work_func+0x84/0xa0
[ 7.645595] deferred_probe_work_func from process_one_work+0x1a4/0x2d8
[ 7.652587] process_one_work from worker_thread+0x214/0x2b8
[ 7.658567] worker_thread from kthread+0xe4/0xf0
[ 7.663542] kthread from ret_from_fork+0x14/0x1c
[ 7.668515] Exception stack(0xf01b5fb0 to 0xf01b5ff8)
[ 7.673827] 5fa0: 00000000 00000000 00000000 00000000
[ 7.682435] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 7.691038] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
* H. Nikolaus Schaller <hns@goldelico.com> [230919 13:38]: > dsi_init_output() called by dsi_probe() may fail. In that > case mipi_dsi_host_unregister() is called which may call > omap_dsi_host_detach() with uninitialized dsi->dsidev > because omap_dsi_host_attach() was never called before. > > This happens if the panel driver asks for an EPROBE_DEFER. > > So let's suppress the WARN() in this special case. Reviewed-by: Tony Lindgren <tony@atomide.com> Thanks, Tony
Hi, On Tue, Sep 19, 2023 at 03:37:28PM +0200, H. Nikolaus Schaller wrote: > dsi_init_output() called by dsi_probe() may fail. In that > case mipi_dsi_host_unregister() is called which may call > omap_dsi_host_detach() with uninitialized dsi->dsidev > because omap_dsi_host_attach() was never called before. > > This happens if the panel driver asks for an EPROBE_DEFER. > > So let's suppress the WARN() in this special case. ... > Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> -- Sebastian > drivers/gpu/drm/omapdrm/dss/dsi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c > index ea63c64d3a1ab..c37eb6b1b9a39 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dsi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c > @@ -4411,7 +4411,7 @@ static int omap_dsi_host_detach(struct mipi_dsi_host *host, > { > struct dsi_data *dsi = host_to_omap(host); > > - if (WARN_ON(dsi->dsidev != client)) > + if (!dsi->dsidev || WARN_ON(dsi->dsidev != client)) > return -EINVAL; > > cancel_delayed_work_sync(&dsi->dsi_disable_work); > -- > 2.42.0 >
Hi, On 19/09/2023 16:37, H. Nikolaus Schaller wrote: > dsi_init_output() called by dsi_probe() may fail. In that > case mipi_dsi_host_unregister() is called which may call > omap_dsi_host_detach() with uninitialized dsi->dsidev > because omap_dsi_host_attach() was never called before. > > This happens if the panel driver asks for an EPROBE_DEFER. > > So let's suppress the WARN() in this special case. > > [ 7.416759] WARNING: CPU: 0 PID: 32 at drivers/gpu/drm/omapdrm/dss/dsi.c:4419 omap_dsi_host_detach+0x3c/0xbc [omapdrm] > [ 7.436053] Modules linked in: ina2xx_adc snd_soc_ts3a227e bq2429x_charger bq27xxx_battery_i2c(+) bq27xxx_battery ina2xx tca8418_keypad as5013(+) omapdrm hci_uart cec palmas_pwrbutton btbcm bmp280_spi palmas_gpadc bluetooth usb3503 ecdh_generic bmc150_accel_i2c bmg160_i2c ecc bmc150_accel_core bmg160_core bmc150_magn_i2c bmp280_i2c bmc150_magn bno055 industrialio_triggered_buffer bmp280 kfifo_buf snd_soc_omap_aess display_connector drm_kms_helper syscopyarea snd_soc_omap_mcbsp snd_soc_ti_sdma sysfillrect ti_tpd12s015 sysimgblt fb_sys_fops wwan_on_off snd_soc_gtm601 generic_adc_battery drm snd_soc_w2cbw003_bt industrialio drm_panel_orientation_quirks pwm_bl pwm_omap_dmtimer ip_tables x_tables ipv6 autofs4 > [ 7.507068] CPU: 0 PID: 32 Comm: kworker/u4:2 Tainted: G W 6.1.0-rc3-letux-lpae+ #11107 > [ 7.516964] Hardware name: Generic OMAP5 (Flattened Device Tree) > [ 7.523284] Workqueue: events_unbound deferred_probe_work_func > [ 7.529456] unwind_backtrace from show_stack+0x10/0x14 > [ 7.534972] show_stack from dump_stack_lvl+0x40/0x4c > [ 7.540315] dump_stack_lvl from __warn+0xb0/0x164 > [ 7.545379] __warn from warn_slowpath_fmt+0x70/0x9c > [ 7.550625] warn_slowpath_fmt from omap_dsi_host_detach+0x3c/0xbc [omapdrm] > [ 7.558137] omap_dsi_host_detach [omapdrm] from mipi_dsi_remove_device_fn+0x10/0x20 > [ 7.566376] mipi_dsi_remove_device_fn from device_for_each_child+0x60/0x94 > [ 7.573729] device_for_each_child from mipi_dsi_host_unregister+0x20/0x54 > [ 7.580992] mipi_dsi_host_unregister from dsi_probe+0x5d8/0x744 [omapdrm] > [ 7.588315] dsi_probe [omapdrm] from platform_probe+0x58/0xa8 > [ 7.594542] platform_probe from really_probe+0x144/0x2ac > [ 7.600249] really_probe from __driver_probe_device+0xc4/0xd8 > [ 7.606411] __driver_probe_device from driver_probe_device+0x3c/0xb8 > [ 7.613216] driver_probe_device from __device_attach_driver+0x58/0xbc > [ 7.620115] __device_attach_driver from bus_for_each_drv+0xa0/0xb4 > [ 7.626737] bus_for_each_drv from __device_attach+0xdc/0x150 > [ 7.632808] __device_attach from bus_probe_device+0x28/0x80 > [ 7.638792] bus_probe_device from deferred_probe_work_func+0x84/0xa0 > [ 7.645595] deferred_probe_work_func from process_one_work+0x1a4/0x2d8 > [ 7.652587] process_one_work from worker_thread+0x214/0x2b8 > [ 7.658567] worker_thread from kthread+0xe4/0xf0 > [ 7.663542] kthread from ret_from_fork+0x14/0x1c > [ 7.668515] Exception stack(0xf01b5fb0 to 0xf01b5ff8) > [ 7.673827] 5fa0: 00000000 00000000 00000000 00000000 > [ 7.682435] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > [ 7.691038] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > > Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c > index ea63c64d3a1ab..c37eb6b1b9a39 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dsi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c > @@ -4411,7 +4411,7 @@ static int omap_dsi_host_detach(struct mipi_dsi_host *host, > { > struct dsi_data *dsi = host_to_omap(host); > > - if (WARN_ON(dsi->dsidev != client)) > + if (!dsi->dsidev || WARN_ON(dsi->dsidev != client)) > return -EINVAL; > > cancel_delayed_work_sync(&dsi->dsi_disable_work); I sent a patch to the DSI framework code, "[PATCH] drm/mipi-dsi: Fix detach call without attach". If that fixes the issue (please test, I don't have a suitable platform), perhaps it's a better fix as detach really shouldn't be called if attach has not been called. Tomi
* Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> [230921 10:53]: > I sent a patch to the DSI framework code, > "[PATCH] drm/mipi-dsi: Fix detach call without attach". > > If that fixes the issue (please test, I don't have a suitable platform), > perhaps it's a better fix as detach really shouldn't be called if attach has > not been called. Yup that works for me, replied with my Tested-by on that thread. Thanks, Tony
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c index ea63c64d3a1ab..c37eb6b1b9a39 100644 --- a/drivers/gpu/drm/omapdrm/dss/dsi.c +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c @@ -4411,7 +4411,7 @@ static int omap_dsi_host_detach(struct mipi_dsi_host *host, { struct dsi_data *dsi = host_to_omap(host); - if (WARN_ON(dsi->dsidev != client)) + if (!dsi->dsidev || WARN_ON(dsi->dsidev != client)) return -EINVAL; cancel_delayed_work_sync(&dsi->dsi_disable_work);