freebsd-dev/sys/isa
Warner Losh 633f93bee5 Fix crashes on card eject for pccard modems. We check for NULL when
we get the com address.  If so, we go ahead and return.  Bruce thinks
there's a bug in the pccard layer that it terminates devices with
extreme prejustice rather than letting them deside for themselves when
to terminate (and he's likely right).  This fix doesn't change that,
but instead works around it by checking for NULL pointers at more
places than before.

The detach routine still calls functions at interrupt level that
aren't reentrant.  In theory this could cause a problem, but none
showed up in practice.  Future versions should correct this problem,
likely by making the detach process a thread/process at the pccard
level.  NEWCARD will do this, and the current pccard layer should
likely be modified to that as well, should it live long enough.

A few style nits of the same form that were in my original patch sent
off to bde were also fixed as part of this process.  Mostly use of
!ptr and return ENOPARENS.

This should prevent a crash on suspend with an active ppp link as
well, but that wasn't tested.

Reviewed by:	bde
Approved by:	jkh
2000-03-11 20:22:09 +00:00
..
ic $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
atkbd_isa.c Use config's conditional compilation rather than using #ifdefs that make 2000-01-29 15:08:56 +00:00
atkbdc_isa.c Do not add children (atkbd and psm) if they are disabled. 2000-02-25 11:40:31 +00:00
atrtc.c ISA device drivers use the ISA source interrupt number in locations where 2000-01-04 22:24:59 +00:00
fd.c Futher cleanup.. "device_print_prettyname(); printf()" -> device_printf() 2000-01-08 09:33:09 +00:00
fdc.h Removed some more vestiges of ft. 2000-01-09 17:13:35 +00:00
fdreg.h Merge most of FDC_YE into the mainline driver. 2000-01-06 07:13:54 +00:00
isa_common.c When allocating resources in the following cases: 2000-02-11 04:35:07 +00:00
isa_common.h Change isa_get/set_flags() to device_get/set_flags(). 1999-09-07 08:42:49 +00:00
isa_if.m * Add struct resource_list* argument to resource_list_alloc and 1999-10-12 21:35:51 +00:00
isahint.c Allow a DMA channel of 0. This gets the on-board mss audio device working 1999-11-22 14:30:41 +00:00
isareg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
isavar.h Newbus-ify the USR Sportster TA Intern driver. 2000-02-21 02:10:10 +00:00
joy.c Add ADS7182 as a known Joystick. 2000-01-18 08:38:35 +00:00
pnp.c * Add some verbose logging to the PnP parser and fix a couple of bugs. 1999-10-14 21:03:03 +00:00
pnpparse.c * Add some verbose logging to the PnP parser and fix a couple of bugs. 1999-10-14 21:03:03 +00:00
pnpreg.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
pnpvar.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
ppc.c Remove #include "ppc.h" and #if NPPC > 0 - this is always true as it is 2000-01-29 14:02:30 +00:00
ppcreg.h Port of ppbus standalone framework to the newbus system. 2000-01-14 00:18:06 +00:00
psm.c Don't free(sc) before returning an error from probe, it does not "belong" 2000-03-01 19:30:36 +00:00
rtc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sio.c Fix crashes on card eject for pccard modems. We check for NULL when 2000-03-11 20:22:09 +00:00
sioreg.h Restore the old sio* - bruce can fix it himself. 1999-09-08 10:59:03 +00:00
syscons_isa.c Use config's conditional compilation rather than using #ifdefs that make 2000-01-29 15:08:56 +00:00
vga_isa.c Use config's conditional compilation rather than using #ifdefs that make 2000-01-29 15:08:56 +00:00