The following reply was made to PR kern/171137; it has been noted by GNATS.

From: Glen Barber <g...@freebsd.org>
To: Mike Manilone <crtm...@gmx.us>
Cc: freebsd-gnats-sub...@freebsd.org
Subject: Re: kern/171137: NDIS causing PANIC
Date: Tue, 28 Aug 2012 06:58:15 -0400

 --JYK4vJDZwFMowpUq
 Content-Type: multipart/mixed; boundary="T4sUOijqQbZv57TR"
 Content-Disposition: inline
 
 
 --T4sUOijqQbZv57TR
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
 
 On Tue, Aug 28, 2012 at 10:00:07AM +0000, Mike Manilone wrote:
 > >Environment:
 > System: FreeBSD bsd.laptop.mike 9.1-RC1 FreeBSD 9.1-RC1 #0: Tue Aug 14 04=
 :25:06 UTC 2012 r...@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC a=
 md64
 >=20
 > >Description:
 >      NDIS is causing a lot of panic to me. I'm using the BCM4313=20
 >      driver. And I *did* follow the instructions on the PC-BSD wiki.
 >      I can't stand the stability. I'm looking forward this bug=20
 >      could be fixed before FreeBSD 9.1-RELEASE.
 > =09
 >      I don't know how to grab the output from the panic screen. But
 >      I remembered that it's a page fault. (12)
 > >How-To-Repeat:
 >      1) reboot the machine, sometimes crash
 >      2) /etc/rc.d/netif restart, panic immediately.
 >=20
 
 Hi,
 
 Can you please apply the attached patch to
 /usr/src/sys/compat/ndis/subr_hal.c and rebuild your kernel and report
 back?
 
 Regards,
 
 Glen
 
 
 --T4sUOijqQbZv57TR
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="ndis-race-fix.diff.txt"
 Content-Transfer-Encoding: quoted-printable
 
 Index: compat/ndis/subr_hal.c
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 --- compat/ndis/subr_hal.c     (revision 239770)
 +++ compat/ndis/subr_hal.c     (working copy)
 @@ -392,16 +392,18 @@
  {
        uint8_t                 oldirql;
 =20
 +      sched_pin();
        oldirql =3D KeGetCurrentIrql();
 =20
        /* I am so going to hell for this. */
        if (oldirql > irql)
 -              panic("IRQL_NOT_LESS_THAN");
 +              panic("IRQL_NOT_LESS_THAN_OR_EQUAL");
 =20
 -      if (oldirql !=3D DISPATCH_LEVEL) {
 -              sched_pin();
 +      if (oldirql !=3D DISPATCH_LEVEL)=20
                mtx_lock(&disp_lock[curthread->td_oncpu]);
 -      }
 +      else
 +              sched_unpin();=09
 +
  /*printf("RAISE IRQL: %d %d\n", irql, oldirql);*/
 =20
        return (oldirql);
 
 --T4sUOijqQbZv57TR--
 
 --JYK4vJDZwFMowpUq
 Content-Type: application/pgp-signature
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (FreeBSD)
 
 iQEcBAEBCAAGBQJQPKRHAAoJEFJPDDeguUajR7MH/iYY+OHnZXsUNCkMUgDzGO4k
 Fw3RIfJqvmRIebOZc5wVT7zyG2ZkSRdpGtHnwyhAOjAJMBwHh/1Tg6CorOylvn6M
 paspIkVfHTreqHzqkuRPmSqME25cVupkFBRs+tZxgXC2L40GL+/3SZ4+e1uv+arj
 X6yFHfPU6nXoYROwRWeYxY2U/dBieOZWR9S0iEIv6vAiJFbR8bL/1bbRWwbuyhC0
 0GuhpaJlqMB6zmuXMY/c/WQQtQMX8JF1bxHpr31yIK9NUoe6boC2lB0UywYgPpZE
 7C8kqXhCqjXGY2VMmbEfb2GiHG2lYxEHGnVhlTF1M/sdFjLi2RFa459GmYVX990=
 =9Ntv
 -----END PGP SIGNATURE-----
 
 --JYK4vJDZwFMowpUq--
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to