aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2001-07-26 23:23:36 +0000
committerWarner Losh <imp@FreeBSD.org>2001-07-26 23:23:36 +0000
commite598f661517eba66c46d969f311070b5b15d65ea (patch)
treec038590e13d28dfe58f9483c5b6130a4fc06f937 /sys
parenta03bd29498125c9f4e1f702b854c1428e1703c0d (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/pccard/pcic.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/pccard/pcic.c b/sys/pccard/pcic.c
index a57336e8dfaa..2ee54df6c980 100644
--- a/sys/pccard/pcic.c
+++ b/sys/pccard/pcic.c
@@ -314,7 +314,7 @@ pcic_attach(device_t dev)
struct pcic_softc *sc;
struct slot *slt;
struct pcic_slot *sp;
- int stat;
+ u_int8_t stat;
sc = (struct pcic_softc *) device_get_softc(dev);
callout_handle_init(&sc->timeout_ch);
@@ -600,12 +600,16 @@ static void
pcic_resume(struct slot *slt)
{
struct pcic_slot *sp = slt->cdata;
+ u_int8_t stat;
pcic_do_mgt_irq(sp, slt->irq);
if (sp->controller == PCIC_PD672X) {
pcic_setb(sp, PCIC_MISC1, PCIC_MISC1_SPEAKER);
pcic_setb(sp, PCIC_MISC2, PCIC_LPDM_EN);
}
+ stat = sp->getb(sp, PCIC_STATUS);
+ if ((stat & PCIC_CD) != PCIC_CD)
+ sp->slt->laststate = sp->slt->state = empty;
}
int