[PATCH] block: add abort on failure

From: Julia Lawall
Date: Fri Aug 08 2014 - 04:24:10 EST


From: Julia Lawall <Julia.Lawall@xxxxxxx>

Initializing card seems to be critical to the rest of the probe process, so
abort the probe function if the calls to rsxx_load_config and
rsxx_get_num_targets do not succeed.

Suggested by Jeff Moyer.

Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>

---
drivers/block/rsxx/core.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/block/rsxx/core.c b/drivers/block/rsxx/core.c
index a8de2ee..ae2805b 100644
--- a/drivers/block/rsxx/core.c
+++ b/drivers/block/rsxx/core.c
@@ -915,15 +915,19 @@ static int rsxx_pci_probe(struct pci_dev *dev,

/************* Load Card Config *************/
st = rsxx_load_config(card);
- if (st)
+ if (st) {
dev_err(CARD_TO_DEV(card),
"Failed loading card config\n");
+ goto failed_dma_setup;
+ }

/************* Setup DMA Engine *************/
st = rsxx_get_num_targets(card, &card->n_targets);
- if (st)
+ if (st) {
dev_info(CARD_TO_DEV(card),
"Failed reading the number of DMA targets\n");
+ goto failed_dma_setup;
+ }

card->ctrl = kzalloc(card->n_targets * sizeof(*card->ctrl), GFP_KERNEL);
if (!card->ctrl) {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/