|
@@ -1174,8 +1174,10 @@ static int __devinit au1000_probe(struct platform_device *pdev)
|
|
|
snprintf(aup->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
|
|
|
pdev->name, aup->mac_id);
|
|
|
aup->mii_bus->irq = kmalloc(sizeof(int)*PHY_MAX_ADDR, GFP_KERNEL);
|
|
|
- if (aup->mii_bus->irq == NULL)
|
|
|
+ if (aup->mii_bus->irq == NULL) {
|
|
|
+ err = -ENOMEM;
|
|
|
goto err_out;
|
|
|
+ }
|
|
|
|
|
|
for (i = 0; i < PHY_MAX_ADDR; ++i)
|
|
|
aup->mii_bus->irq[i] = PHY_POLL;
|
|
@@ -1190,7 +1192,8 @@ static int __devinit au1000_probe(struct platform_device *pdev)
|
|
|
goto err_mdiobus_reg;
|
|
|
}
|
|
|
|
|
|
- if (au1000_mii_probe(dev) != 0)
|
|
|
+ err = au1000_mii_probe(dev);
|
|
|
+ if (err != 0)
|
|
|
goto err_out;
|
|
|
|
|
|
pDBfree = NULL;
|
|
@@ -1205,6 +1208,7 @@ static int __devinit au1000_probe(struct platform_device *pdev)
|
|
|
}
|
|
|
aup->pDBfree = pDBfree;
|
|
|
|
|
|
+ err = -ENODEV;
|
|
|
for (i = 0; i < NUM_RX_DMA; i++) {
|
|
|
pDB = au1000_GetFreeDB(aup);
|
|
|
if (!pDB)
|
|
@@ -1213,6 +1217,8 @@ static int __devinit au1000_probe(struct platform_device *pdev)
|
|
|
aup->rx_dma_ring[i]->buff_stat = (unsigned)pDB->dma_addr;
|
|
|
aup->rx_db_inuse[i] = pDB;
|
|
|
}
|
|
|
+
|
|
|
+ err = -ENODEV;
|
|
|
for (i = 0; i < NUM_TX_DMA; i++) {
|
|
|
pDB = au1000_GetFreeDB(aup);
|
|
|
if (!pDB)
|