RE: [PATCH 41/46] Staging: hv: vmbus: Fix a bug in error handling in vmbus_bus_init()

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

 




> -----Original Message-----
> From: Greg KH [mailto:greg@xxxxxxxxx]
> Sent: Monday, August 29, 2011 2:09 PM
> To: KY Srinivasan
> Cc: gregkh@xxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devel@xxxxxxxxxxxxxxxxxxxxxx; virtualization@xxxxxxxxxxxxxx; Haiyang Zhang
> Subject: Re: [PATCH 41/46] Staging: hv: vmbus: Fix a bug in error handling in
> vmbus_bus_init()
> 
> On Sat, Aug 27, 2011 at 11:31:40AM -0700, K. Y. Srinivasan wrote:
> > Fix a bug in error handling in vmbus_bus_init().
> >
> > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> > Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> > ---
> >  drivers/staging/hv/vmbus_drv.c |   21 ++++++++++-----------
> >  1 files changed, 10 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/staging/hv/vmbus_drv.c b/drivers/staging/hv/vmbus_drv.c
> > index 02edb11..4d1b123 100644
> > --- a/drivers/staging/hv/vmbus_drv.c
> > +++ b/drivers/staging/hv/vmbus_drv.c
> > @@ -492,7 +492,7 @@ static int vmbus_bus_init(int irq)
> >
> >  	ret = bus_register(&hv_bus);
> >  	if (ret)
> > -		return ret;
> > +		goto err1;
> >
> >  	ret = request_irq(irq, vmbus_isr, IRQF_SAMPLE_RANDOM,
> >  			driver_name, hv_acpi_dev);
> > @@ -500,10 +500,7 @@ static int vmbus_bus_init(int irq)
> >  	if (ret != 0) {
> >  		pr_err("Unable to request IRQ %d\n",
> >  			   irq);
> > -
> > -		bus_unregister(&hv_bus);
> > -
> > -		return ret;
> > +		goto err2;
> >  	}
> >
> >  	vector = IRQ0_VECTOR + irq;
> > @@ -514,16 +511,18 @@ static int vmbus_bus_init(int irq)
> >  	 */
> >  	on_each_cpu(hv_synic_init, (void *)&vector, 1);
> >  	ret = vmbus_connect();
> > -	if (ret) {
> > -		free_irq(irq, hv_acpi_dev);
> > -		bus_unregister(&hv_bus);
> > -		return ret;
> > -	}
> > -
> > +	if (ret)
> > +		goto err3;
> >
> >  	vmbus_request_offers();
> >
> >  	return 0;
> > +
> > +err3:	free_irq(irq, hv_acpi_dev);
> > +err2:	bus_unregister(&hv_bus);
> > +err1:	hv_cleanup();
> 
> The traditional way to write this is:
> 
> err3:
> 	free_irq(irq, hv_acpi_dev);
> err2:
> 	bus_unregister(&hv_bus);
> err1:
> 	hv_cleanup();
> 
> Care to fix this up and resend it?

Will do.

Regards,

K. Y

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux