freebsd-src/sys
Doug Ambrisko 5be25877a1 Add in a couple of things:
-	In the ioctl path let command get queued up and return
	when complete _without_ blocking the driving waiting for
	the response.  This way the driver doesn't "lock up" for
	~30s during a flash command.  Submitted by scottl.
      -	Add a guard so that if a DCMD of 0 is sent down the ioctl
	path don't send it to the controller.  Return with a
	status of OK.  This is a little strange since MegaCli
	doesn't seem to like something and will issue some DCMD
	of 0.  This doesn't happen under Linux.  So the emulation
	needs to be improved but I'm not sure what.  Another strange
	thing is that when a DCMD of 0 gets issued under i386 the
	controller returns OK but in amd64 the context is messed
	up.
      -	Add a guard so the context has to be with-in the legal
	limit so we get a reasonable error assertion versus random
	panic.

It's going to be a challenge to figure out why MegaCli is not totally
happy and then sends some bogus commands.  This means that flashing
firmware via the Linux tool won't work since it generates a DCMD of
0 when it should be opening the firmware for a flash update.  Without
this problem flashing works fine.  This means there is no publicly
available tool to upgrade the RAID firmware under FreeBSD right now.

I plan to MFC all of the mfi changes to 6.X shortly.  This might not
include the SCSI pass-through changes.

Submitted by:	scottl
Reviewed by:	scottl
MFC after:	3 days
2007-06-04 16:39:22 +00:00
..
amd64 Add the machine-specific definitions for configuring the new physical 2007-06-03 23:18:29 +00:00
arm Add the machine-specific definitions for configuring the new physical 2007-06-04 08:02:22 +00:00
boot MFp4: add FireWire/dcons support in loader for i386/amd64. 2007-05-29 14:35:57 +00:00
bsm Change $P4$ ID strings to P4 ID strings so that they are not auto-expanded 2007-04-17 12:27:08 +00:00
cam Add a placeholder document to be filled out by Nate which will describe 2007-05-29 20:07:22 +00:00
cddl Reimplement traverse() helper function: 2007-06-04 11:31:46 +00:00
coda Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
compat Reimplement traverse() helper function: 2007-06-04 11:31:46 +00:00
conf Remove definition of the GCC3 variable. It was introduced in rev. 2007-06-02 21:30:39 +00:00
contrib Reimplement traverse() helper function: 2007-06-04 11:31:46 +00:00
crypto Integrate the Camellia Block Cipher. For more information see RFC 4132 2007-05-09 19:37:02 +00:00
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev Add in a couple of things: 2007-06-04 16:39:22 +00:00
fs Revert previous, part of NFS that I didn't know about. 2007-06-01 17:06:46 +00:00
gdb
geom Fix a dereference in KASSERT. 2007-05-15 23:29:57 +00:00
gnu Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation 2007-06-01 14:33:11 +00:00
i4b Tell the user when the setup of the interrupt handler failed and return 2007-04-01 16:52:54 +00:00
i386 Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
ia64 Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
isa When trying to allocate a PnP BIOS memory resource, the code loops trying 2007-04-17 15:14:23 +00:00
kern Revert some debugging KTRs that were added during development. 2007-06-03 18:24:31 +00:00
libkern strchr() and strrchr() are already present in the kernel, but with less 2007-04-10 21:42:12 +00:00
modules Fix a breakage with "MODULES_WITH_WORLD=true make buildworld". 2007-06-01 00:23:34 +00:00
net Remove a KASSERT intended to help the developer, the condition is no longer 2007-05-30 19:39:55 +00:00
net80211 - Nuke unnecessary header. 2007-05-05 11:07:52 +00:00
netatalk Reduce network stack oddness: implement .pru_sockaddr and .pru_peeraddr 2007-05-11 10:20:51 +00:00
netatm Fix use after free bug: use temporary variable to hold next entry in linked 2007-04-03 12:45:10 +00:00
netgraph No need to update link queue stats when round-robin algorithm enabled. 2007-06-04 13:50:09 +00:00
netinet - fix initial pcb vrf setting when the initial vrf is not the 2007-06-02 11:05:08 +00:00
netinet6 cleanup about the reassembly structures and routine: 2007-06-04 06:06:35 +00:00
netipsec In ipsec6_output_tunnel() make sure that the SA contents do not change. 2007-05-29 22:44:24 +00:00
netipx Use ANSI C function declarations throughout netipx. 2007-05-11 10:38:34 +00:00
netkey
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp In ncp_conn_alloc(), a new credential pointer, 'owner', is set up to point 2007-05-27 17:14:33 +00:00
netsmb Replace custom file descriptor array sleep lock constructed using a mutex 2007-04-04 09:11:34 +00:00
nfs NFSv4 client: 2006-11-28 19:33:28 +00:00
nfs4client - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
nfsclient - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
nfsserver Remove MAC Framework access control check entry points made redundant with 2007-04-22 15:31:22 +00:00
opencrypto Integrate the Camellia Block Cipher. For more information see RFC 4132 2007-05-09 19:37:02 +00:00
pc98 Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
pccard
pci Where I previously removed calls to kdb_enter(), now remove include of 2007-05-29 11:28:28 +00:00
powerpc Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
rpc Move rpc/types.h under sys/, as this is used by ZFS kernel module. 2007-04-10 22:10:16 +00:00
security Clean up audit comments--formatting, spelling, etc. 2007-06-01 21:58:59 +00:00
sparc64 Add the machine-specific definitions for configuring the new physical 2007-06-04 02:32:07 +00:00
sun4v Add the machine-specific definitions for configuring the new physical 2007-06-03 23:33:11 +00:00
sys - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
tools Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
ufs Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation 2007-06-01 14:33:11 +00:00
vm - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
Makefile o Add bsm and security to a list of cscope dirs. 2007-04-14 16:29:15 +00:00