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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.