From ed34d0ade2848f88c70b745d77380c5069ebdfd6 Mon Sep 17 00:00:00 2001 From: Mark Murray Date: Thu, 1 Mar 2001 17:09:09 +0000 Subject: Turn on interrupt-entropy harvesting for all/any mass storage devices I could find. I have no doubt missed a couple. Interrupt entropy harvesting is still conditional on the kern.random.sys.harvest_interrupt sysctl. --- sys/dev/aac/aac_pci.c | 2 +- sys/dev/advansys/adv_eisa.c | 2 +- sys/dev/advansys/adv_isa.c | 2 +- sys/dev/advansys/adv_pci.c | 2 +- sys/dev/advansys/adwcam.c | 5 +++-- sys/dev/aha/aha_isa.c | 2 +- sys/dev/aha/aha_mca.c | 2 +- sys/dev/ahb/ahb.c | 2 +- sys/dev/aic/aic_cbus.c | 4 ++-- sys/dev/aic/aic_isa.c | 4 ++-- sys/dev/aic/aic_pccard.c | 4 ++-- sys/dev/amd/amd.c | 3 ++- sys/dev/amr/amr_pci.c | 2 +- sys/dev/asr/asr.c | 2 +- sys/dev/buslogic/bt.c | 2 +- sys/dev/dpt/dpt_eisa.c | 3 ++- sys/dev/dpt/dpt_isa.c | 3 ++- sys/dev/dpt/dpt_pci.c | 3 ++- sys/dev/ida/ida_eisa.c | 2 +- sys/dev/ida/ida_pci.c | 2 +- sys/dev/isp/isp_pci.c | 4 ++-- sys/dev/mlx/mlx.c | 2 +- sys/dev/mly/mly_pci.c | 2 +- sys/dev/ncv/ncr53c500_pccard.c | 2 +- sys/dev/nsp/nsp_pccard.c | 2 +- sys/dev/stg/tmc18c30_isa.c | 2 +- sys/dev/stg/tmc18c30_pccard.c | 2 +- sys/dev/sym/sym_hipd.c | 5 +++-- sys/dev/twe/twe_freebsd.c | 2 +- sys/dev/wds/wd7000.c | 2 +- sys/pci/amd.c | 3 ++- sys/pci/ncr.c | 2 +- 32 files changed, 45 insertions(+), 38 deletions(-) diff --git a/sys/dev/aac/aac_pci.c b/sys/dev/aac/aac_pci.c index 654e07537c36..15b80156381f 100644 --- a/sys/dev/aac/aac_pci.c +++ b/sys/dev/aac/aac_pci.c @@ -181,7 +181,7 @@ aac_pci_attach(device_t dev) device_printf(sc->aac_dev, "can't allocate interrupt\n"); goto out; } - if (bus_setup_intr(sc->aac_dev, sc->aac_irq, INTR_TYPE_BIO, aac_intr, sc, &sc->aac_intr)) { + if (bus_setup_intr(sc->aac_dev, sc->aac_irq, INTR_TYPE_BIO|INTR_ENTROPY, aac_intr, sc, &sc->aac_intr)) { device_printf(sc->aac_dev, "can't set up interrupt\n"); goto out; } diff --git a/sys/dev/advansys/adv_eisa.c b/sys/dev/advansys/adv_eisa.c index e769ca42fe70..a2ed93903783 100644 --- a/sys/dev/advansys/adv_eisa.c +++ b/sys/dev/advansys/adv_eisa.c @@ -309,7 +309,7 @@ adv_eisa_attach(device_t dev) /* * Enable our interrupt handler. */ - bus_setup_intr(dev, irq, INTR_TYPE_CAM, adv_intr, adv, &ih); + bus_setup_intr(dev, irq, INTR_TYPE_CAM|INTR_ENTROPY, adv_intr, adv, &ih); /* Attach sub-devices - always succeeds */ adv_attach(adv); diff --git a/sys/dev/advansys/adv_isa.c b/sys/dev/advansys/adv_isa.c index f55dcc73e439..a0f15e9eec39 100644 --- a/sys/dev/advansys/adv_isa.c +++ b/sys/dev/advansys/adv_isa.c @@ -319,7 +319,7 @@ adv_isa_probe(device_t dev) irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_ACTIVE); if (irqres == NULL || - bus_setup_intr(dev, irqres, INTR_TYPE_CAM, adv_intr, adv, + bus_setup_intr(dev, irqres, INTR_TYPE_CAM|INTR_ENTROPY, adv_intr, adv, &ih)) { bus_dmamap_unload(overrun_dmat, overrun_dmamap); bus_dmamem_free(overrun_dmat, overrun_buf, diff --git a/sys/dev/advansys/adv_pci.c b/sys/dev/advansys/adv_pci.c index b965ce6a3cfa..55ce7514da1e 100644 --- a/sys/dev/advansys/adv_pci.c +++ b/sys/dev/advansys/adv_pci.c @@ -293,7 +293,7 @@ adv_pci_attach(device_t dev) irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE); if (irqres == NULL || - bus_setup_intr(dev, irqres, INTR_TYPE_CAM, adv_intr, adv, &ih)) { + bus_setup_intr(dev, irqres, INTR_TYPE_CAM|INTR_ENTROPY, adv_intr, adv, &ih)) { adv_free(adv); bus_release_resource(dev, SYS_RES_IOPORT, 0, iores); return ENXIO; diff --git a/sys/dev/advansys/adwcam.c b/sys/dev/advansys/adwcam.c index 3c9b00b78856..91d2c7d44639 100644 --- a/sys/dev/advansys/adwcam.c +++ b/sys/dev/advansys/adwcam.c @@ -1169,8 +1169,9 @@ adw_attach(struct adw_softc *adw) error = 0; s = splcam(); /* Hook up our interrupt handler */ - if ((error = bus_setup_intr(adw->device, adw->irq, INTR_TYPE_CAM, - adw_intr, adw, &adw->ih)) != 0) { + if ((error = bus_setup_intr(adw->device, adw->irq, + INTR_TYPE_CAM | INTR_ENTROPY, adw_intr, + adw, &adw->ih)) != 0) { device_printf(adw->device, "bus_setup_intr() failed: %d\n", error); goto fail; diff --git a/sys/dev/aha/aha_isa.c b/sys/dev/aha/aha_isa.c index 02e00369ad81..4faad2a34826 100644 --- a/sys/dev/aha/aha_isa.c +++ b/sys/dev/aha/aha_isa.c @@ -277,7 +277,7 @@ aha_isa_attach(device_t dev) return (error); } - error = bus_setup_intr(dev, aha->irq, INTR_TYPE_CAM, aha_intr, aha, + error = bus_setup_intr(dev, aha->irq, INTR_TYPE_CAM|INTR_ENTROPY, aha_intr, aha, &ih); if (error) { device_printf(dev, "Unable to register interrupt handler\n"); diff --git a/sys/dev/aha/aha_mca.c b/sys/dev/aha/aha_mca.c index fa4b75736503..70b422c4533b 100644 --- a/sys/dev/aha/aha_mca.c +++ b/sys/dev/aha/aha_mca.c @@ -201,7 +201,7 @@ aha_mca_attach (device_t dev) goto bad; } - error = bus_setup_intr(dev, irq, INTR_TYPE_CAM, aha_intr, sc, &ih); + error = bus_setup_intr(dev, irq, INTR_TYPE_CAM|INTR_ENTROPY, aha_intr, sc, &ih); if (error) { device_printf(dev, "Unable to register interrupt handler\n"); goto bad; diff --git a/sys/dev/ahb/ahb.c b/sys/dev/ahb/ahb.c index bbd6fd0aff03..dcb7f90ee6ab 100644 --- a/sys/dev/ahb/ahb.c +++ b/sys/dev/ahb/ahb.c @@ -367,7 +367,7 @@ ahbattach(device_t dev) goto error_exit; /* Enable our interrupt */ - bus_setup_intr(dev, irq, INTR_TYPE_CAM, ahbintr, ahb, &ih); + bus_setup_intr(dev, irq, INTR_TYPE_CAM|INTR_ENTROPY, ahbintr, ahb, &ih); return (0); error_exit: diff --git a/sys/dev/aic/aic_cbus.c b/sys/dev/aic/aic_cbus.c index 6dac2b34c835..ac36830301f0 100644 --- a/sys/dev/aic/aic_cbus.c +++ b/sys/dev/aic/aic_cbus.c @@ -231,8 +231,8 @@ aic_isa_attach(device_t dev) return (error); } - error = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_CAM, aic_intr, - aic, &sc->sc_ih); + error = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_CAM|INTR_ENTROPY, + aic_intr, aic, &sc->sc_ih); if (error) { device_printf(dev, "failed to register interrupt handler\n"); aic_isa_release_resources(dev); diff --git a/sys/dev/aic/aic_isa.c b/sys/dev/aic/aic_isa.c index b1eea5957d3e..b89edc23aa2b 100644 --- a/sys/dev/aic/aic_isa.c +++ b/sys/dev/aic/aic_isa.c @@ -177,8 +177,8 @@ aic_isa_attach(device_t dev) return (error); } - error = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_CAM, aic_intr, - aic, &sc->sc_ih); + error = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_CAM|INTR_ENTROPY, + aic_intr, aic, &sc->sc_ih); if (error) { device_printf(dev, "failed to register interrupt handler\n"); aic_isa_release_resources(dev); diff --git a/sys/dev/aic/aic_pccard.c b/sys/dev/aic/aic_pccard.c index fd4ca9edb00a..f96d96285323 100644 --- a/sys/dev/aic/aic_pccard.c +++ b/sys/dev/aic/aic_pccard.c @@ -161,8 +161,8 @@ aic_pccard_attach(device_t dev) return (error); } - error = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_CAM, aic_intr, - aic, &sc->sc_ih); + error = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_CAM|INTR_ENTROPY, + aic_intr, aic, &sc->sc_ih); if (error) { device_printf(dev, "failed to register interrupt handler\n"); aic_pccard_release_resources(dev); diff --git a/sys/dev/amd/amd.c b/sys/dev/amd/amd.c index 8bd550b19c8e..302691dacc3b 100644 --- a/sys/dev/amd/amd.c +++ b/sys/dev/amd/amd.c @@ -2372,7 +2372,8 @@ amd_attach(device_t dev) irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE); if (irqres == NULL || - bus_setup_intr(dev, irqres, INTR_TYPE_CAM, amd_intr, amd, &ih)) { + bus_setup_intr(dev, irqres, INTR_TYPE_CAM | INTR_ENTROPY, + amd_intr, amd, &ih)) { if (bootverbose) printf("amd%d: unable to register interrupt handler!\n", unit); diff --git a/sys/dev/amr/amr_pci.c b/sys/dev/amr/amr_pci.c index 26b9ff897345..e98ca4baecaf 100644 --- a/sys/dev/amr/amr_pci.c +++ b/sys/dev/amr/amr_pci.c @@ -196,7 +196,7 @@ amr_pci_attach(device_t dev) device_printf(sc->amr_dev, "can't allocate interrupt\n"); goto out; } - if (bus_setup_intr(sc->amr_dev, sc->amr_irq, INTR_TYPE_BIO, amr_pci_intr, sc, &sc->amr_intr)) { + if (bus_setup_intr(sc->amr_dev, sc->amr_irq, INTR_TYPE_BIO | INTR_ENTROPY, amr_pci_intr, sc, &sc->amr_intr)) { device_printf(sc->amr_dev, "can't set up interrupt\n"); goto out; } diff --git a/sys/dev/asr/asr.c b/sys/dev/asr/asr.c index ad31c5c31bba..eda4e74a4bf4 100644 --- a/sys/dev/asr/asr.c +++ b/sys/dev/asr/asr.c @@ -2480,7 +2480,7 @@ asr_pci_map_int ( if (sc->ha_irq_res == (struct resource *)NULL) { return (0); } - if (bus_setup_intr(tag, sc->ha_irq_res, INTR_TYPE_CAM, + if (bus_setup_intr(tag, sc->ha_irq_res, INTR_TYPE_CAM | INTR_ENTROPY, (driver_intr_t *)asr_intr, (void *)sc, &(sc->ha_intr))) { return (0); } diff --git a/sys/dev/buslogic/bt.c b/sys/dev/buslogic/bt.c index b0df0cee1105..53fa4d7a85cc 100644 --- a/sys/dev/buslogic/bt.c +++ b/sys/dev/buslogic/bt.c @@ -873,7 +873,7 @@ bt_attach(device_t dev) /* * Setup interrupt. */ - error = bus_setup_intr(dev, bt->irq, INTR_TYPE_CAM, + error = bus_setup_intr(dev, bt->irq, INTR_TYPE_CAM|INTR_ENTROPY, bt_intr, bt, &bt->ih); if (error) { device_printf(dev, "bus_setup_intr() failed: %d\n", error); diff --git a/sys/dev/dpt/dpt_eisa.c b/sys/dev/dpt/dpt_eisa.c index 7dae870104da..bdb53e7296da 100644 --- a/sys/dev/dpt/dpt_eisa.c +++ b/sys/dev/dpt/dpt_eisa.c @@ -161,7 +161,8 @@ dpt_eisa_attach (device_t dev) splx(s); - if (bus_setup_intr(dev, irq, INTR_TYPE_CAM, dpt_intr, dpt, &ih)) { + if (bus_setup_intr(dev, irq, INTR_TYPE_CAM | INTR_ENTROPY, dpt_intr, + dpt, &ih)) { device_printf(dev, "Unable to register interrupt handler\n"); error = ENXIO; goto bad; diff --git a/sys/dev/dpt/dpt_isa.c b/sys/dev/dpt/dpt_isa.c index bb34534b7d6b..dad354a25ad7 100644 --- a/sys/dev/dpt/dpt_isa.c +++ b/sys/dev/dpt/dpt_isa.c @@ -146,7 +146,8 @@ dpt_isa_attach (device_t dev) splx(s); - if (bus_setup_intr(dev, irq, INTR_TYPE_CAM, dpt_intr, dpt, &ih)) { + if (bus_setup_intr(dev, irq, INTR_TYPE_CAM | INTR_ENTROPY, dpt_intr, + dpt, &ih)) { device_printf(dev, "Unable to register interrupt handler\n"); error = ENXIO; goto bad; diff --git a/sys/dev/dpt/dpt_pci.c b/sys/dev/dpt/dpt_pci.c index b68cfcef0b80..1077437f5a9d 100644 --- a/sys/dev/dpt/dpt_pci.c +++ b/sys/dev/dpt/dpt_pci.c @@ -166,7 +166,8 @@ dpt_pci_attach (device_t dev) splx(s); - if (bus_setup_intr(dev, irq, INTR_TYPE_CAM, dpt_intr, dpt, &ih)) { + if (bus_setup_intr(dev, irq, INTR_TYPE_CAM | INTR_ENTROPY, dpt_intr, + dpt, &ih)) { device_printf(dev, "Unable to register interrupt handler\n"); error = ENXIO; goto bad; diff --git a/sys/dev/ida/ida_eisa.c b/sys/dev/ida/ida_eisa.c index 41d40963001b..291a33428d3a 100644 --- a/sys/dev/ida/ida_eisa.c +++ b/sys/dev/ida/ida_eisa.c @@ -319,7 +319,7 @@ ida_eisa_attach(device_t dev) return (ENOMEM); } - error = bus_setup_intr(dev, ida->irq, INTR_TYPE_BIO, + error = bus_setup_intr(dev, ida->irq, INTR_TYPE_BIO | INTR_ENTROPY, ida_intr, ida, &ida->ih); if (error) { device_printf(dev, "can't setup interrupt\n"); diff --git a/sys/dev/ida/ida_pci.c b/sys/dev/ida/ida_pci.c index cf1f2d5aea61..fcebeb6a244b 100644 --- a/sys/dev/ida/ida_pci.c +++ b/sys/dev/ida/ida_pci.c @@ -281,7 +281,7 @@ ida_pci_attach(device_t dev) ida_free(ida); return (ENOMEM); } - error = bus_setup_intr(dev, ida->irq, INTR_TYPE_BIO, + error = bus_setup_intr(dev, ida->irq, INTR_TYPE_BIO | INTR_ENTROPY, ida_intr, ida, &ida->ih); if (error) { device_printf(dev, "can't setup interrupt\n"); diff --git a/sys/dev/isp/isp_pci.c b/sys/dev/isp/isp_pci.c index b91628b1a06a..f914bdec647c 100644 --- a/sys/dev/isp/isp_pci.c +++ b/sys/dev/isp/isp_pci.c @@ -616,13 +616,13 @@ isp_pci_attach(device_t dev) mtx_init(&isp->isp_osinfo.lock, "isp", MTX_DEF); locksetup++; - if (bus_setup_intr(dev, irq, INTR_TYPE_CAM | INTR_MPSAFE, + if (bus_setup_intr(dev, irq, INTR_TYPE_CAM | INTR_MPSAFE | INTR_ENTROPY, isp_pci_intr, isp, &pcs->ih)) { device_printf(dev, "could not setup interrupt\n"); goto bad; } #else - if (bus_setup_intr(dev, irq, INTR_TYPE_CAM, + if (bus_setup_intr(dev, irq, INTR_TYPE_CAM | INTR_ENTROPY, isp_pci_intr, isp, &pcs->ih)) { device_printf(dev, "could not setup interrupt\n"); goto bad; diff --git a/sys/dev/mlx/mlx.c b/sys/dev/mlx/mlx.c index 2a952eb71de6..291618ad0652 100644 --- a/sys/dev/mlx/mlx.c +++ b/sys/dev/mlx/mlx.c @@ -366,7 +366,7 @@ mlx_attach(struct mlx_softc *sc) mlx_free(sc); return(ENXIO); } - error = bus_setup_intr(sc->mlx_dev, sc->mlx_irq, INTR_TYPE_BIO, mlx_intr, sc, &sc->mlx_intr); + error = bus_setup_intr(sc->mlx_dev, sc->mlx_irq, INTR_TYPE_BIO | INTR_ENTROPY, mlx_intr, sc, &sc->mlx_intr); if (error) { device_printf(sc->mlx_dev, "can't set up interrupt\n"); mlx_free(sc); diff --git a/sys/dev/mly/mly_pci.c b/sys/dev/mly/mly_pci.c index e890a69b200f..b1760ca8a4f5 100644 --- a/sys/dev/mly/mly_pci.c +++ b/sys/dev/mly/mly_pci.c @@ -186,7 +186,7 @@ mly_pci_attach(device_t dev) mly_printf(sc, "can't allocate interrupt\n"); goto fail; } - if (bus_setup_intr(sc->mly_dev, sc->mly_irq, INTR_TYPE_CAM, mly_pci_intr, sc, &sc->mly_intr)) { + if (bus_setup_intr(sc->mly_dev, sc->mly_irq, INTR_TYPE_CAM | INTR_ENTROPY, mly_pci_intr, sc, &sc->mly_intr)) { mly_printf(sc, "can't set up interrupt\n"); goto fail; } diff --git a/sys/dev/ncv/ncr53c500_pccard.c b/sys/dev/ncv/ncr53c500_pccard.c index b35d9d6f3412..ed1b5d9a8da7 100644 --- a/sys/dev/ncv/ncr53c500_pccard.c +++ b/sys/dev/ncv/ncr53c500_pccard.c @@ -241,7 +241,7 @@ ncv_pccard_attach(DEVPORT_PDEVICE dev) return(error); } - error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM, + error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM | INTR_ENTROPY, ncv_pccard_intr, (void *)sc, &sc->ncv_intrhand); if (error) { ncv_release_resource(dev); diff --git a/sys/dev/nsp/nsp_pccard.c b/sys/dev/nsp/nsp_pccard.c index afc3be2760f1..3bc2428ef9dd 100644 --- a/sys/dev/nsp/nsp_pccard.c +++ b/sys/dev/nsp/nsp_pccard.c @@ -218,7 +218,7 @@ nsp_pccard_attach(DEVPORT_PDEVICE dev) return(error); } - error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM, + error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM | INTR_ENTROPY, nsp_pccard_intr, (void *)sc, &sc->nsp_intrhand); if (error) { nsp_release_resource(dev); diff --git a/sys/dev/stg/tmc18c30_isa.c b/sys/dev/stg/tmc18c30_isa.c index 6fe5523d8bca..53df893ebf2b 100644 --- a/sys/dev/stg/tmc18c30_isa.c +++ b/sys/dev/stg/tmc18c30_isa.c @@ -192,7 +192,7 @@ stg_isa_attach(device_t dev) return(error); } - error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM, + error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM | INTR_ENTROPY, stg_isa_intr, (void *)sc, &sc->stg_intrhand); if (error) { stg_release_resource(dev); diff --git a/sys/dev/stg/tmc18c30_pccard.c b/sys/dev/stg/tmc18c30_pccard.c index fb3cd0de2355..c1bf0e9a567e 100644 --- a/sys/dev/stg/tmc18c30_pccard.c +++ b/sys/dev/stg/tmc18c30_pccard.c @@ -217,7 +217,7 @@ stg_pccard_attach(DEVPORT_PDEVICE dev) return(error); } - error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM, + error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM | INTR_ENTROPY, stg_pccard_intr, (void *)sc, &sc->stg_intrhand); if (error) { stg_release_resource(dev); diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 04b371b0d8c8..fed183b3c0bb 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -9452,8 +9452,9 @@ int sym_cam_attach(hcb_p np) * Establish our interrupt handler. */ #ifdef FreeBSD_Bus_Io_Abstraction - err = bus_setup_intr(np->device, np->irq_res, INTR_TYPE_CAM, - sym_intr, np, &np->intr); + err = bus_setup_intr(np->device, np->irq_res, + INTR_TYPE_CAM | INTR_ENTROPY, sym_intr, np, + &np->intr); if (err) { device_printf(np->device, "bus_setup_intr() failed: %d\n", err); diff --git a/sys/dev/twe/twe_freebsd.c b/sys/dev/twe/twe_freebsd.c index 104e8284d522..6efac81487ea 100644 --- a/sys/dev/twe/twe_freebsd.c +++ b/sys/dev/twe/twe_freebsd.c @@ -258,7 +258,7 @@ twe_attach(device_t dev) twe_free(sc); return(ENXIO); } - if (bus_setup_intr(sc->twe_dev, sc->twe_irq, INTR_TYPE_BIO, twe_pci_intr, sc, &sc->twe_intr)) { + if (bus_setup_intr(sc->twe_dev, sc->twe_irq, INTR_TYPE_BIO | INTR_ENTROPY, twe_pci_intr, sc, &sc->twe_intr)) { twe_printf(sc, "can't set up interrupt\n"); twe_free(sc); return(ENXIO); diff --git a/sys/dev/wds/wd7000.c b/sys/dev/wds/wd7000.c index 537642ed8c27..0040ef64bdea 100644 --- a/sys/dev/wds/wd7000.c +++ b/sys/dev/wds/wd7000.c @@ -539,7 +539,7 @@ wds_attach(device_t dev) /*count*/ 0, RF_ACTIVE); if (wp->intr_r == NULL) goto bad; - error = bus_setup_intr(dev, wp->intr_r, INTR_TYPE_CAM, + error = bus_setup_intr(dev, wp->intr_r, INTR_TYPE_CAM | INTR_ENTROPY, (driver_intr_t *)wds_intr, (void *)wp, &wp->intr_cookie); if (error) diff --git a/sys/pci/amd.c b/sys/pci/amd.c index 8bd550b19c8e..302691dacc3b 100644 --- a/sys/pci/amd.c +++ b/sys/pci/amd.c @@ -2372,7 +2372,8 @@ amd_attach(device_t dev) irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE); if (irqres == NULL || - bus_setup_intr(dev, irqres, INTR_TYPE_CAM, amd_intr, amd, &ih)) { + bus_setup_intr(dev, irqres, INTR_TYPE_CAM | INTR_ENTROPY, + amd_intr, amd, &ih)) { if (bootverbose) printf("amd%d: unable to register interrupt handler!\n", unit); diff --git a/sys/pci/ncr.c b/sys/pci/ncr.c index fd5d9c0acb95..08f83819fe92 100644 --- a/sys/pci/ncr.c +++ b/sys/pci/ncr.c @@ -3770,7 +3770,7 @@ ncr_attach (device_t dev) device_printf(dev, "interruptless mode: reduced performance.\n"); } else { - bus_setup_intr(dev, np->irq_res, INTR_TYPE_CAM, + bus_setup_intr(dev, np->irq_res, INTR_TYPE_CAM | INTR_ENTROPY, ncr_intr, np, &np->irq_handle); } -- cgit v1.2.3