diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2012-10-09 13:41:05 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2012-10-09 13:41:05 +0000 |
commit | 322a466c1c91aa3c4cf4c2a88d7fdad680153aa6 (patch) | |
tree | eb718924afaa56a337db7c33de82078089b5b0b5 /sys/dev/usb | |
parent | 9162d9c4af4edd1b2764ac0e89ca54b4f78b86bd (diff) |
Our arc4random() is safe to use in any context, so we don't the crazy
fake randomizer for pre-boot. We still need better interrupt scheduling,
but this makes that more clear.
ok yuo mpi
Diffstat (limited to 'sys/dev/usb')
-rw-r--r-- | sys/dev/usb/ehci.c | 12 | ||||
-rw-r--r-- | sys/dev/usb/ehcivar.h | 3 |
2 files changed, 3 insertions, 12 deletions
diff --git a/sys/dev/usb/ehci.c b/sys/dev/usb/ehci.c index 8dd140ad489..20788ef7463 100644 --- a/sys/dev/usb/ehci.c +++ b/sys/dev/usb/ehci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ehci.c,v 1.127 2012/10/08 21:47:50 deraadt Exp $ */ +/* $OpenBSD: ehci.c,v 1.128 2012/10/09 13:41:04 deraadt Exp $ */ /* $NetBSD: ehci.c,v 1.66 2004/06/30 03:11:56 mycroft Exp $ */ /* @@ -375,9 +375,6 @@ ehci_init(ehci_softc_t *sc) return (USBD_IOERROR); } - /* XXX need proper intr scheduling */ - sc->sc_rand = 96; - /* frame list size at default, read back what we got and use that */ switch (EHCI_CMD_FLS(EOREAD4(sc, EHCI_USBCMD))) { case 0: @@ -3402,12 +3399,7 @@ ehci_device_setintr(ehci_softc_t *sc, ehci_soft_qh_t *sqh, int ival) /* Pick an interrupt slot at the right level. */ /* XXX could do better than picking at random */ - if (cold) { - /* XXX prevent panics at boot by not using arc4random */ - sc->sc_rand = (sc->sc_rand + 192) % sc->sc_flsize; - islot = EHCI_IQHIDX(lev, sc->sc_rand); - } else - islot = EHCI_IQHIDX(lev, arc4random()); + islot = EHCI_IQHIDX(lev, arc4random()); sqh->islot = islot; isp = &sc->sc_islots[islot]; diff --git a/sys/dev/usb/ehcivar.h b/sys/dev/usb/ehcivar.h index 51a71d1c9a6..d3967570061 100644 --- a/sys/dev/usb/ehcivar.h +++ b/sys/dev/usb/ehcivar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ehcivar.h,v 1.23 2012/10/08 21:47:50 deraadt Exp $ */ +/* $OpenBSD: ehcivar.h,v 1.24 2012/10/09 13:41:04 deraadt Exp $ */ /* $NetBSD: ehcivar.h,v 1.19 2005/04/29 15:04:29 augustss Exp $ */ /* @@ -130,7 +130,6 @@ typedef struct ehci_softc { usb_dma_t sc_fldma; ehci_link_t *sc_flist; u_int sc_flsize; - u_int sc_rand; /* XXX need proper intr scheduling */ struct ehci_soft_islot sc_islots[EHCI_INTRQHS]; |