Re: [PATCH] staging/sbe-2t3e3: error path cleanup in t3e3_init_channel

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

 



Cleanup means there are no behavior changes.  This is a bug fix.

On Thu, Jul 19, 2012 at 06:00:01PM +0530, Devendra Naga wrote:
>     a) if alloc_hdlcdev fails, we are going into the free_regions,
> and returning out the err (which is 0 by the prev call),
>        return -ENOMEM if this function fail.
> 
>     b) setup_device also can fail, as it calls around the register_hdlc_dev which
> is again a macro of the register_netdev.
> 
>        take the error from the setup_device and return it out in error condition
> 
>     c) request_irq when fails, we are freeing requested mem regions and disabling
> the pci device(?) and returning err which is agian 0 here.
> 
>       take the error from request_irq and err path will take care of returning it.
> 
> as if we return 0 , at the init function, t3e3_init_card, we have a success case
> and if there are two channels we call this function again, having the result of
> it completely unknown.
> 
> This result in having the probe return 0, unloading the driver may (not) cause
> ambigous result.

These bugs were there before your patch, but we should also be doing
an unregister_hdlc_device() and a free_netdev().

regards,
dan carpenter

_______________________________________________
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