On Sun, May 05, 2013 at 10:01:00AM +0400, [email protected] wrote:
d> Hello !
d>
d> This problems appears about 4-6 months ago after updating of -CURRENT
host.
d> Unable to boot host with nvidia_load="YES" in loader.conf because panic.
d> But when nvidia driver loads manually via kldload, everything OK.
d> Nvidia driver version is 310.44 at this moment, but problem was and on
d> earlier version too.
d>
d> Here is output of debugging (full version at
d> http://www.stasyan.com/devel/kern_crash_nvidia_autoload.txt)
Can you please try the attached patch to kernel?
--
Totus tuus, Glebius.
Index: kern/kern_sysctl.c
===================================================================
--- kern/kern_sysctl.c (revision 249327)
+++ kern/kern_sysctl.c (working copy)
@@ -1406,7 +1406,7 @@ static int
sysctl_root(SYSCTL_HANDLER_ARGS)
{
struct sysctl_oid *oid;
- int error, indx, lvl;
+ int error, indx, lvl, giantlocked;
SYSCTL_ASSERT_XLOCKED();
@@ -1488,10 +1488,13 @@ sysctl_root(SYSCTL_HANDLER_ARGS)
oid->oid_running++;
SYSCTL_XUNLOCK();
- if (!(oid->oid_kind & CTLFLAG_MPSAFE))
+ if (!(oid->oid_kind & CTLFLAG_MPSAFE)) {
+ giantlocked = 1;
mtx_lock(&Giant);
+ } else
+ giantlocked = 0;
error = oid->oid_handler(oid, arg1, arg2, req);
- if (!(oid->oid_kind & CTLFLAG_MPSAFE))
+ if (giantlocked)
mtx_unlock(&Giant);
KFAIL_POINT_ERROR(_debug_fail_point, sysctl_running, error);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[email protected]"