summaryrefslogtreecommitdiffstats
path: root/sys/dev/ep/if_ep.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-06-05 22:29:16 +0000
committerimp <imp@FreeBSD.org>2001-06-05 22:29:16 +0000
commitf5e8ef092a4d219c33ec9e65dffc784921057140 (patch)
treea668595f25c9c5d15b170ca146dd020d901f71eb /sys/dev/ep/if_ep.c
parentcc91420e2c2379dda6ef14ae809d91e3e352fe9e (diff)
downloadFreeBSD-src-f5e8ef092a4d219c33ec9e65dffc784921057140.zip
FreeBSD-src-f5e8ef092a4d219c33ec9e65dffc784921057140.tar.gz
Commit part of the patch that I have for card eject problems with the
ep driver. The rest of the patch will wait until I can put the time into it to get it righter than the kludge it is. This protects us against card eject problems at all times,e xecpt when we're in the epintr ISR.
Diffstat (limited to 'sys/dev/ep/if_ep.c')
-rw-r--r--sys/dev/ep/if_ep.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/ep/if_ep.c b/sys/dev/ep/if_ep.c
index 3397de2..1118f11 100644
--- a/sys/dev/ep/if_ep.c
+++ b/sys/dev/ep/if_ep.c
@@ -550,6 +550,11 @@ ep_intr(arg)
if (sc->gone)
return;
+ /*
+ * quick fix: Try to detect an interrupt when the card goes away.
+ */
+ if (inw(BASE + EP_STATUS) == 0xffff)
+ return;
ifp = &sc->arpcom.ac_if;
OpenPOWER on IntegriCloud