Re: [PATCH] block: add abort on failure

From: Julia Lawall
Date: Fri Aug 08 2014 - 05:31:34 EST


On Fri, 8 Aug 2014, Julia Lawall wrote:

> 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.

Note that this is not tested. Nevertheless, at least the first failure
will leave card in an unknown partially initialized state, which seems
undesirable.

julia


> 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
>
--
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/