From: Julia Lawall <[email protected]>

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 <[email protected]>

---
 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to