From owner-cvs-all Tue Nov 30 23:38:58 1999 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 892C514EDD; Tue, 30 Nov 1999 23:38:55 -0800 (PST) (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id XAA93773; Tue, 30 Nov 1999 23:38:55 -0800 (PST) (envelope-from imp@FreeBSD.org) Message-Id: <199912010738.XAA93773@freefall.freebsd.org> From: Warner Losh Date: Tue, 30 Nov 1999 23:38:55 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/pccard pccard.c src/sys/isa sio.c src/sys/dev/ed if_ed_pccard.c src/sys/dev/ep if_ep_pccard.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk imp 1999/11/30 23:38:55 PST Modified files: sys/pccard pccard.c sys/isa sio.c sys/dev/ed if_ed_pccard.c sys/dev/ep if_ep_pccard.c Log: Fix the hang on card eject problem and maybe the hang on suspend problem. o Create new timeout routine so we don't detach the card inside a ISR but instead drop back to spl0 via a timeout of 0. o Actually delete the child of the pccard device rather than just faking it badly. o Fix sio, ed and ep to have pccard detach routines that are int rather than void. o Fix ep and ed pccard detach routines to use if_detach rather than just if_down. if_detach destroys the device, while if_down just marks it down. In this incarnation of the pccard things, we map the disable the slot action to detach the driver, which removes the driver from the device tree. When that is done, a panic would soon follow as the ifconfig tried to down the device. Didn't fix: o Should cache the pccard dev child's pointer in struct slot o remove now unused parts of struct slot o Any driver using softc after detach has been called. sio's softc used to be statically allocated, so you could check sc->gone, but that is now gone. o Didn't remove gone from softc of drivers that use the old pccard method. Didn't test: o ed driver changes o sio driver changes on pccards o suspend (no laptop or apm support on my desktop) Revision Changes Path 1.94 +39 -22 src/sys/pccard/pccard.c 1.276 +5 -17 src/sys/isa/sio.c 1.7 +6 -5 src/sys/dev/ed/if_ed_pccard.c 1.9 +5 -4 src/sys/dev/ep/if_ep_pccard.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message