svn commit: r209634 - head/sys/x86/isa

Alexander Motin mav at FreeBSD.org
Thu Jul 1 18:51:18 UTC 2010


Author: mav
Date: Thu Jul  1 18:51:18 2010
New Revision: 209634
URL: http://svn.freebsd.org/changeset/base/209634

Log:
  Rework r209456:
  Instead of using fake rid (which ISA doesn't like), delete untrusted
  IRQ resource and let it be recreated.

Modified:
  head/sys/x86/isa/atrtc.c
  head/sys/x86/isa/clock.c

Modified: head/sys/x86/isa/atrtc.c
==============================================================================
--- head/sys/x86/isa/atrtc.c	Thu Jul  1 17:46:12 2010	(r209633)
+++ head/sys/x86/isa/atrtc.c	Thu Jul  1 18:51:18 2010	(r209634)
@@ -259,7 +259,8 @@ atrtc_attach(device_t dev)
 	if (!atrtcclock_disable &&
 	    (resource_int_value(device_get_name(dev), device_get_unit(dev),
 	     "clock", &i) != 0 || i != 0)) {
-	    	sc->intr_rid = -1;
+		sc->intr_rid = 0;
+		bus_delete_resource(dev, SYS_RES_IRQ, sc->intr_rid);
 		if (!(sc->intr_res = bus_alloc_resource(dev, SYS_RES_IRQ,
 		    &sc->intr_rid, 8, 8, 1, RF_ACTIVE))) {
 			device_printf(dev,"Can't map interrupt.\n");

Modified: head/sys/x86/isa/clock.c
==============================================================================
--- head/sys/x86/isa/clock.c	Thu Jul  1 17:46:12 2010	(r209633)
+++ head/sys/x86/isa/clock.c	Thu Jul  1 18:51:18 2010	(r209634)
@@ -535,7 +535,8 @@ attimer_attach(device_t dev)
 	tc_init(&sc->tc);
 	if (resource_int_value(device_get_name(dev), device_get_unit(dev),
 	    "clock", &i) != 0 || i != 0) {
-	    	sc->intr_rid = -1;
+	    	sc->intr_rid = 0;
+		bus_delete_resource(dev, SYS_RES_IRQ, sc->intr_rid);
 		if (!(sc->intr_res = bus_alloc_resource(dev, SYS_RES_IRQ,
 		    &sc->intr_rid, 0, 0, 1, RF_ACTIVE))) {
 			device_printf(dev,"Can't map interrupt.\n");


More information about the svn-src-head mailing list