ahci: Error out with message on malloc() failure
If malloc() fails, we don't want to continue in ahci_init() and ahci_init_one(). Also print a more informative error message on malloc() failures. CC: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Roger Quadros <rogerq@ti.com>
This commit is contained in:
parent
54d022e76c
commit
d73763a4fb
@ -379,6 +379,11 @@ static int ahci_init_one(pci_dev_t pdev)
|
||||
int rc;
|
||||
|
||||
probe_ent = malloc(sizeof(struct ahci_probe_ent));
|
||||
if (!probe_ent) {
|
||||
printf("%s: No memory for probe_ent\n", __func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
memset(probe_ent, 0, sizeof(struct ahci_probe_ent));
|
||||
probe_ent->dev = pdev;
|
||||
|
||||
@ -503,7 +508,7 @@ static int ahci_port_start(u8 port)
|
||||
mem = (u32) malloc(AHCI_PORT_PRIV_DMA_SZ + 2048);
|
||||
if (!mem) {
|
||||
free(pp);
|
||||
printf("No mem for table!\n");
|
||||
printf("%s: No mem for table!\n", __func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
@ -638,8 +643,10 @@ static int ata_scsiop_inquiry(ccb *pccb)
|
||||
/* Read id from sata */
|
||||
port = pccb->target;
|
||||
tmpid = malloc(ATA_ID_WORDS * 2);
|
||||
if (!tmpid)
|
||||
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)) {
|
||||
@ -889,6 +896,11 @@ int ahci_init(u32 base)
|
||||
u32 linkmap;
|
||||
|
||||
probe_ent = malloc(sizeof(struct ahci_probe_ent));
|
||||
if (!probe_ent) {
|
||||
printf("%s: No memory for probe_ent\n", __func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
memset(probe_ent, 0, sizeof(struct ahci_probe_ent));
|
||||
|
||||
probe_ent->host_flags = ATA_FLAG_SATA
|
||||
|
Loading…
Reference in New Issue
Block a user