mirror of https://gitee.com/openkylin/linux.git
[PATCH] airo: Fix an error path memory leak
The airo driver leaks memory if request_irq() fails. Signed-off-by: Michal Schmidt <mschmidt@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
21665a69e6
commit
4d881901b8
|
@ -2852,7 +2852,7 @@ static struct net_device *_init_airo_card( unsigned short irq, int port,
|
||||||
if (rc) {
|
if (rc) {
|
||||||
airo_print_err(dev->name, "register interrupt %d failed, rc %d",
|
airo_print_err(dev->name, "register interrupt %d failed, rc %d",
|
||||||
irq, rc);
|
irq, rc);
|
||||||
goto err_out_unlink;
|
goto err_out_nets;
|
||||||
}
|
}
|
||||||
if (!is_pcmcia) {
|
if (!is_pcmcia) {
|
||||||
if (!request_region( dev->base_addr, 64, dev->name )) {
|
if (!request_region( dev->base_addr, 64, dev->name )) {
|
||||||
|
@ -2935,6 +2935,8 @@ static struct net_device *_init_airo_card( unsigned short irq, int port,
|
||||||
release_region( dev->base_addr, 64 );
|
release_region( dev->base_addr, 64 );
|
||||||
err_out_irq:
|
err_out_irq:
|
||||||
free_irq(dev->irq, dev);
|
free_irq(dev->irq, dev);
|
||||||
|
err_out_nets:
|
||||||
|
airo_networks_free(ai);
|
||||||
err_out_unlink:
|
err_out_unlink:
|
||||||
del_airo_dev(dev);
|
del_airo_dev(dev);
|
||||||
err_out_thr:
|
err_out_thr:
|
||||||
|
|
Loading…
Reference in New Issue