summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2000-01-13 06:32:33 +0000
committerimp <imp@FreeBSD.org>2000-01-13 06:32:33 +0000
commit151dabf531756a161ce2920bc760f4b7e218faff (patch)
tree32685803b7a3a5808e87db5b92bfc893a49171fe
parent4d257ee74fe6f596fdbe1d9333ea659336a7eb0c (diff)
downloadFreeBSD-src-151dabf531756a161ce2920bc760f4b7e218faff.zip
FreeBSD-src-151dabf531756a161ce2920bc760f4b7e218faff.tar.gz
Stop the recurring feeling of deja vu
Stop the recurring feeling of deja vu Stop the recurring feeling of deja vu Stop the recurring feeling of deja vu and debounce the eject messages. We now mark the socket empty in the interrupt handler, rather than after we've disabled the socket which happens "much later".
-rw-r--r--sys/pccard/pccard.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/pccard/pccard.c b/sys/pccard/pccard.c
index 79687d6..9b4a61d 100644
--- a/sys/pccard/pccard.c
+++ b/sys/pccard/pccard.c
@@ -189,8 +189,8 @@ disable_slot_to(void *argp)
{
struct slot *slt = (struct slot *) argp;
- disable_slot(slt);
slt->state = empty;
+ disable_slot(slt);
printf("pccard: card removed, slot %d\n", slt->slotnum);
pccard_remove_beep();
selwakeup(&slt->selp);
@@ -335,6 +335,7 @@ pccard_event(struct slot *slt, enum card_event event)
* data structures are not unlinked.
*/
if (slt->state == filled) {
+ slt->state = empty;
disable_slot_spl0(slt);
}
break;
OpenPOWER on IntegriCloud