In the case of a memory allocation error, the ahci_port_start() function
tries to free the `pp' pointer.
This pointer was not dynamically allocated but does in fact point to an
element of the port[] array member of the struct ahci_uc_priv.
Remove the erroneous call to free() to fix this.

Fixes: 4782ac80b02f ("Add AHCI support to u-boot")
Signed-off-by: Vincent Stehlé <vincent.ste...@arm.com>
Cc: Tom Rini <tr...@konsulko.com>
Cc: Jason Jin <jason....@freescale.com>
---
 drivers/ata/ahci.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 8058d5ff1c3..e593e228685 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -463,7 +463,6 @@ static int ahci_port_start(struct ahci_uc_priv *uc_priv, u8 
port)
 
        mem = memalign(2048, AHCI_PORT_PRIV_DMA_SZ);
        if (!mem) {
-               free(pp);
                printf("%s: No mem for table!\n", __func__);
                return -ENOMEM;
        }
-- 
2.47.2

Reply via email to