Message ID | 1461587533-8841-1-git-send-email-matthew.auld@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On ma, 2016-04-25 at 13:24 +0000, Patchwork wrote: > == Series Details == > > Series: drm/i915: Propagate error from drm_gem_object_init() (rev2) > URL : https://patchwork.freedesktop.org/series/6149/ > State : failure > > == Summary == > > Series 6149v2 drm/i915: Propagate error from drm_gem_object_init() > http://patchwork.freedesktop.org/api/1.0/series/6149/revisions/2/mbox/ > > Test drv_module_reload_basic: > pass -> DMESG-WARN (ilk-hp8440p) This seems like a problem that has not previously appeared. Please give it a look. [ 474.322285] ============================================================================= [ 474.322294] BUG dentry(4:session-c1.scope) (Tainted: G U ): Redzone overwritten [ 474.322299] ----------------------------------------------------------------------------- [ 474.322304] Disabling lock debugging due to kernel taint [ 474.322306] INFO: 0xffff8800b561f0c0-0xffff8800b561f0c3. First byte 0x0 instead of 0xcc [ 474.322316] INFO: Allocated in __d_alloc+0x20/0x1b0 age=3579 cpu=3 pid=6426 [ 474.322323] ___slab_alloc.constprop.62+0x37c/0x3b0 [ 474.322327] __slab_alloc.isra.59.constprop.61+0x43/0x80 [ 474.322331] kmem_cache_alloc+0x259/0x300 [ 474.322334] __d_alloc+0x20/0x1b0 [ 474.322337] d_alloc+0x18/0x70 [ 474.322342] __lookup_hash+0x2e/0x50 [ 474.322344] lookup_one_len+0xcd/0x120 [ 474.322350] start_creating+0x71/0x100 [ 474.322353] debugfs_create_file+0x2e/0xe0 [ 474.322396] i915_debugfs_init+0xc8/0x120 [i915] [ 474.322401] drm_debugfs_init+0xa3/0x130 [ 474.322405] drm_minor_register+0x5a/0x110 [ 474.322411] drm_dev_register+0x2a/0xb0 [ 474.322416] drm_get_pci_dev+0xce/0x1e0 [ 474.322431] i915_pci_probe+0x2f/0x50 [i915] [ 474.322437] pci_device_probe+0x87/0xf0 [ 474.322442] INFO: Slab 0xffffea0002d58700 objects=26 used=14 fp=0xffff8800b561cc38 flags=0x4000000000004081 [ 474.322451] INFO: Object 0xffff8800b561f0c8 @offset=12488 fp=0xffff8800b561ee58 > pass -> SKIP (ivb-t430s) This was still caused by Piglit. > Test kms_flip: > Subgroup basic-flip-vs-wf_vblank: > pass -> FAIL (hsw-gt2) Already reported; (kms_flip:6157) CRITICAL: Test assertion failure function check_final_state, file kms_flip.c:1192: (kms_flip:6157) CRITICAL: Failed assertion: count >= expected * 99/100 && count <= expected * 101/100 (kms_flip:6157) CRITICAL: Last errno: 25, Inappropriate ioctl for device (kms_flip:6157) CRITICAL: dropped frames, expected 99, counted 100, encoder type 1 Subtest basic-flip-vs-wf_vblank failed. https://bugs.freedesktop.org/show_bug.cgi?id=94294 Regards, Joonas > Test kms_pipe_crc_basic: > Subgroup read-crc-pipe-b-frame-sequence: > skip -> PASS (bdw-nuci7) > > bdw-nuci7 total:200 pass:188 dwarn:0 dfail:0 fail:0 skip:12 > bdw-ultra total:200 pass:175 dwarn:0 dfail:0 fail:0 skip:25 > bsw-nuc-2 total:199 pass:158 dwarn:0 dfail:0 fail:0 skip:41 > byt-nuc total:199 pass:155 dwarn:0 dfail:0 fail:0 skip:44 > hsw-brixbox total:200 pass:174 dwarn:0 dfail:0 fail:0 skip:26 > hsw-gt2 total:200 pass:178 dwarn:0 dfail:0 fail:1 skip:21 > ilk-hp8440p total:200 pass:136 dwarn:1 dfail:0 fail:0 skip:63 > ivb-t430s total:200 pass:165 dwarn:0 dfail:0 fail:0 skip:35 > skl-i7k-2 total:200 pass:173 dwarn:0 dfail:0 fail:0 skip:27 > skl-nuci5 total:200 pass:189 dwarn:0 dfail:0 fail:0 skip:11 > snb-dellxps total:51 pass:40 dwarn:0 dfail:0 fail:0 skip:10 > snb-x220t failed to collect. IGT log at Patchwork_2062/snb-x220t/igt.log > > Results at /archive/results/CI_IGT_test/Patchwork_2062/ > > f814551aa7232ed36d71244dd148b48660b53a78 drm-intel-nightly: 2016y-04m-25d-11h-36m-27s UTC integration manifest > c3f40d8 drm/i915: Propagate error from drm_gem_object_init() > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Wed, Apr 27, 2016 at 04:35:33PM +0300, Joonas Lahtinen wrote: > On ma, 2016-04-25 at 13:24 +0000, Patchwork wrote: > > == Series Details == > > > > Series: drm/i915: Propagate error from drm_gem_object_init() (rev2) > > URL : https://patchwork.freedesktop.org/series/6149/ > > State : failure > > > > == Summary == > > > > Series 6149v2 drm/i915: Propagate error from drm_gem_object_init() > > http://patchwork.freedesktop.org/api/1.0/series/6149/revisions/2/mbox/ > > > > Test drv_module_reload_basic: > > pass -> DMESG-WARN (ilk-hp8440p) > > This seems like a problem that has not previously appeared. Please give > it a look. > > [ 474.322285] ============================================================================= > [ 474.322294] BUG dentry(4:session-c1.scope) (Tainted: G U ): Redzone overwritten > [ 474.322299] ----------------------------------------------------------------------------- > > [ 474.322304] Disabling lock debugging due to kernel taint > [ 474.322306] INFO: 0xffff8800b561f0c0-0xffff8800b561f0c3. First byte 0x0 instead of 0xcc > [ 474.322316] INFO: Allocated in __d_alloc+0x20/0x1b0 age=3579 cpu=3 pid=6426 > [ 474.322323] ___slab_alloc.constprop.62+0x37c/0x3b0 > [ 474.322327] __slab_alloc.isra.59.constprop.61+0x43/0x80 > [ 474.322331] kmem_cache_alloc+0x259/0x300 > [ 474.322334] __d_alloc+0x20/0x1b0 > [ 474.322337] d_alloc+0x18/0x70 > [ 474.322342] __lookup_hash+0x2e/0x50 > [ 474.322344] lookup_one_len+0xcd/0x120 > [ 474.322350] start_creating+0x71/0x100 > [ 474.322353] debugfs_create_file+0x2e/0xe0 > [ 474.322396] i915_debugfs_init+0xc8/0x120 [i915] > [ 474.322401] drm_debugfs_init+0xa3/0x130 > [ 474.322405] drm_minor_register+0x5a/0x110 > [ 474.322411] drm_dev_register+0x2a/0xb0 > [ 474.322416] drm_get_pci_dev+0xce/0x1e0 > [ 474.322431] i915_pci_probe+0x2f/0x50 [i915] > [ 474.322437] pci_device_probe+0x87/0xf0 > [ 474.322442] INFO: Slab 0xffffea0002d58700 objects=26 used=14 fp=0xffff8800b561cc38 flags=0x4000000000004081 > [ 474.322451] INFO: Object 0xffff8800b561f0c8 @offset=12488 fp=0xffff8800b561ee58 [ 474.322463] Redzone ffff8800b561f0c0: 00 f0 ff ff cc cc cc cc ........ -> 255.255.240.0 I don't this is ours. A pass through with kasan / kmemcheck would still be good to rule it out. -Chris
On ke, 2016-04-27 at 14:44 +0100, Chris Wilson wrote: > On Wed, Apr 27, 2016 at 04:35:33PM +0300, Joonas Lahtinen wrote: > > > > On ma, 2016-04-25 at 13:24 +0000, Patchwork wrote: > > > > > > == Series Details == > > > > > > Series: drm/i915: Propagate error from drm_gem_object_init() (rev2) > > > URL : https://patchwork.freedesktop.org/series/6149/ > > > State : failure > > > > > > == Summary == > > > > > > Series 6149v2 drm/i915: Propagate error from drm_gem_object_init() > > > http://patchwork.freedesktop.org/api/1.0/series/6149/revisions/2/mbox/ > > > > > > Test drv_module_reload_basic: > > > pass -> DMESG-WARN (ilk-hp8440p) > > This seems like a problem that has not previously appeared. Please give > > it a look. > > > > [ 474.322285] ============================================================================= > > [ 474.322294] BUG dentry(4:session-c1.scope) (Tainted: G U ): Redzone overwritten > > [ 474.322299] ----------------------------------------------------------------------------- > > > > [ 474.322304] Disabling lock debugging due to kernel taint > > [ 474.322306] INFO: 0xffff8800b561f0c0-0xffff8800b561f0c3. First byte 0x0 instead of 0xcc > > [ 474.322316] INFO: Allocated in __d_alloc+0x20/0x1b0 age=3579 cpu=3 pid=6426 > > [ 474.322323] ___slab_alloc.constprop.62+0x37c/0x3b0 > > [ 474.322327] __slab_alloc.isra.59.constprop.61+0x43/0x80 > > [ 474.322331] kmem_cache_alloc+0x259/0x300 > > [ 474.322334] __d_alloc+0x20/0x1b0 > > [ 474.322337] d_alloc+0x18/0x70 > > [ 474.322342] __lookup_hash+0x2e/0x50 > > [ 474.322344] lookup_one_len+0xcd/0x120 > > [ 474.322350] start_creating+0x71/0x100 > > [ 474.322353] debugfs_create_file+0x2e/0xe0 > > [ 474.322396] i915_debugfs_init+0xc8/0x120 [i915] > > [ 474.322401] drm_debugfs_init+0xa3/0x130 > > [ 474.322405] drm_minor_register+0x5a/0x110 > > [ 474.322411] drm_dev_register+0x2a/0xb0 > > [ 474.322416] drm_get_pci_dev+0xce/0x1e0 > > [ 474.322431] i915_pci_probe+0x2f/0x50 [i915] > > [ 474.322437] pci_device_probe+0x87/0xf0 > > [ 474.322442] INFO: Slab 0xffffea0002d58700 objects=26 used=14 fp=0xffff8800b561cc38 flags=0x4000000000004081 > > [ 474.322451] INFO: Object 0xffff8800b561f0c8 @offset=12488 fp=0xffff8800b561ee58 > [ 474.322463] Redzone ffff8800b561f0c0: 00 f0 ff ff cc cc cc cc ........ > > -> 255.255.240.0 > > I don't this is ours. A pass through with kasan / kmemcheck would still > be good to rule it out. Tomi ran another run of BAT on ILK, and it was all success. Was kasan/kmemcheck run done? Regards, Joonas > -Chris >
On to, 2016-04-28 at 09:15 +0300, Joonas Lahtinen wrote: > On ke, 2016-04-27 at 14:44 +0100, Chris Wilson wrote: > > > > On Wed, Apr 27, 2016 at 04:35:33PM +0300, Joonas Lahtinen wrote: > > > > > > > > > On ma, 2016-04-25 at 13:24 +0000, Patchwork wrote: > > > > > > > > > > > > == Series Details == > > > > > > > > Series: drm/i915: Propagate error from drm_gem_object_init() (rev2) > > > > URL : https://patchwork.freedesktop.org/series/6149/ > > > > State : failure > > > > > > > > == Summary == > > > > > > > > Series 6149v2 drm/i915: Propagate error from drm_gem_object_init() > > > > http://patchwork.freedesktop.org/api/1.0/series/6149/revisions/2/mbox/ > > > > > > > > Test drv_module_reload_basic: > > > > pass -> DMESG-WARN (ilk-hp8440p) > > > This seems like a problem that has not previously appeared. Please give > > > it a look. > > > > > > [ 474.322285] ============================================================================= > > > [ 474.322294] BUG dentry(4:session-c1.scope) (Tainted: G U ): Redzone overwritten > > > [ 474.322299] ----------------------------------------------------------------------------- > > > > > > [ 474.322304] Disabling lock debugging due to kernel taint > > > [ 474.322306] INFO: 0xffff8800b561f0c0-0xffff8800b561f0c3. First byte 0x0 instead of 0xcc > > > [ 474.322316] INFO: Allocated in __d_alloc+0x20/0x1b0 age=3579 cpu=3 pid=6426 > > > [ 474.322323] ___slab_alloc.constprop.62+0x37c/0x3b0 > > > [ 474.322327] __slab_alloc.isra.59.constprop.61+0x43/0x80 > > > [ 474.322331] kmem_cache_alloc+0x259/0x300 > > > [ 474.322334] __d_alloc+0x20/0x1b0 > > > [ 474.322337] d_alloc+0x18/0x70 > > > [ 474.322342] __lookup_hash+0x2e/0x50 > > > [ 474.322344] lookup_one_len+0xcd/0x120 > > > [ 474.322350] start_creating+0x71/0x100 > > > [ 474.322353] debugfs_create_file+0x2e/0xe0 > > > [ 474.322396] i915_debugfs_init+0xc8/0x120 [i915] > > > [ 474.322401] drm_debugfs_init+0xa3/0x130 > > > [ 474.322405] drm_minor_register+0x5a/0x110 > > > [ 474.322411] drm_dev_register+0x2a/0xb0 > > > [ 474.322416] drm_get_pci_dev+0xce/0x1e0 > > > [ 474.322431] i915_pci_probe+0x2f/0x50 [i915] > > > [ 474.322437] pci_device_probe+0x87/0xf0 > > > [ 474.322442] INFO: Slab 0xffffea0002d58700 objects=26 used=14 fp=0xffff8800b561cc38 flags=0x4000000000004081 > > > [ 474.322451] INFO: Object 0xffff8800b561f0c8 @offset=12488 fp=0xffff8800b561ee58 > > [ 474.322463] Redzone ffff8800b561f0c0: 00 f0 ff ff cc cc cc cc ........ > > > > -> 255.255.240.0 > > > > I don't this is ours. A pass through with kasan / kmemcheck would still > > be good to rule it out. > Tomi ran another run of BAT on ILK, and it was all success. > > Was kasan/kmemcheck run done? > Matthew did this and nothing came up that could have been due to this patch. So I'm merging it in, thanks for the patch. Regards, Joonas > Regards, Joonas > > > > > -Chris > >
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index d493e79..f749065 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -382,8 +382,8 @@ i915_gem_create(struct drm_file *file, /* Allocate the new object */ obj = i915_gem_object_create(dev, size); - if (obj == NULL) - return -ENOMEM; + if (IS_ERR(obj)) + return PTR_ERR(obj); ret = drm_gem_handle_create(file, &obj->base, &handle); /* drop reference from allocate - handle holds it now */ @@ -4498,15 +4498,15 @@ struct drm_i915_gem_object *i915_gem_object_create(struct drm_device *dev, struct drm_i915_gem_object *obj; struct address_space *mapping; gfp_t mask; + int ret; obj = i915_gem_object_alloc(dev); if (obj == NULL) - return NULL; + return ERR_PTR(-ENOMEM); - if (drm_gem_object_init(dev, &obj->base, size) != 0) { - i915_gem_object_free(obj); - return NULL; - } + ret = drm_gem_object_init(dev, &obj->base, size); + if (ret) + goto fail; mask = GFP_HIGHUSER | __GFP_RECLAIMABLE; if (IS_CRESTLINE(dev) || IS_BROADWATER(dev)) { @@ -4543,6 +4543,11 @@ struct drm_i915_gem_object *i915_gem_object_create(struct drm_device *dev, trace_i915_gem_object_create(obj); return obj; + +fail: + i915_gem_object_free(obj); + + return ERR_PTR(ret); } static bool discard_backing_storage(struct drm_i915_gem_object *obj) @@ -5348,7 +5353,7 @@ i915_gem_object_create_from_data(struct drm_device *dev, int ret; obj = i915_gem_object_create(dev, round_up(size, PAGE_SIZE)); - if (IS_ERR_OR_NULL(obj)) + if (IS_ERR(obj)) return obj; ret = i915_gem_object_set_to_cpu_domain(obj, true); diff --git a/drivers/gpu/drm/i915/i915_gem_batch_pool.c b/drivers/gpu/drm/i915/i915_gem_batch_pool.c index 1bc46ba..3752d5d 100644 --- a/drivers/gpu/drm/i915/i915_gem_batch_pool.c +++ b/drivers/gpu/drm/i915/i915_gem_batch_pool.c @@ -135,8 +135,8 @@ i915_gem_batch_pool_get(struct i915_gem_batch_pool *pool, int ret; obj = i915_gem_object_create(pool->dev, size); - if (obj == NULL) - return ERR_PTR(-ENOMEM); + if (IS_ERR(obj)) + return obj; ret = i915_gem_object_get_pages(obj); if (ret) diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c index 4e12bae..e78e2f6 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c @@ -179,8 +179,8 @@ i915_gem_alloc_context_obj(struct drm_device *dev, size_t size) int ret; obj = i915_gem_object_create(dev, size); - if (obj == NULL) - return ERR_PTR(-ENOMEM); + if (IS_ERR(obj)) + return obj; /* * Try to make the context utilize L3 as well as LLC. diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c index 65c9dad..841081e 100644 --- a/drivers/gpu/drm/i915/i915_gem_render_state.c +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c @@ -58,8 +58,11 @@ static int render_state_init(struct render_state *so, struct drm_device *dev) return -EINVAL; so->obj = i915_gem_object_create(dev, 4096); - if (so->obj == NULL) - return -ENOMEM; + if (IS_ERR(so->obj)) { + ret = PTR_ERR(so->obj); + so->obj = NULL; + return ret; + } ret = i915_gem_obj_ggtt_pin(so->obj, 4096, 0); if (ret) diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c index 72d6665..a304b0e 100644 --- a/drivers/gpu/drm/i915/i915_guc_submission.c +++ b/drivers/gpu/drm/i915/i915_guc_submission.c @@ -588,7 +588,7 @@ static struct drm_i915_gem_object *gem_allocate_guc_obj(struct drm_device *dev, struct drm_i915_gem_object *obj; obj = i915_gem_object_create(dev, size); - if (!obj) + if (IS_ERR(obj)) return NULL; if (i915_gem_object_get_pages(obj)) { diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index b7cb632..739c12f 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -10320,8 +10320,8 @@ intel_framebuffer_create_for_mode(struct drm_device *dev, obj = i915_gem_object_create(dev, intel_framebuffer_size_for_mode(mode, bpp)); - if (obj == NULL) - return ERR_PTR(-ENOMEM); + if (IS_ERR(obj)) + return ERR_CAST(obj); mode_cmd.width = mode->hdisplay; mode_cmd.height = mode->vdisplay; diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c index af56154..37fc68e 100644 --- a/drivers/gpu/drm/i915/intel_fbdev.c +++ b/drivers/gpu/drm/i915/intel_fbdev.c @@ -151,9 +151,9 @@ static int intelfb_alloc(struct drm_fb_helper *helper, obj = i915_gem_object_create_stolen(dev, size); if (obj == NULL) obj = i915_gem_object_create(dev, size); - if (!obj) { + if (IS_ERR(obj)) { DRM_ERROR("failed to allocate framebuffer\n"); - ret = -ENOMEM; + ret = PTR_ERR(obj); goto out; } diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c index 2b7e6bb..1b065e7 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c @@ -1474,9 +1474,11 @@ static int lrc_setup_wa_ctx_obj(struct intel_engine_cs *engine, u32 size) engine->wa_ctx.obj = i915_gem_object_create(engine->dev, PAGE_ALIGN(size)); - if (!engine->wa_ctx.obj) { + if (IS_ERR(engine->wa_ctx.obj)) { DRM_DEBUG_DRIVER("alloc LRC WA ctx backing obj failed.\n"); - return -ENOMEM; + ret = PTR_ERR(engine->wa_ctx.obj); + engine->wa_ctx.obj = NULL; + return ret; } ret = i915_gem_obj_ggtt_pin(engine->wa_ctx.obj, PAGE_SIZE, 0); @@ -2666,9 +2668,9 @@ int intel_lr_context_deferred_alloc(struct intel_context *ctx, context_size += PAGE_SIZE * LRC_PPHWSP_PN; ctx_obj = i915_gem_object_create(dev, context_size); - if (!ctx_obj) { + if (IS_ERR(ctx_obj)) { DRM_DEBUG_DRIVER("Alloc LRC backing obj failed.\n"); - return -ENOMEM; + return PTR_ERR(ctx_obj); } ringbuf = intel_engine_create_ringbuffer(engine, 4 * PAGE_SIZE); diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c index 597fbcd..6b016c9 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c @@ -1397,7 +1397,7 @@ void intel_setup_overlay(struct drm_device *dev) reg_bo = i915_gem_object_create_stolen(dev, PAGE_SIZE); if (reg_bo == NULL) reg_bo = i915_gem_object_create(dev, PAGE_SIZE); - if (reg_bo == NULL) + if (IS_ERR(reg_bo)) goto out_free; overlay->reg_bo = reg_bo; diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 66f69cd..aff26be 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -672,9 +672,10 @@ intel_init_pipe_control(struct intel_engine_cs *engine) WARN_ON(engine->scratch.obj); engine->scratch.obj = i915_gem_object_create(engine->dev, 4096); - if (engine->scratch.obj == NULL) { + if (IS_ERR(engine->scratch.obj)) { DRM_ERROR("Failed to allocate seqno page\n"); - ret = -ENOMEM; + ret = PTR_ERR(engine->scratch.obj); + engine->scratch.obj = NULL; goto err; } @@ -2027,9 +2028,9 @@ static int init_status_page(struct intel_engine_cs *engine) int ret; obj = i915_gem_object_create(engine->dev, 4096); - if (obj == NULL) { + if (IS_ERR(obj)) { DRM_ERROR("Failed to allocate status page\n"); - return -ENOMEM; + return PTR_ERR(obj); } ret = i915_gem_object_set_cache_level(obj, I915_CACHE_LLC); @@ -2168,8 +2169,8 @@ static int intel_alloc_ringbuffer_obj(struct drm_device *dev, obj = i915_gem_object_create_stolen(dev, ringbuf->size); if (obj == NULL) obj = i915_gem_object_create(dev, ringbuf->size); - if (obj == NULL) - return -ENOMEM; + if (IS_ERR(obj)) + return PTR_ERR(obj); /* mark ring buffers as read-only from GPU side by default */ obj->gt_ro = 1; @@ -2781,7 +2782,7 @@ int intel_init_render_ring_buffer(struct drm_device *dev) if (INTEL_INFO(dev)->gen >= 8) { if (i915_semaphore_is_enabled(dev)) { obj = i915_gem_object_create(dev, 4096); - if (obj == NULL) { + if (IS_ERR(obj)) { DRM_ERROR("Failed to allocate semaphore bo. Disabling semaphores\n"); i915.semaphores = 0; } else { @@ -2890,9 +2891,9 @@ int intel_init_render_ring_buffer(struct drm_device *dev) /* Workaround batchbuffer to combat CS tlb bug. */ if (HAS_BROKEN_CS_TLB(dev)) { obj = i915_gem_object_create(dev, I830_WA_SIZE); - if (obj == NULL) { + if (IS_ERR(obj)) { DRM_ERROR("Failed to allocate batch bo\n"); - return -ENOMEM; + return PTR_ERR(obj); } ret = i915_gem_obj_ggtt_pin(obj, 0, 0);