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 kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html