Re: [PATCH] block: add abort on failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux