|
@@ -1739,12 +1739,14 @@ static int ps3_gelic_driver_probe(struct ps3_system_bus_device *dev)
|
|
|
GELIC_CARD_PORT_STATUS_CHANGED;
|
|
|
|
|
|
|
|
|
- if (gelic_card_init_chain(card, &card->tx_chain,
|
|
|
- card->descr, GELIC_NET_TX_DESCRIPTORS))
|
|
|
+ result = gelic_card_init_chain(card, &card->tx_chain,
|
|
|
+ card->descr, GELIC_NET_TX_DESCRIPTORS);
|
|
|
+ if (result)
|
|
|
goto fail_alloc_tx;
|
|
|
- if (gelic_card_init_chain(card, &card->rx_chain,
|
|
|
- card->descr + GELIC_NET_TX_DESCRIPTORS,
|
|
|
- GELIC_NET_RX_DESCRIPTORS))
|
|
|
+ result = gelic_card_init_chain(card, &card->rx_chain,
|
|
|
+ card->descr + GELIC_NET_TX_DESCRIPTORS,
|
|
|
+ GELIC_NET_RX_DESCRIPTORS);
|
|
|
+ if (result)
|
|
|
goto fail_alloc_rx;
|
|
|
|
|
|
/* head of chain */
|
|
@@ -1754,7 +1756,8 @@ static int ps3_gelic_driver_probe(struct ps3_system_bus_device *dev)
|
|
|
card->rx_top, card->tx_top, sizeof(struct gelic_descr),
|
|
|
GELIC_NET_RX_DESCRIPTORS);
|
|
|
/* allocate rx skbs */
|
|
|
- if (gelic_card_alloc_rx_skbs(card))
|
|
|
+ result = gelic_card_alloc_rx_skbs(card);
|
|
|
+ if (result)
|
|
|
goto fail_alloc_skbs;
|
|
|
|
|
|
spin_lock_init(&card->tx_lock);
|
|
@@ -1772,7 +1775,8 @@ static int ps3_gelic_driver_probe(struct ps3_system_bus_device *dev)
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_GELIC_WIRELESS
|
|
|
- if (gelic_wl_driver_probe(card)) {
|
|
|
+ result = gelic_wl_driver_probe(card);
|
|
|
+ if (result) {
|
|
|
dev_dbg(&dev->core, "%s: WL init failed\n", __func__);
|
|
|
goto fail_setup_netdev;
|
|
|
}
|