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;
|
int rc;
|
||||||
|
|
||||||
probe_ent = malloc(sizeof(struct ahci_probe_ent));
|
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));
|
memset(probe_ent, 0, sizeof(struct ahci_probe_ent));
|
||||||
probe_ent->dev = pdev;
|
probe_ent->dev = pdev;
|
||||||
|
|
||||||
|
@ -503,7 +508,7 @@ static int ahci_port_start(u8 port)
|
||||||
mem = (u32) malloc(AHCI_PORT_PRIV_DMA_SZ + 2048);
|
mem = (u32) malloc(AHCI_PORT_PRIV_DMA_SZ + 2048);
|
||||||
if (!mem) {
|
if (!mem) {
|
||||||
free(pp);
|
free(pp);
|
||||||
printf("No mem for table!\n");
|
printf("%s: No mem for table!\n", __func__);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -638,8 +643,10 @@ static int ata_scsiop_inquiry(ccb *pccb)
|
||||||
/* Read id from sata */
|
/* Read id from sata */
|
||||||
port = pccb->target;
|
port = pccb->target;
|
||||||
tmpid = malloc(ATA_ID_WORDS * 2);
|
tmpid = malloc(ATA_ID_WORDS * 2);
|
||||||
if (!tmpid)
|
if (!tmpid) {
|
||||||
|
printf("%s: No memory for tmpid\n", __func__);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
if (ahci_device_data_io(port, (u8 *) &fis, sizeof(fis), (u8 *)tmpid,
|
if (ahci_device_data_io(port, (u8 *) &fis, sizeof(fis), (u8 *)tmpid,
|
||||||
ATA_ID_WORDS * 2, 0)) {
|
ATA_ID_WORDS * 2, 0)) {
|
||||||
|
@ -889,6 +896,11 @@ int ahci_init(u32 base)
|
||||||
u32 linkmap;
|
u32 linkmap;
|
||||||
|
|
||||||
probe_ent = malloc(sizeof(struct ahci_probe_ent));
|
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));
|
memset(probe_ent, 0, sizeof(struct ahci_probe_ent));
|
||||||
|
|
||||||
probe_ent->host_flags = ATA_FLAG_SATA
|
probe_ent->host_flags = ATA_FLAG_SATA
|
||||||
|
|
Loading…
Reference in New Issue