summaryrefslogtreecommitdiffstats
path: root/sys/dev/aac
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2008-03-20 20:33:48 +0000
committeremaste <emaste@FreeBSD.org>2008-03-20 20:33:48 +0000
commitae058e4be51a6ef3182441d44e7242df5b52d3a7 (patch)
tree04a342989de7114f60fc19e556d66cf3f66f2f6b /sys/dev/aac
parent2d11776afc7a2a29c7c08b84caa777391a53509c (diff)
downloadFreeBSD-src-ae058e4be51a6ef3182441d44e7242df5b52d3a7.zip
FreeBSD-src-ae058e4be51a6ef3182441d44e7242df5b52d3a7.tar.gz
Restore creation of passthrough devices with newer controller firmware by
putting the correct size in the fib header. Presumably the older firmware silently ignored a bad size field. (This change tested with a 3805 controller. Passthrough devices were created when running firmware build 12814, but not 15323 or later. With this change they're created for both old and new firmware versions.) Submitted by: Adaptec
Diffstat (limited to 'sys/dev/aac')
-rw-r--r--sys/dev/aac/aac.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/aac/aac.c b/sys/dev/aac/aac.c
index 816c53e..7c6bfef 100644
--- a/sys/dev/aac/aac.c
+++ b/sys/dev/aac/aac.c
@@ -2045,7 +2045,7 @@ aac_sync_fib(struct aac_softc *sc, u_int32_t command, u_int32_t xferstate,
fib->Header.XferState |= xferstate;
fib->Header.Command = command;
fib->Header.StructType = AAC_FIBTYPE_TFIB;
- fib->Header.Size = sizeof(struct aac_fib) + datasize;
+ fib->Header.Size = sizeof(struct aac_fib_header) + datasize;
fib->Header.SenderSize = sizeof(struct aac_fib);
fib->Header.SenderFibAddress = 0; /* Not needed */
fib->Header.ReceiverFibAddress = sc->aac_common_busaddr +
@@ -3579,7 +3579,7 @@ aac_get_bus_info(struct aac_softc *sc)
vmi->IoctlCmd = GetBusInfo;
error = aac_sync_fib(sc, ContainerCommand, 0, fib,
- sizeof(struct aac_vmioctl));
+ sizeof(struct aac_vmi_businf_resp));
if (error) {
device_printf(sc->aac_dev, "Error %d sending VMIoctl command\n",
error);
OpenPOWER on IntegriCloud