From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Jonathan Hunter <jonathanh@nvidia.com>,
Thierry Reding <treding@nvidia.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.12 16/48] drm/tegra: sor: Fully initialize SOR before registration
Date: Wed, 16 Jun 2021 17:33:26 +0200 [thread overview]
Message-ID: <20210616152837.168264350@linuxfoundation.org> (raw)
In-Reply-To: <20210616152836.655643420@linuxfoundation.org>
From: Thierry Reding <treding@nvidia.com>
[ Upstream commit 5dea42759bcef74b0802ea64b904409bc37f9045 ]
Before registering the SOR host1x client, make sure that it is fully
initialized. This avoids a potential race condition between the SOR's
probe and the host1x device initialization in cases where the SOR is
the final sub-device to register to a host1x instance.
Reported-by: Jonathan Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/tegra/sor.c | 27 +++++++++++++--------------
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c
index 67a80dae1c00..32c83f2e386c 100644
--- a/drivers/gpu/drm/tegra/sor.c
+++ b/drivers/gpu/drm/tegra/sor.c
@@ -3922,17 +3922,10 @@ static int tegra_sor_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, sor);
pm_runtime_enable(&pdev->dev);
- INIT_LIST_HEAD(&sor->client.list);
+ host1x_client_init(&sor->client);
sor->client.ops = &sor_client_ops;
sor->client.dev = &pdev->dev;
- err = host1x_client_register(&sor->client);
- if (err < 0) {
- dev_err(&pdev->dev, "failed to register host1x client: %d\n",
- err);
- goto rpm_disable;
- }
-
/*
* On Tegra210 and earlier, provide our own implementation for the
* pad output clock.
@@ -3944,13 +3937,13 @@ static int tegra_sor_probe(struct platform_device *pdev)
sor->index);
if (!name) {
err = -ENOMEM;
- goto unregister;
+ goto uninit;
}
err = host1x_client_resume(&sor->client);
if (err < 0) {
dev_err(sor->dev, "failed to resume: %d\n", err);
- goto unregister;
+ goto uninit;
}
sor->clk_pad = tegra_clk_sor_pad_register(sor, name);
@@ -3961,14 +3954,20 @@ static int tegra_sor_probe(struct platform_device *pdev)
err = PTR_ERR(sor->clk_pad);
dev_err(sor->dev, "failed to register SOR pad clock: %d\n",
err);
- goto unregister;
+ goto uninit;
+ }
+
+ err = __host1x_client_register(&sor->client);
+ if (err < 0) {
+ dev_err(&pdev->dev, "failed to register host1x client: %d\n",
+ err);
+ goto uninit;
}
return 0;
-unregister:
- host1x_client_unregister(&sor->client);
-rpm_disable:
+uninit:
+ host1x_client_exit(&sor->client);
pm_runtime_disable(&pdev->dev);
remove:
tegra_output_remove(&sor->output);
--
2.30.2
next prev parent reply other threads:[~2021-06-16 15:40 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-16 15:33 [PATCH 5.12 00/48] 5.12.12-rc1 review Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 01/48] net: ieee802154: fix null deref in parse dev addr Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 02/48] HID: asus: Filter keyboard EC for old ROG keyboard Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 03/48] HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for Saitek X65 Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 04/48] HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K15A keyboard-dock Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 05/48] HID: a4tech: use A4_2WHEEL_MOUSE_HACK_B8 for A4TECH NB-95 Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 06/48] HID: hid-input: add mapping for emoji picker key Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 07/48] HID: hid-sensor-hub: Return error for hid_set_field() failure Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 08/48] HID: asus: filter G713/G733 key event to prevent shutdown Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 09/48] HID: quirks: Add quirk for Lenovo optical mouse Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 10/48] HID: multitouch: set Stylus suffix for Stylus-application devices, too Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 11/48] HID: Add BUS_VIRTUAL to hid_connect logging Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 12/48] HID: usbhid: fix info leak in hid_submit_ctrl Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 13/48] mt76: mt7921: fix max aggregation subframes setting Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 14/48] drm/tegra: sor: Do not leak runtime PM reference Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 15/48] gpu: host1x: Split up client initalization and registration Greg Kroah-Hartman
2021-06-16 15:33 ` Greg Kroah-Hartman [this message]
2021-06-16 15:33 ` [PATCH 5.12 17/48] hwmon/pmbus: (q54sj108a2) The PMBUS_MFR_ID is actually 6 chars instead of 5 Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 18/48] ARM: OMAP1: Fix use of possibly uninitialized irq variable Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 19/48] ARM: OMAP2+: Fix build warning when mmc_omap is not built Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 20/48] gfs2: Prevent direct-I/O write fallback errors from getting lost Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 21/48] gfs2: fix a deadlock on withdraw-during-mount Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 22/48] gfs2: Clean up revokes on normal withdraws Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 23/48] HID: multitouch: Disable event reporting on suspend on the Asus T101HA touchpad Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 24/48] HID: gt683r: add missing MODULE_DEVICE_TABLE Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 25/48] HID: intel-ish-hid: ipc: Add Alder Lake device IDs Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 26/48] riscv: Use -mno-relax when using lld linker Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 27/48] ALSA: hda: Add AlderLake-M PCI ID Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 28/48] mt76: mt7921: remove leftover 80+80 HE capability Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 29/48] gfs2: Fix use-after-free in gfs2_glock_shrink_scan Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 30/48] scsi: target: core: Fix warning on realtime kernels Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 31/48] ethernet: myri10ge: Fix missing error code in myri10ge_probe() Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 32/48] scsi: qedf: Do not put host in qedf_vport_create() unconditionally Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 33/48] Bluetooth: Add a new USB ID for RTL8822CE Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 34/48] scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 35/48] nvme-loop: reset queue count to 1 in nvme_loop_destroy_io_queues() Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 36/48] nvme-loop: clear NVME_LOOP_Q_LIVE when nvme_loop_configure_admin_queue() fails Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 37/48] nvme-loop: check for NVME_LOOP_Q_LIVE in nvme_loop_destroy_admin_queue() Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 38/48] nvme-loop: do not warn for deleted controllers during reset Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 39/48] net: ipconfig: Dont override command-line hostnames or domains Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 40/48] drm/amd/display: Allow bandwidth validation for 0 streams Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 41/48] drm/amdgpu: refine amdgpu_fru_get_product_info Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 42/48] drm/amd/display: Fix overlay validation by considering cursors Greg Kroah-Hartman
2021-06-16 16:02 ` Harry Wentland
2021-06-16 15:33 ` [PATCH 5.12 43/48] drm/amd/display: Fix potential memory leak in DMUB hw_init Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 44/48] drm/amd/amdgpu:save psp ring wptr to avoid attack Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 45/48] rtnetlink: Fix missing error code in rtnl_bridge_notify() Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 46/48] net/x25: Return the correct errno code Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 47/48] net: " Greg Kroah-Hartman
2021-06-16 15:33 ` [PATCH 5.12 48/48] fib: " Greg Kroah-Hartman
2021-06-16 18:39 ` [PATCH 5.12 00/48] 5.12.12-rc1 review Fox Chen
2021-06-16 22:18 ` Justin Forbes
2021-06-16 22:54 ` Florian Fainelli
2021-06-17 4:57 ` Naresh Kamboju
2021-06-17 21:40 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210616152837.168264350@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=jonathanh@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=treding@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).