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 <ane...@ti.com>
> Signed-off-by: Roger Quadros <rog...@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?

-- 
Tom

Attachment: signature.asc
Description: Digital signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to