diff options
author | Roger Quadros <rogerq@ti.com> | 2013-11-11 16:56:38 +0200 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-12-04 08:12:08 -0500 |
commit | 2faf5fb82ed6f3df07635cddca0a2a54e3ef74ef (patch) | |
tree | fb1cfca52da716b2831b87948d5f427afb7e7a1f /drivers | |
parent | d73763a4fbc741b3faee43d0a668dd220a81d772 (diff) |
ahci: Fix cache align error messages
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/block/ahci.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c index e24d634425..e64df4f98d 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); u8 port; /* Clean ccb data buffer */ @@ -642,16 +642,10 @@ static int ata_scsiop_inquiry(ccb *pccb) /* Read id from sata */ port = pccb->target; - 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)) { debug("scsi_ahci: SCSI inquiry command failure.\n"); - free(tmpid); return -EIO; } |