> -----Original Message-----
> From: Dan Carpenter [mailto:[email protected]]
> Sent: Monday, October 08, 2012 12:13 AM
> To: Sam Bradshaw (sbradshaw)
> Cc: Jens Axboe; [email protected]
> Subject: re: block: Add driver for Micron RealSSD pcie flash cards
> 
> Hello Sam Bradshaw,
> 
> The patch 88523a61558a: "block: Add driver for Micron RealSSD pcie
> flash cards" from Aug 30, 2011, creates an endian bug:
> drivers/block/mtip32xx/mtip32xx.c:2468 mtip_hw_submit_io()
> 
> drivers/block/mtip32xx/mtip32xx.c
>   2465          fis->opts        = 1 << 7;
>   2466          fis->command     =
>   2467                  (dir == READ ? ATA_CMD_FPDMA_READ : 
> ATA_CMD_FPDMA_WRITE);
>   2468          *((unsigned int *) &fis->lba_low) = (start & 0xFFFFFF);
>                                     ^^^^^^^^^^^^
>   2469          *((unsigned int *) &fis->lba_low_ex) = ((start >> 24) & 
> 0xFFFFFF);
>                                     ^^^^^^^^^^^^^^^
> 
> These addresses point to a series of four unions inside the
> host_to_dev_fis struct.  The unions will be set to different values
> depending on if the CPU is big or little endian.
> 
> If you knew which endianness this works on, then you could probably add
> a cpu_to_be32() or cpu_to_le32().

Thanks for the notification; we'll get a patch out asap.

-Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to