From: Matthew Brost <matthew.brost@intel.com>
To: "Michał Winiarski" <michal.winiarski@intel.com>
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [Intel-xe] [PATCH 02/12] drm/xe: Skip calling drm_dev_put on probe error
Date: Wed, 8 Nov 2023 09:33:40 +0000 [thread overview]
Message-ID: <ZUtV9EE+/PzCASVw@DUT025-TGLU.fm.intel.com> (raw)
In-Reply-To: <20231108003344.1169016-3-michal.winiarski@intel.com>
On Wed, Nov 08, 2023 at 01:33:34AM +0100, Michał Winiarski wrote:
> DRM device used by Xe is managed, which means that final ref will be
> dropped on driver detach.
>
Where is the detach called if xe_pci_probe() fails? I'm struggling to find that.
Matt
> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
> ---
> drivers/gpu/drm/xe/xe_device.c | 12 +++++-------
> drivers/gpu/drm/xe/xe_pci.c | 5 +----
> 2 files changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 078c92576062a..78374997cbf6f 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -217,11 +217,11 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
> xe->drm.anon_inode->i_mapping,
> xe->drm.vma_offset_manager, false, false);
> if (WARN_ON(err))
> - goto err_put;
> + goto err;
>
> err = drmm_add_action_or_reset(&xe->drm, xe_device_destroy, NULL);
> if (err)
> - goto err_put;
> + goto err;
>
> xe->info.devid = pdev->device;
> xe->info.revid = pdev->revision;
> @@ -247,18 +247,16 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
> if (!xe->ordered_wq || !xe->unordered_wq) {
> drm_err(&xe->drm, "Failed to allocate xe workqueues\n");
> err = -ENOMEM;
> - goto err_put;
> + goto err;
> }
>
> err = xe_display_create(xe);
> if (WARN_ON(err))
> - goto err_put;
> + goto err;
>
> return xe;
>
> -err_put:
> - drm_dev_put(&xe->drm);
> -
> +err:
> return ERR_PTR(err);
> }
>
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index 007e272d2758f..84f3e4d901502 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -700,7 +700,7 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> pci_set_drvdata(pdev, xe);
> err = pci_enable_device(pdev);
> if (err)
> - goto err_drm_put;
> + return err;
>
> pci_set_master(pdev);
>
> @@ -742,9 +742,6 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> err_pci_disable:
> pci_disable_device(pdev);
>
> -err_drm_put:
> - drm_dev_put(&xe->drm);
> -
> return err;
> }
>
> --
> 2.42.0
>
next prev parent reply other threads:[~2023-11-08 16:34 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-08 0:33 [Intel-xe] [PATCH 00/12] drm/xe: Probe tweaks and reordering (part 1) Michał Winiarski
2023-11-08 0:33 ` [Intel-xe] [PATCH 01/12] drm/xe: Remove shutdown Michał Winiarski
2023-11-08 15:38 ` Ville Syrjälä
2023-11-08 18:22 ` Michał Winiarski
2023-11-08 0:33 ` [Intel-xe] [PATCH 02/12] drm/xe: Skip calling drm_dev_put on probe error Michał Winiarski
2023-11-08 9:33 ` Matthew Brost [this message]
2023-11-08 17:18 ` Michał Winiarski
2023-11-08 10:23 ` Matthew Brost
2023-11-08 0:33 ` [Intel-xe] [PATCH 03/12] drm/xe: Use managed pci_enable_device Michał Winiarski
2023-11-08 0:33 ` [Intel-xe] [PATCH 04/12] drm/xe/irq: Don't call pci_free_irq_vectors Michał Winiarski
2023-11-08 0:33 ` [Intel-xe] [PATCH 05/12] drm/xe/mmio: Move memory training check to probe vram Michał Winiarski
2023-11-08 9:38 ` Matthew Brost
2023-11-09 21:57 ` Matt Roper
2023-11-14 9:48 ` Michał Winiarski
2023-11-08 0:33 ` [Intel-xe] [PATCH 06/12] drm/xe: Move xe_set_dma_info outside of MMIO setup Michał Winiarski
2023-11-08 10:14 ` Matthew Brost
2023-11-08 0:33 ` [Intel-xe] [PATCH 07/12] drm/xe: Move xe_mmio_probe_tiles " Michał Winiarski
2023-11-08 10:18 ` Matthew Brost
2023-11-08 0:33 ` [Intel-xe] [PATCH 08/12] drm/xe: Split xe_info_init Michał Winiarski
2023-11-08 10:21 ` Matthew Brost
2023-11-08 0:33 ` [Intel-xe] [PATCH 09/12] drm/xe: Introduce xe_tile_init_early and use at earlier point in probe Michał Winiarski
2023-11-08 10:25 ` Matthew Brost
2023-11-08 0:33 ` [Intel-xe] [PATCH 10/12] drm/xe: Map the entire BAR0 and hold onto the initial mapping Michał Winiarski
2023-11-08 10:57 ` Matthew Brost
2023-11-08 0:33 ` [Intel-xe] [PATCH 11/12] drm/xe/device: Introduce xe_device_probe_early Michał Winiarski
2023-11-08 15:15 ` Matthew Brost
2023-11-14 9:46 ` Michał Winiarski
2023-11-13 15:11 ` Lucas De Marchi
2023-11-14 10:02 ` Michał Winiarski
2023-11-14 14:18 ` Lucas De Marchi
2023-11-08 0:33 ` [Intel-xe] [PATCH 12/12] drm/xe: Don't "peek" into GMD_ID Michał Winiarski
2023-11-08 0:38 ` [Intel-xe] ✓ CI.Patch_applied: success for drm/xe: Probe tweaks and reordering (part 1) Patchwork
2023-11-08 0:38 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-11-08 0:39 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-11-08 0:47 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-11-08 0:47 ` [Intel-xe] ✗ CI.Hooks: failure " Patchwork
2023-11-08 0:48 ` [Intel-xe] ✓ CI.checksparse: success " Patchwork
2023-11-08 1:20 ` [Intel-xe] ✓ CI.BAT: " Patchwork
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=ZUtV9EE+/PzCASVw@DUT025-TGLU.fm.intel.com \
--to=matthew.brost@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=michal.winiarski@intel.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