[PATCH 2/2] staging: vme: fix bug in vme_register_bridge

Martyn Welch martyn.welch at ge.com
Wed Feb 23 09:44:42 UTC 2011


On 23/02/11 09:26, Manohar Vanga wrote:
> Fix a bug in vme_register_bridge that results in an infinite loop in
> the event that device_register fails.
> 

Good catch!

Acked-by: Martyn Welch <martyn.welch at ge.com>

> Signed-off-by: Manohar Vanga <manohar.vanga at cern.ch>
> ---
>  drivers/staging/vme/vme.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/staging/vme/vme.c b/drivers/staging/vme/vme.c
> index 88bf455..e77d6a8 100644
> --- a/drivers/staging/vme/vme.c
> +++ b/drivers/staging/vme/vme.c
> @@ -1364,9 +1364,14 @@ int vme_register_bridge(struct vme_bridge *bridge)
>  	return retval;
>  
>  err_reg:
> +	/*
> +	 * Ignore the failed device and unregister the rest.
> +	 */
> +	i--;
>  	while (i > -1) {
>  		dev = &bridge->dev[i];
>  		device_unregister(dev);
> +		i--;
>  	}
>  	vme_free_bus_num(bridge->num);
>  	return retval;


-- 
Martyn Welch (Principal Software Engineer) | Registered in England and
GE Intelligent Platforms                   | Wales (3828642) at 100
T +44(0)127322748                          | Barbirolli Square, Manchester,
E martyn.welch at ge.com                      | M2 3AB  VAT:GB 927559189



More information about the devel mailing list