Skip to content

Commit afd30ac

Browse files
committed
Merge tag 'drm-intel-fixes-2025-07-03' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes
- Make mei interrupt top half irq disabled to fix RT builds - Fix timeline left held on VMA alloc error - Fix NULL pointer deref in vlv_dphy_param_init() - Fix selftest mock_request() to avoid NULL deref Signed-off-by: Dave Airlie <[email protected]> From: Joonas Lahtinen <[email protected]> Link: https://lore.kernel.org/r/aGYVPAA4KvsZqDFx@jlahtine-mobl
2 parents b91e11e + 8cadce9 commit afd30ac

File tree

5 files changed

+15
-14
lines changed

5 files changed

+15
-14
lines changed

drivers/gpu/drm/i915/display/vlv_dsi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1589,8 +1589,8 @@ static void vlv_dsi_add_properties(struct intel_connector *connector)
15891589

15901590
static void vlv_dphy_param_init(struct intel_dsi *intel_dsi)
15911591
{
1592+
struct intel_display *display = to_intel_display(&intel_dsi->base);
15921593
struct intel_connector *connector = intel_dsi->attached_connector;
1593-
struct intel_display *display = to_intel_display(connector);
15941594
struct mipi_config *mipi_config = connector->panel.vbt.dsi.config;
15951595
u32 tlpx_ns, extra_byte_count, tlpx_ui;
15961596
u32 ui_num, ui_den;

drivers/gpu/drm/i915/gt/intel_gsc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ static void gsc_irq_handler(struct intel_gt *gt, unsigned int intf_id)
284284
if (gt->gsc.intf[intf_id].irq < 0)
285285
return;
286286

287-
ret = generic_handle_irq(gt->gsc.intf[intf_id].irq);
287+
ret = generic_handle_irq_safe(gt->gsc.intf[intf_id].irq);
288288
if (ret)
289289
gt_err_ratelimited(gt, "error handling GSC irq: %d\n", ret);
290290
}

drivers/gpu/drm/i915/gt/intel_ring_submission.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,6 @@ static int ring_context_alloc(struct intel_context *ce)
610610
/* One ringbuffer to rule them all */
611611
GEM_BUG_ON(!engine->legacy.ring);
612612
ce->ring = engine->legacy.ring;
613-
ce->timeline = intel_timeline_get(engine->legacy.timeline);
614613

615614
GEM_BUG_ON(ce->state);
616615
if (engine->context_size) {
@@ -623,6 +622,8 @@ static int ring_context_alloc(struct intel_context *ce)
623622
ce->state = vma;
624623
}
625624

625+
ce->timeline = intel_timeline_get(engine->legacy.timeline);
626+
626627
return 0;
627628
}
628629

drivers/gpu/drm/i915/selftests/i915_request.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ static int igt_add_request(void *arg)
7373
/* Basic preliminary test to create a request and let it loose! */
7474

7575
request = mock_request(rcs0(i915)->kernel_context, HZ / 10);
76-
if (!request)
77-
return -ENOMEM;
76+
if (IS_ERR(request))
77+
return PTR_ERR(request);
7878

7979
i915_request_add(request);
8080

@@ -91,8 +91,8 @@ static int igt_wait_request(void *arg)
9191
/* Submit a request, then wait upon it */
9292

9393
request = mock_request(rcs0(i915)->kernel_context, T);
94-
if (!request)
95-
return -ENOMEM;
94+
if (IS_ERR(request))
95+
return PTR_ERR(request);
9696

9797
i915_request_get(request);
9898

@@ -160,8 +160,8 @@ static int igt_fence_wait(void *arg)
160160
/* Submit a request, treat it as a fence and wait upon it */
161161

162162
request = mock_request(rcs0(i915)->kernel_context, T);
163-
if (!request)
164-
return -ENOMEM;
163+
if (IS_ERR(request))
164+
return PTR_ERR(request);
165165

166166
if (dma_fence_wait_timeout(&request->fence, false, T) != -ETIME) {
167167
pr_err("fence wait success before submit (expected timeout)!\n");
@@ -219,8 +219,8 @@ static int igt_request_rewind(void *arg)
219219
GEM_BUG_ON(IS_ERR(ce));
220220
request = mock_request(ce, 2 * HZ);
221221
intel_context_put(ce);
222-
if (!request) {
223-
err = -ENOMEM;
222+
if (IS_ERR(request)) {
223+
err = PTR_ERR(request);
224224
goto err_context_0;
225225
}
226226

@@ -237,8 +237,8 @@ static int igt_request_rewind(void *arg)
237237
GEM_BUG_ON(IS_ERR(ce));
238238
vip = mock_request(ce, 0);
239239
intel_context_put(ce);
240-
if (!vip) {
241-
err = -ENOMEM;
240+
if (IS_ERR(vip)) {
241+
err = PTR_ERR(vip);
242242
goto err_context_1;
243243
}
244244

drivers/gpu/drm/i915/selftests/mock_request.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ mock_request(struct intel_context *ce, unsigned long delay)
3535
/* NB the i915->requests slab cache is enlarged to fit mock_request */
3636
request = intel_context_create_request(ce);
3737
if (IS_ERR(request))
38-
return NULL;
38+
return request;
3939

4040
request->mock.delay = delay;
4141
return request;

0 commit comments

Comments
 (0)