summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pccard/pccardd
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>1999-12-08 07:47:41 +0000
committerimp <imp@FreeBSD.org>1999-12-08 07:47:41 +0000
commit6cc83bf12d28839afac51843a5dbddce2ef3feb3 (patch)
tree5c344252d3a861179b9f516798c382c306fb8d82 /usr.sbin/pccard/pccardd
parenteb52c51753aaf8c918da0168e6241c650b4bd697 (diff)
downloadFreeBSD-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/pccard/pccardd')
-rw-r--r--usr.sbin/pccard/pccardd/cardd.c3
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:
OpenPOWER on IntegriCloud