
On 11/11/2013 03:56 PM, Tom Rini wrote:
On Mon, Nov 11, 2013 at 03:31:16PM +0200, Roger Quadros wrote:
Align the ATA ID buffer to the cache-line boundary. This gets rid of the below error mesages on ARM v7 platforms.
scanning bus for devices... ERROR: v7_dcache_inval_range - start address is not aligned - 0xfee48618 ERROR: v7_dcache_inval_range - stop address is not aligned - 0xfee48818
CC: Aneesh V aneesh@ti.com Signed-off-by: Roger Quadros rogerq@ti.com
drivers/block/ahci.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c index e24d634..e64df4f 100644 --- a/drivers/block/ahci.c +++ b/drivers/block/ahci.c @@ -623,7 +623,7 @@ static int ata_scsiop_inquiry(ccb *pccb) 95 - 4, }; u8 fis[20];
- u16 *tmpid;
- ALLOC_CACHE_ALIGN_BUFFER(u16, tmpid, ATA_ID_WORDS);
[snip]
tmpid = malloc(ATA_ID_WORDS * 2);
if (!tmpid) {
printf("%s: No memory for tmpid\n", __func__);
return -ENOMEM;
}
if (ahci_device_data_io(port, (u8 *) &fis, sizeof(fis), (u8 *)tmpid, ATA_ID_WORDS * 2, 0)) {
We should be calling ALLOC_CACHE_ALIGN_BUFFER with ATA_ID_WORDS * 2, right?
No, as is u16.
cheers, -roger