diff options
author | Julia Lawall <julia@diku.dk> | 2008-07-16 10:34:54 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-08-22 16:29:49 -0400 |
commit | d92a8e81e097968d8f2bac0581a0a43bff14b8f0 (patch) | |
tree | 2b4000f9b42c846da173b154e85823818fd05927 /net/ieee80211 | |
parent | 1ff41eb0d9a937957d481d4f058a91230851ae17 (diff) |
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>
Diffstat (limited to 'net/ieee80211')
-rw-r--r-- | net/ieee80211/ieee80211_module.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ieee80211/ieee80211_module.c b/net/ieee80211/ieee80211_module.c index 3bca97f55d47..949772a5a7dc 100644 --- a/net/ieee80211/ieee80211_module.c +++ b/net/ieee80211/ieee80211_module.c | |||
@@ -157,7 +157,7 @@ struct net_device *alloc_ieee80211(int sizeof_priv) | |||
157 | err = ieee80211_networks_allocate(ieee); | 157 | err = ieee80211_networks_allocate(ieee); |
158 | if (err) { | 158 | if (err) { |
159 | IEEE80211_ERROR("Unable to allocate beacon storage: %d\n", err); | 159 | IEEE80211_ERROR("Unable to allocate beacon storage: %d\n", err); |
160 | goto failed; | 160 | goto failed_free_netdev; |
161 | } | 161 | } |
162 | ieee80211_networks_initialize(ieee); | 162 | ieee80211_networks_initialize(ieee); |
163 | 163 | ||
@@ -193,9 +193,9 @@ struct net_device *alloc_ieee80211(int sizeof_priv) | |||
193 | 193 | ||
194 | return dev; | 194 | return dev; |
195 | 195 | ||
196 | failed: | 196 | failed_free_netdev: |
197 | if (dev) | 197 | free_netdev(dev); |
198 | free_netdev(dev); | 198 | failed: |
199 | return NULL; | 199 | return NULL; |
200 | } | 200 | } |
201 | 201 | ||