[PATCH 0/7] Cleanup error handling on probe
Lucas De Marchi
lucas.demarchi at intel.com
Mon Feb 3 18:39:09 UTC 2025
On Fri, Jan 31, 2025 at 02:31:33PM -0800, Lucas De Marchi wrote:
>Mixing style with goto and devm_add_action_or_reset() is very confusing
>and error prone. Clean that up. The only missing one is one of the
>display calls, but that can be done in parallel to the review of these
>first patches.
>
>This received limited load/unload tests on LNL and may very well not be
>100%.
Yeah, got this from CI for bind/unbind in LNL:
<1> [384.198034] BUG: unable to handle page fault for address: 0000000000002458
<1> [384.198049] #PF: supervisor read access in kernel mode
<1> [384.198053] #PF: error_code(0x0000) - not-present page
<6> [384.198056] PGD 0 P4D 0
<4> [384.198061] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
<4> [384.198066] CPU: 1 UID: 0 PID: 8477 Comm: core_hotunplug Not tainted 6.13.0-xe+ #1
<4> [384.198071] Hardware name: Intel Corporation Lunar Lake Client Platform/LNL-M LP5 RVP1, BIOS LNLMFWI1.R00.3222.D97.2411281331 11/28/2024
<4> [384.198077] RIP: 0010:xe_gsc_proxy_component_unbind+0x10/0x60 [xe]
...
<4> [384.198235] Call Trace:
<4> [384.198237] <TASK>
<4> [384.198239] ? show_regs+0x6c/0x80
<4> [384.198248] ? __die+0x24/0x80
<4> [384.198250] ? page_fault_oops+0x175/0x5d0
<4> [384.198256] ? do_user_addr_fault+0x4c6/0x9d0
<4> [384.198260] ? exc_page_fault+0x8a/0x2e0
<4> [384.198266] ? asm_exc_page_fault+0x27/0x30
<4> [384.198275] ? xe_gsc_proxy_component_unbind+0x10/0x60 [xe]
<4> [384.198338] component_unbind+0x4a/0x80
<4> [384.198343] component_unbind_all+0xc2/0xd0
<4> [384.198349] mei_component_master_unbind+0x21/0x40 [mei_gsc_proxy]
<4> [384.198352] take_down_aggregate_device+0x32/0x60
<4> [384.198355] component_del+0x99/0x140
<4> [384.198358] xe_gsc_proxy_remove+0xd8/0x100 [xe]
<4> [384.198417] xe_gsc_remove+0xe/0x20 [xe]
<4> [384.198474] xe_uc_remove+0x15/0x20 [xe]
<4> [384.198570] xe_gt_remove+0x26/0x70 [xe]
I will try to reproduce it and understand the gsc sequence here.
Lucas De Marchi
>
>Lucas De Marchi (7):
> drm/xe: Fix xe_display_fini() calls
> drm/xe: Fix error handling in xe_irq_install()
> drm/xe: Fix xe_tile_init_noalloc() error propagation
> drm/xe: Stop ignoring errors from xe_ttm_stolen_mgr_init()
> drm/xe: Cleanup unwind of gt initialization
> drm/xe: Cleanup extra calls to xe_hw_fence_irq_finish()
> drm/xe: Move oa fini to xe_oa
>
> drivers/gpu/drm/xe/display/xe_display.c | 22 +++++-----
> drivers/gpu/drm/xe/display/xe_display.h | 2 -
> drivers/gpu/drm/xe/xe_device.c | 53 ++++++++-----------------
> drivers/gpu/drm/xe/xe_gt.c | 52 ++++++++++--------------
> drivers/gpu/drm/xe/xe_gt.h | 1 -
> drivers/gpu/drm/xe/xe_irq.c | 14 +------
> drivers/gpu/drm/xe/xe_oa.c | 48 +++++++++++-----------
> drivers/gpu/drm/xe/xe_oa.h | 1 -
> drivers/gpu/drm/xe/xe_tile.c | 4 +-
> drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 17 ++++----
> drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h | 2 +-
> 11 files changed, 86 insertions(+), 130 deletions(-)
>
>--
>2.48.0
>
More information about the Intel-xe
mailing list