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
This commit is contained in:
parent
2d11776afc
commit
ae058e4be5
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user