freebsd-dev/sys
Bill Paul 6998849dc4 Do not attempt to load the firmware a second time. If you reboot your
machine but leave your KLSI adapter plugged into your USB port, it
may stay powered on and retain its firmware in memory. Trying to load
the firmware again in this case will wedge the chip. Try to detect this
in the kue_load_fw() routine and bail if the firmware is already
loaded and running.

Also, in the probe/match routine, force the revision code to the
hardware default and force a rescan of the quirk database. This is
necessary because the adapter will return a different revision code
if the firmware has been loaded. Without the firmware, the revision
code is 0x002. With the firmware, the revision code is 0x202. This
confuses the quirk mechanism, which won't match a quirk to a device
unless the revision code agrees with the quirk table entry.

This makes probe/attach of these devices somewhat more reliable.

Also add a few comments about the device's operation.
2000-01-05 17:13:50 +00:00
..
alpha Add device driver support for USB ethernet adapters based on the 2000-01-05 04:27:24 +00:00
amd64 Add device driver support for USB ethernet adapters based on the 2000-01-05 04:27:24 +00:00
boot Add device driver support for USB ethernet adapters based on the 2000-01-05 04:27:24 +00:00
cam Widen width of tag && initiator ids to u_int 2000-01-03 08:54:51 +00:00
coda Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
compat Need to #include vm_zone.h to pick up inline definition of zfree() so that 2000-01-03 20:34:39 +00:00
compile
conf Add device driver support for USB ethernet adapters based on the 2000-01-05 04:27:24 +00:00
contrib Garbage collect oltr_pci_shutdown 1999-12-21 08:21:36 +00:00
crypto Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
ddb Remove unused macro definition. 1999-11-02 22:40:15 +00:00
dev Do not attempt to load the firmware a second time. If you reboot your 2000-01-05 17:13:50 +00:00
fs Return ENXIO if there is no device. 2000-01-02 15:16:17 +00:00
geom Remove unused variable 1999-12-21 08:20:36 +00:00
gnu Don't allow mounting (or mounting R/W) of filesystems with unsupported 2000-01-02 17:40:02 +00:00
i4b update to isdn4bsd beta release 0.90 1999-12-14 20:54:38 +00:00
i386 Add device driver support for USB ethernet adapters based on the 2000-01-05 04:27:24 +00:00
isa Patch up some of the evilness left over from the early newbus porting. 2000-01-05 16:31:27 +00:00
isofs/cd9660 Return ENXIO if there is no device. 2000-01-02 15:16:17 +00:00
kern Enhance reassignbuf(). When a buffer cannot be time-optimally inserted 2000-01-05 05:11:37 +00:00
libkern Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
miscfs Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
modules Add device driver support for USB ethernet adapters based on the 2000-01-05 04:27:24 +00:00
msdosfs Fix the mess with signed/unsigned longs and ints (inspired by bde). 2000-01-02 03:30:42 +00:00
net Prevent kernel panic at ifconfig up after Note PC resume. 1999-12-30 18:29:55 +00:00
netatalk Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
netatm Fix a warning (unused variable RCSid) 1999-11-18 08:18:13 +00:00
netgraph Fix race condition caused by missing splnet()'s. 2000-01-04 22:06:08 +00:00
netinet KERNEL -> _KERNEL 2000-01-05 16:25:20 +00:00
netinet6 prevent kernel panic at suspend/resume. 2000-01-03 17:29:16 +00:00
netipx Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
netkey Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
netnatm Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
netncp Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
netns Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
nfs Enhance reassignbuf(). When a buffer cannot be time-optimally inserted 2000-01-05 05:11:37 +00:00
nfsclient Enhance reassignbuf(). When a buffer cannot be time-optimally inserted 2000-01-05 05:11:37 +00:00
nfsserver Enhance reassignbuf(). When a buffer cannot be time-optimally inserted 2000-01-05 05:11:37 +00:00
ntfs Second pass commit to introduce new ACL and Extended Attribute system 1999-12-19 06:08:07 +00:00
nwfs Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
pc98 Synced with sys/i386/isa/clock.c rev 1.149. 2000-01-05 12:35:03 +00:00
pccard Fill in the blanks for some of the Texas Instruments cardbus controllers. 1999-12-31 07:22:24 +00:00
pci Zap pci_map_dense() and pci_map_bwx() - they were for compatability but 2000-01-05 16:40:10 +00:00
posix4 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
powerpc untangle some includes and clean up for compilation cleanliness. 2000-01-03 09:36:55 +00:00
rpc $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
svr4 Need to #include vm_zone.h to pick up inline definition of zfree() so that 2000-01-03 20:34:39 +00:00
sys Remove the unused 'func' arguments to the deregistration functions. 2000-01-05 01:09:34 +00:00
tools Use a seperate -c and -h mode. The vnode_if.c file is compiled only into 1999-12-12 16:43:05 +00:00
ufs Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
vm Use MAP_NOSYNC for vnodes without any links in their filesystem. 2000-01-03 19:13:53 +00:00
Makefile ${MACHINE} -> ${MACHINE_ARCH} 1999-11-14 13:54:44 +00:00