Hi Gustavo!

Your changes and the original code do not appear to be functionally
equivalent.

> @@ -1235,8 +1235,8 @@ static int aac_read_raw_io(struct fib * fib, struct 
> scsi_cmnd * cmd, u64 lba, u3
>               if (ret < 0)
>                       return ret;
>               command = ContainerRawIo2;
> -             fibsize = sizeof(struct aac_raw_io2) +
> -                     ((le32_to_cpu(readcmd2->sgeCnt)-1) * sizeof(struct 
> sge_ieee1212));
> +             fibsize = struct_size(readcmd2, sge,
> +                                  le32_to_cpu(readcmd2->sgeCnt));

The old code allocated sgeCnt-1 elements (whether that was a mistake or
not I do not know) whereas the new code would send a larger fib to the
ASIC. I don't have any aacraid adapters and I am hesitant to merging
changes that have not been validated on real hardware.

-- 
Martin K. Petersen      Oracle Linux Engineering

Reply via email to