freebsd-nq/sys/dev
Joerg Wunsch 31f639ecdf Back out the hack from rev 1.13 that was done to initiate a bus rescan
at insert time.  When asking gibbs for approval for an MFC, this was
his reply:

1) It leaks memory if it can't allocate a path.

2) It defers allocation of aic->path until the call to scan the
   bus.  This means the path may be NULL when an interrupt occurs
   prior to the call to scan the bus (stray bus reset for instance),
   which will lead to a panic.

3) The driver in current doesn't recover from the failure to allocate
   aic->path.  The driver doesn't check during normal operation if
   the path is NULL, so again a panic will result.

4) aic_cam_rescan calls malloc with M_WAITOK.  aic_cam_rescan is called
   from attach where it isn't necessarily safe to sleep.

5) And most importantly, it co-opts the xpt_periph from the driver level.
   This was never part of the design (xpt_periph used to be static).  Making
   a call of this type may completely confuse the XPT if other XPT operations
   are ongoing.

In the long term, Justin and Warner agreed to implement solution where
CAM itself will initiate the bus rescan if a new bus is added.  For
the time being (and in particular in light of the upcoming 4.5
release), we now have camcontrol available on the boot floppy, and can
have pccardd initiate the rescan through it.
2002-01-17 20:34:58 +00:00
..
aac Replace ffind_* with fget calls. 2002-01-14 00:13:45 +00:00
acpica find_devclass -> devclass_find. 2002-01-08 19:14:59 +00:00
advansys
agp Allow retrieval of the virtual address of the AGP aperture 2001-12-19 08:54:29 +00:00
aha
ahb
aic Back out the hack from rev 1.13 that was done to initiate a bus rescan 2002-01-17 20:34:58 +00:00
aic7xxx Remove reliance on i++ in multiple arguments to a function. C does not 2001-12-16 17:38:30 +00:00
amd
amr Staticise the amr devclass. 2002-01-08 06:47:02 +00:00
an Staticise the flash buffer, since it isn't needed anywhere else. 2002-01-08 10:25:12 +00:00
ar
asr Convert C++ style comments to proper C ones. 2001-12-13 23:48:34 +00:00
ata Update of the VIA 82c686b southbridge data corruption fix, also 2002-01-01 19:58:11 +00:00
atkbdc Add another PS2 PNP id. 2001-12-19 13:32:21 +00:00
awi Add NEWCARD support to awi. 2001-11-19 06:42:11 +00:00
bge Fix warnings: the bge_bpd_read*() functions are not used (#ifdef notdef) 2001-12-18 08:03:25 +00:00
bktr Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
buslogic Use ANSI C string contatenation instead of a multi-line string literal. 2001-12-13 11:14:28 +00:00
cardbus Add support for suspending/resuming CardBus bridges. 2001-12-15 05:58:28 +00:00
ccd Reduce kernel stack usage of ccdinit() by MAXPATHLEN by using MALLOC(9). 2001-12-30 17:34:19 +00:00
ciss Fix warning; line 1640: ciss_abort_request defined but not used. 2001-12-18 08:01:48 +00:00
cm - generic Arcnet framework 2002-01-08 20:03:13 +00:00
cnw
cs
ct
cy Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
dc Forgot one part of the VLAN support for the dc(4) driver. 2002-01-16 21:34:11 +00:00
de
dec
dgb
digi Staticise the con_bios and digi_devclass variables, since they aren't needed 2002-01-08 10:24:34 +00:00
dpt Fix a couple of bogus enums. 2002-01-08 06:47:55 +00:00
ed Patch to allow the ed driver interrupt routine to terminate if the 2001-11-24 16:15:18 +00:00
eisa
em -Remove unneeded include stddef.h 2001-12-20 17:55:49 +00:00
en
ep
ex
fb Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
fdc Change the test for _MACHINE_ARCH == i386 into #ifdef __i386__ since it 2001-12-18 22:16:33 +00:00
fe
fxp Explicitly reload the multicast filters when the hardware is reinitialized 2002-01-07 15:08:54 +00:00
gfb
gx Don't pass an interface pointer to VLAN_INPUT{,_TAG}. Get it from the 2001-12-03 17:28:27 +00:00
hea
hfa
ic Oops, forgot to commit one file in the fd driver mega update. Here it 2001-12-16 07:52:13 +00:00
ichsmb Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
ida
ie
iicbus Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
isp Add missing move of relative offset for CTIO2 updates. 2002-01-11 23:48:25 +00:00
ispfw Roll firmware to latest offerings... Fixes a number of f/w related 2001-12-13 00:09:06 +00:00
joy Revert change that breaks the joy module. joydevclass must not be static. 2002-01-08 18:27:49 +00:00
kbd
lge
lmc
lnc
mc146818
mca
mcd
md Actually make use of the md_version field of 'struct mdio'. In order 2001-12-20 06:38:21 +00:00
mii Fix reversed definitions for the bits that select half vs. full duplex. 2002-01-10 18:06:41 +00:00
mlx Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
mly Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
mse
musycc
ncv Staticise a couple of debugging variables. 2002-01-08 19:37:12 +00:00
nge Don't pass an interface pointer to VLAN_INPUT{,_TAG}. Get it from the 2001-12-03 17:28:27 +00:00
nmdm
nsp o Add KLD support for scsi_low. 2001-12-15 12:32:23 +00:00
null
ofw Move the make_dev call from the cn_probe to a sysinit that runs at 2002-01-09 04:03:55 +00:00
pccard Regenerate from 1.26 pccarddevs 2002-01-08 20:52:57 +00:00
pccbb better namespsace of static functions 2002-01-15 20:41:39 +00:00
pcf Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
pci Make PCI_ALLOW_UNSUPPORTED_IO_RANGE an option until the ISA address 2002-01-15 06:46:59 +00:00
pcic Fix missing comma in previous commit. 2001-12-28 23:51:48 +00:00
pdq
ppbus Make this driver a better citizen by moving dev creation and 2001-12-19 19:37:31 +00:00
ppc Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
random Staticise the random_state array. 2002-01-10 00:09:21 +00:00
ray Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
rc Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
rp
sbni Rename a variable that might accidentally be duplicated elsewhere. 2002-01-08 19:36:54 +00:00
scd
sf Remove printf's on mbuf/cluster allocation failures. There are now 2001-12-14 05:56:35 +00:00
si
sio Cosmetic fix: Not every machine that uses the sio driver has a BIOS. 2002-01-17 20:05:47 +00:00
sk Remove printf's on mbuf/cluster allocation failures. There are now 2001-12-14 05:56:35 +00:00
smbus
sn
snc
snp Check the return value of tsleep() in snpread(). This may be 2001-11-24 15:59:46 +00:00
sound Add the system default timer engine. 2002-01-04 01:16:18 +00:00
speaker
sr
stg Staticise a couple of debugging variables. 2002-01-08 19:37:12 +00:00
streams SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
sym Comment tokens after #undef <macroname> and #endif. 2001-12-13 11:12:30 +00:00
syscons In the word selection mode don't append newline if the word ends at the 2002-01-05 16:52:44 +00:00
tdfx Replace ffind_* with fget calls. 2002-01-14 00:13:45 +00:00
tga
ti Remove printf's on mbuf/cluster allocation failures. There are now 2001-12-14 05:56:35 +00:00
twe Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
tx
txp Don't pass an interface pointer to VLAN_INPUT{,_TAG}. Get it from the 2001-12-03 17:28:27 +00:00
usb Staticise a couple of things that shouldn't be leaked into the 2002-01-08 10:32:33 +00:00
vinum
vr Remove printf's on mbuf/cluster allocation failures. There are now 2001-12-14 05:56:35 +00:00
vx
wds
wi put function return types on a line by themselves as per style(9) 2001-12-27 20:12:03 +00:00
wl
xe