diff options
author | Justin T. Gibbs <gibbs@FreeBSD.org> | 2001-08-17 04:22:50 +0000 |
---|---|---|
committer | Justin T. Gibbs <gibbs@FreeBSD.org> | 2001-08-17 04:22:50 +0000 |
commit | 937b771c8cd9a7f5bed7209a0eb0073a504c6808 (patch) | |
tree | a92f038e6b84a813c66138efadca1bc660e02245 /sys/dev/aic7xxx | |
parent | 0ecd57ad0b850588881bb0fd4789a7ed6713b98b (diff) | |
download | src-937b771c8cd9a7f5bed7209a0eb0073a504c6808.tar.gz src-937b771c8cd9a7f5bed7209a0eb0073a504c6808.zip |
Restore initialization of ahc->unpause lost in rev 1.76. ahc->unpause
should be initialized to 0 for PCI adapters which was a side-effect of
the memset in ahc_alloc(). EISA/VL adapters require our unpause value to
include the "levelness" of our interrupt.
This change allows EISA adapters to work again.
PR: 29689, 29471
Notes
Notes:
svn path=/head/; revision=81809
Diffstat (limited to 'sys/dev/aic7xxx')
-rw-r--r-- | sys/dev/aic7xxx/aic7xxx.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c index 88a4b1d5a6c3..3739a3cd134f 100644 --- a/sys/dev/aic7xxx/aic7xxx.c +++ b/sys/dev/aic7xxx/aic7xxx.c @@ -3502,8 +3502,10 @@ ahc_softc_init(struct ahc_softc *ahc) { /* The IRQMS bit is only valid on VL and EISA chips */ - if ((ahc->chip & AHC_PCI) != 0) - ahc->unpause &= ~IRQMS; + if ((ahc->chip & AHC_PCI) == 0) + ahc->unpause = ahc_inb(ahc, HCNTRL) & IRQMS; + else + ahc->unpause = 0; ahc->pause = ahc->unpause | PAUSE; /* XXX The shared scb data stuff should be deprecated */ if (ahc->scb_data == NULL) { |