All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: <intel-xe@lists.freedesktop.org>,
	Matt Roper <matthew.d.roper@intel.com>,
	 Francois Dugast <francois.dugast@intel.com>,
	Maarten Lankhorst <dev@lankhorst.se>,
	Dani Liberman <dliberman@habana.ai>,
	Ohad Sharabi <osharabi@habana.ai>
Subject: Re: [PATCH 2/7] drm/xe: Fix error handling in xe_irq_install()
Date: Mon, 3 Feb 2025 15:36:15 -0500	[thread overview]
Message-ID: <Z6Eov6jwLysbktjD@intel.com> (raw)
In-Reply-To: <20250131223140.4144292-3-lucas.demarchi@intel.com>

On Fri, Jan 31, 2025 at 02:31:35PM -0800, Lucas De Marchi wrote:
> When devm_add_action_or_reset() fails, it already calls the function
> passed as parameter and that function is already free'ing the irqs.
> Drop the goto and just return.
> 
> The caller, xe_device_probe(), should also do the same thing instead of
> wrongly doing `goto err` and calling the unrelated xe_display_fini()
> function.
> 
> Cc: Dani Liberman <dliberman@habana.ai>
> Cc: Ohad Sharabi <osharabi@habana.ai>
> Fixes: 14d25d8d684d ("drm/xe: change old msi irq api to a new one")
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  drivers/gpu/drm/xe/xe_device.c |  2 +-
>  drivers/gpu/drm/xe/xe_irq.c    | 14 +-------------
>  2 files changed, 2 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 589bbe21c32b4..2e874906d4f31 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -846,7 +846,7 @@ int xe_device_probe(struct xe_device *xe)
>  
>  	err = xe_irq_install(xe);
>  	if (err)
> -		goto err;
> +		return err;
>  
>  	for_each_gt(gt, xe, id) {
>  		last_gt = id;
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index 32f5a67a917b5..08552ee3fb94b 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
> @@ -757,19 +757,7 @@ int xe_irq_install(struct xe_device *xe)
>  
>  	xe_irq_postinstall(xe);
>  
> -	err = devm_add_action_or_reset(xe->drm.dev, irq_uninstall, xe);
> -	if (err)
> -		goto free_irq_handler;
> -
> -	return 0;
> -
> -free_irq_handler:
> -	if (xe_device_has_msix(xe))
> -		xe_irq_msix_free(xe);
> -	else
> -		xe_irq_msi_free(xe);
> -
> -	return err;
> +	return devm_add_action_or_reset(xe->drm.dev, irq_uninstall, xe);
>  }
>  
>  static void xe_irq_msi_synchronize_irq(struct xe_device *xe)
> -- 
> 2.48.0
> 

  reply	other threads:[~2025-02-03 20:36 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-31 22:31 [PATCH 0/7] Cleanup error handling on probe Lucas De Marchi
2025-01-31 22:31 ` [PATCH 1/7] drm/xe: Fix xe_display_fini() calls Lucas De Marchi
2025-02-03 20:32   ` Rodrigo Vivi
2025-01-31 22:31 ` [PATCH 2/7] drm/xe: Fix error handling in xe_irq_install() Lucas De Marchi
2025-02-03 20:36   ` Rodrigo Vivi [this message]
2025-01-31 22:31 ` [PATCH 3/7] drm/xe: Fix xe_tile_init_noalloc() error propagation Lucas De Marchi
2025-02-03 14:21   ` Francois Dugast
2025-01-31 22:31 ` [PATCH 4/7] drm/xe: Stop ignoring errors from xe_ttm_stolen_mgr_init() Lucas De Marchi
2025-02-03 14:10   ` Francois Dugast
2025-01-31 22:31 ` [PATCH 5/7] drm/xe: Cleanup unwind of gt initialization Lucas De Marchi
2025-02-01  6:24   ` Raag Jadav
2025-02-01 15:55     ` Lucas De Marchi
2025-02-02  8:09       ` Raag Jadav
2025-01-31 22:31 ` [PATCH 6/7] drm/xe: Cleanup extra calls to xe_hw_fence_irq_finish() Lucas De Marchi
2025-02-03 21:46   ` Rodrigo Vivi
2025-01-31 22:31 ` [PATCH 7/7] drm/xe: Move oa fini to xe_oa Lucas De Marchi
2025-01-31 22:37 ` ✓ CI.Patch_applied: success for Cleanup error handling on probe Patchwork
2025-01-31 22:37 ` ✓ CI.checkpatch: " Patchwork
2025-01-31 22:38 ` ✓ CI.KUnit: " Patchwork
2025-01-31 22:55 ` ✓ CI.Build: " Patchwork
2025-01-31 22:57 ` ✓ CI.Hooks: " Patchwork
2025-01-31 22:59 ` ✓ CI.checksparse: " Patchwork
2025-01-31 23:32 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-02-01  8:05 ` ✗ Xe.CI.Full: " Patchwork
2025-02-03 18:39 ` [PATCH 0/7] " Lucas De Marchi
2025-02-04  8:58 ` Tvrtko Ursulin
2025-02-04 14:50   ` Lucas De Marchi
2025-02-04 18:10     ` Tvrtko Ursulin
2025-02-04 22:42       ` Rodrigo Vivi

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=Z6Eov6jwLysbktjD@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=dev@lankhorst.se \
    --cc=dliberman@habana.ai \
    --cc=francois.dugast@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lucas.demarchi@intel.com \
    --cc=matthew.d.roper@intel.com \
    --cc=osharabi@habana.ai \
    /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.