NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/49089: Incorrect locking in i915_capture_error_state
>Number: 49089
>Category: kern
>Synopsis: Incorrect locking in i915_capture_error_state
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Aug 07 19:10:00 +0000 2014
>Originator: Arnaud Degroote
>Release: 6.99.49
>Organization:
>Environment:
NetBSD hermes 6.99.49 NetBSD 6.99.49 (DRMKMS) #4: Tue Aug 5 22:10:37 CEST 2014
zul@hermes:/home/zul/netbsd-dev/build_temp/amd64/objdir/sys/arch/amd64/compile/DRMKMS
amd64
>Description:
On my IronLake card, when launching firefox, I often hit the following kernel
panic
#0 0xffffffff80678f6f in cpu_reboot (howto=howto@entry=260,
bootstr=bootstr@entry=0x0)
at /home/zul/netbsd-dev/src/sys/arch/amd64/amd64/machdep.c:671
#1 0xffffffff808c4634 in vpanic (fmt=0xffffffff80d31620 "kernel %sassertion
\"%s\" failed: file \"%s\", line %d ",
ap=ap@entry=0xfffffe8043463d60) at
/home/zul/netbsd-dev/src/sys/kern/subr_prf.c:284
#2 0xffffffff80a5f7d3 in kern_assert (fmt=fmt@entry=0xffffffff80d31620 "kernel
%sassertion \"%s\" failed: file \"%s\", line %d ")
at /home/zul/netbsd-dev/src/sys/lib/libkern/kern_assert.c:51
#3 0xffffffff803b14ec in DRM_SPIN_WAITERS_P (interlock=0xffff80000360cca0,
q=0xffff80000360c688)
at
/home/zul/netbsd-dev/src/sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h:89
#4 i915_record_ring_state (ering=0xfffffe8019fa7210, ring=0xffff80000360c560,
dev=0xfffffe80435dd810)
at
/home/zul/netbsd-dev/src/sys/external/bsd/drm2/dist/drm/i915/i915_gpu_error.c:812
#5 i915_gem_record_rings (error=0xfffffe8019fa7010, dev=0xfffffe80435dd810)
at
/home/zul/netbsd-dev/src/sys/external/bsd/drm2/dist/drm/i915/i915_gpu_error.c:924
#6 i915_capture_error_state (dev=0xfffffe80435dd810, wedged=<optimized out>,
error_msg=0xfffffe8043463e88 "Ring hung")
at
/home/zul/netbsd-dev/src/sys/external/bsd/drm2/dist/drm/i915/i915_gpu_error.c:1191
#7 0xffffffff803b633f in i915_handle_error (dev=0xfffffe80435dd810,
wedged=<optimized out>, fmt=<optimized out>)
at
/home/zul/netbsd-dev/src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c:2364
#8 0xffffffff80617732 in callout_softclock (v=<optimized out>) at
/home/zul/netbsd-dev/src/sys/kern/kern_timeout.c:736
#9 0xffffffff8060c208 in softint_execute (l=<optimized out>, s=2,
si=0xffff8000224090c0)
at /home/zul/netbsd-dev/src/sys/kern/kern_softint.c:589
>How-To-Repeat:
>Fix:
Adding some lock dance around DRM_SPIN_WAITERS_P in i915_record_ring_state
should be sufficient, but I'm not familiar enough with the code to know if it
is the good solution.
Home |
Main Index |
Thread Index |
Old Index