freebsd-nq/sys/dev
Justin T. Gibbs 70351c9a14 Store a pointer to our softc in the kernel's SCB structure. In the
past we stored this data in the CCB and attained the CCB via a pointer
in the SCB.  In ahc_timeout(), however, the timedout SCB may have already
been completed (inherent race), meaning that the CCB could have been recycled,
and the ahc pointer reset.

Clean up the logic in ahc_search_qinfifo that deals with the busy device
table.  For some reason it assumed that the only valid time to search
to see if additional lun entries should be checked was if lun 0 matched.
Now we properly itterate through the necessary luns.  The busy device
table is used to detect invalid reselections, so a device would have had
to perform an unexpected reselection for this to cause problems.  Further,
all luns are collapsed to a single entry unless we have external ram
with large SCBs (3940AU models) so the chance of this happening was
rather remote.

Clean up the logic for dealing with the untagged queues.  We now set a
flag in the SCB that indicates that it is on the untagged queue instead
of inferring this from the type and setup of the CCB pased into us by
CAM.

In ahc_timeout(), don't print the path of the SCB until the controller
is paused and we are sure that it has not completed yet.  This, in
conjunction with referencing the ahc pointer in the SCB rather than
the CCB in the SCB avoids panics in the case of a timedout scb completing
just before the timeout handler runs.  This turns out to be guaranteed
if interrupt delivery is failing, as we run our interrupt handler to
flush any "just missed events" when a timeout occurs.  Mention the
likelyhood of broken interrupts if a timedout SCB is completed by
our call to ahc_intr().
2000-10-11 23:46:34 +00:00
..
aac Fix up some more comments that were reversed. 2000-10-03 10:26:29 +00:00
acpi Fix StallOp implementaion. I've noticed that StallOp corresponds to 2000-10-02 08:58:50 +00:00
advansys
agp Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
aha
ahb Fix typo (accessable --> accessible). 2000-06-14 17:53:40 +00:00
aic remove 5 unnecessary includes, per phk's script 2000-09-20 19:34:17 +00:00
aic7xxx Store a pointer to our softc in the kernel's SCB structure. In the 2000-10-11 23:46:34 +00:00
amd
amr Whoops. The AMR_QUARTZ_GOFASTER option is meant to disable, not enable 2000-09-11 23:19:13 +00:00
an
ar
asr Fix a race in ASR_ccbAdd and ASR_ccbRemove, which were both manipulating 2000-09-21 20:21:30 +00:00
ata - Heavyweight interrupt threads on the alpha for device I/O interrupts. 2000-10-05 23:09:57 +00:00
atkbdc Initiate deorbit burn sequence for <machine/mouse.h>. 2000-10-09 08:08:36 +00:00
awi awi needs to access memory with 8bit, 2000-10-10 09:50:25 +00:00
bktr Make MOD_UNLOAD return EBUSY to prevent it being unloaded automatically when we 2000-09-11 12:23:50 +00:00
buslogic
cardbus
ccd Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
cs
cy Use schedsofttty() again (SMPng casualty with intentionally wrong fix 2000-10-08 14:37:39 +00:00
dc Add support for parsing the media blocks from the SROM on 21143 2000-10-05 17:36:14 +00:00
de
dec
dgb
dpt Allow the DPT pci attachment to share IRQ's 2000-08-26 22:19:53 +00:00
ed Allocate memory resource to access the attribute memory of a card. 2000-09-25 06:01:42 +00:00
eisa
en
ep Remove 7 unnecessary includes frmo phk's script 2000-09-20 19:31:37 +00:00
ex Add support for pccard attachments of the ex driver. It supports the 2000-09-29 03:58:06 +00:00
fb * Completely rewrite the alpha busspace to hide the implementation from 2000-08-28 21:48:13 +00:00
fdc Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
fe Removed unneeded include files. 2000-09-22 09:59:23 +00:00
fxp Don't #include <sys/proc.h>, since machine/mutex.h does it now. 2000-09-23 00:01:37 +00:00
hea
hfa
ic
ichsmb Driver for the Intel 82801AA (ICH) SMBus controller and compatibles. 2000-10-06 00:09:46 +00:00
ida
ie
iicbus
isp some copyright cleanups 2000-09-21 20:16:04 +00:00
ispfw some copyright cleanups 2000-09-21 20:16:04 +00:00
joy
kbd Initiate deorbit burn sequence for <machine/console.h>. 2000-10-08 21:34:00 +00:00
lmc
lnc
mc146818
mca
mcd
md Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
mii Add support for parsing the media blocks from the SROM on 21143 2000-10-05 17:36:14 +00:00
mlx
mly
mse Initiate deorbit burn sequence for <machine/mouse.h>. 2000-10-09 08:08:36 +00:00
musycc Many and sundry changes. Still alpha quality. 2000-08-29 12:32:01 +00:00
null During a verbose boot, call the null device 'null' rather than 'null0' to 2000-10-06 00:46:29 +00:00
pccard o Record the pccard_function in the ivar. 2000-10-09 03:40:15 +00:00
pcf
pci Validate the PCI bus number that we fetch from our parent, since there's no 2000-10-09 00:43:45 +00:00
pcic Fix arguments to kthread_create (submitted by takawata@freebsd.org). 2000-10-07 05:42:43 +00:00
pdq
ppbus A quote from the ia64 compiler: 2000-10-10 14:18:50 +00:00
ppc
random Remove unneeded includes. 2000-09-21 06:23:16 +00:00
randomdev Remove unneeded includes. 2000-09-21 06:23:16 +00:00
ray
rc Made this file compile again after move of stuff from <machine.ipl.h> 2000-10-08 14:41:13 +00:00
rp
scd
sf
si
sio Add MAE0021 - Jetstream Int V.90 56k Voice Series 2. 2000-10-10 10:06:26 +00:00
sk
smbus Driver for the Intel 82801AA (ICH) SMBus controller and compatibles. 2000-10-06 00:09:46 +00:00
sn Implement sn_pccard_match. The match routines are the compromise 2000-09-28 07:35:06 +00:00
snc Don't use bus_get_resource() and bus_get_resource_start() functions if 2000-10-03 11:47:34 +00:00
snp
sound Reduce buffer size from 64K to 4K. 2000-10-09 14:54:32 +00:00
speaker
sr
streams Cleanup after repo copy of sys/svr4 to sys/compat/svr4. 2000-09-01 08:47:14 +00:00
sym PR: kern/20895 2000-09-03 12:36:21 +00:00
syscons Initiate deorbit burn sequence for <machine/mouse.h>. 2000-10-09 08:08:36 +00:00
tdfx Added some handling code to work with SLI configs, and removed some unused 2000-10-10 03:51:54 +00:00
ti * Completely rewrite the alpha busspace to hide the implementation from 2000-08-28 21:48:13 +00:00
twe
tx
usb Add missing comma at the end of line. 2000-10-11 01:12:55 +00:00
vinum
vn Call make_dev() with the correct minor number. 2000-09-26 19:09:44 +00:00
vr
vx
wi Close PR #20963. Do not pass encryption keys back to the caller via 2000-09-07 17:05:12 +00:00
wl
xe