diff options
author | imp <imp@FreeBSD.org> | 2001-02-20 04:21:27 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2001-02-20 04:21:27 +0000 |
commit | 3a51f790ed16e34cb3c962b06ccd27971cf4a9c4 (patch) | |
tree | 11cee315bb571eb9802a3e32cf46a70886311d61 /sys/dev | |
parent | 13f0b0408bf6bdda48c5eb4ba5048ec5df8b2abb (diff) | |
download | FreeBSD-src-3a51f790ed16e34cb3c962b06ccd27971cf4a9c4.zip FreeBSD-src-3a51f790ed16e34cb3c962b06ccd27971cf4a9c4.tar.gz |
Add DC_UNLOCK before first return. This caused returns when dc was on
a shared interrupt.
Pointed out by tegge.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/dc/if_dc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c index 9cb794f..94c284b 100644 --- a/sys/dev/dc/if_dc.c +++ b/sys/dev/dc/if_dc.c @@ -2716,8 +2716,10 @@ static void dc_intr(arg) DC_LOCK(sc); ifp = &sc->arpcom.ac_if; - if ( (CSR_READ_4(sc, DC_ISR) & DC_INTRS) == 0) + if ( (CSR_READ_4(sc, DC_ISR) & DC_INTRS) == 0) { + DC_UNLOCK(sc); return ; + } /* Suppress unwanted interrupts */ if (!(ifp->if_flags & IFF_UP)) { |