lkml.org 
[lkml]   [2012]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: block: Add driver for Micron RealSSD pcie flash cards
Date
> -----Original Message-----
> From: Dan Carpenter [mailto:dan.carpenter@oracle.com]
> Sent: Monday, October 08, 2012 12:13 AM
> To: Sam Bradshaw (sbradshaw)
> Cc: Jens Axboe; linux-kernel@vger.kernel.org
> 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


\
 
 \ /
  Last update: 2012-10-08 19:01    [W:0.044 / U:0.436 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site