Incorrect struct onfi_params definition

Warner Losh imp at bsdimp.com
Wed Nov 6 21:56:55 UTC 2013


On Nov 6, 2013, at 1:28 PM, Kristof Provost wrote:

> Hi,
> 
> The definition of struct onfi_params in sys/dev/nand/nand.h is
> incorrect. The total structure size should be 256 bytes, but it's only
> 176 bytes.
> 
> That's because the vendor_spec array was declared as being 8 bytes,
> rather than the 88 bytes it should be. Clearly a typo.
> 
> This patch should fix it:
> 
> diff --git a/sys/dev/nand/nand.h b/sys/dev/nand/nand.h
> index 0d6d7b4..46b6993 100644
> --- a/sys/dev/nand/nand.h
> +++ b/sys/dev/nand/nand.h
> @@ -217,7 +217,7 @@ struct onfi_params {
>        uint8_t         driver_strength_support;
>        uint8_t         res4[12];
>        uint16_t        vendor_rev;
> -       uint8_t         vendor_spec[8];
> +       uint8_t         vendor_spec[88];
>        uint16_t        crc;
> }__attribute__((packed));
> 

I'd add a CT_ASSERT sizeof(onfi_params) == 256 too.

Warner

> Regards,
> Kristof
> _______________________________________________
> freebsd-embedded at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-embedded
> To unsubscribe, send any mail to "freebsd-embedded-unsubscribe at freebsd.org"



More information about the freebsd-embedded mailing list