mirror of https://gitee.com/openkylin/linux.git
net/ieee80211: adjust error handling
Converts a test in error handling code to a sequence of labels. The semantic match that found the problem is: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression E,E1,E2; @@ E = alloc_etherdev(...) ... when != E = E1 if (...) { ... free_netdev(E); ... return ...; } ... when != E = E2 ( if (...) { ... when != free_netdev(E); return dev; } | * if (...) { ... when != free_netdev(E); return ...; } | register_netdev(E) ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
1ff41eb0d9
commit
d92a8e81e0
|
@ -157,7 +157,7 @@ struct net_device *alloc_ieee80211(int sizeof_priv)
|
||||||
err = ieee80211_networks_allocate(ieee);
|
err = ieee80211_networks_allocate(ieee);
|
||||||
if (err) {
|
if (err) {
|
||||||
IEEE80211_ERROR("Unable to allocate beacon storage: %d\n", err);
|
IEEE80211_ERROR("Unable to allocate beacon storage: %d\n", err);
|
||||||
goto failed;
|
goto failed_free_netdev;
|
||||||
}
|
}
|
||||||
ieee80211_networks_initialize(ieee);
|
ieee80211_networks_initialize(ieee);
|
||||||
|
|
||||||
|
@ -193,9 +193,9 @@ struct net_device *alloc_ieee80211(int sizeof_priv)
|
||||||
|
|
||||||
return dev;
|
return dev;
|
||||||
|
|
||||||
failed:
|
failed_free_netdev:
|
||||||
if (dev)
|
free_netdev(dev);
|
||||||
free_netdev(dev);
|
failed:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue