diff options
author | imp <imp@FreeBSD.org> | 1999-12-08 07:47:41 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 1999-12-08 07:47:41 +0000 |
commit | 6cc83bf12d28839afac51843a5dbddce2ef3feb3 (patch) | |
tree | 5c344252d3a861179b9f516798c382c306fb8d82 /usr.sbin | |
parent | eb52c51753aaf8c918da0168e6241c650b4bd697 (diff) | |
download | FreeBSD-src-6cc83bf12d28839afac51843a5dbddce2ef3feb3.zip FreeBSD-src-6cc83bf12d28839afac51843a5dbddce2ef3feb3.tar.gz |
If last state was supended, remove the card. This is a kludge, there
is a race here that the old code didn't deal with, and I'm not
completely sure this is the right way to solve it, but it works here.
Should get rid of the dreaded "No free configuration for card" message.
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/pccard/pccardd/cardd.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/usr.sbin/pccard/pccardd/cardd.c b/usr.sbin/pccard/pccardd/cardd.c index 022a963..aae658f 100644 --- a/usr.sbin/pccard/pccardd/cardd.c +++ b/usr.sbin/pccard/pccardd/cardd.c @@ -149,6 +149,9 @@ slot_change(struct slot *sp) card_removed(sp); break; case filled: + /* KLUDGE: if we were suspended, remove card */ + if (state.laststate == suspend) + card_removed(sp); card_inserted(sp); break; case suspend: |