mirror of
https://github.com/adulau/aha.git
synced 2025-01-04 23:23:18 +00:00
[PATCH] libertas: fix error handling of card initialization
Subject says it all. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
51d84f5016
commit
6a8121572e
2 changed files with 9 additions and 2 deletions
|
@ -198,10 +198,10 @@ static int if_usb_probe(struct usb_interface *intf,
|
|||
goto dealloc;
|
||||
|
||||
if (wlan_add_mesh(priv))
|
||||
goto dealloc;
|
||||
goto err_add_mesh;
|
||||
|
||||
if (libertas_activate_card(priv))
|
||||
goto dealloc;
|
||||
goto err_activate_card;
|
||||
|
||||
if (libertas_found < MAX_DEVS) {
|
||||
libertas_devs[libertas_found] = priv->wlan_dev.netdev;
|
||||
|
@ -218,6 +218,12 @@ static int if_usb_probe(struct usb_interface *intf,
|
|||
*/
|
||||
return 0;
|
||||
|
||||
err_activate_card:
|
||||
unregister_netdev(priv->mesh_dev);
|
||||
free_netdev(priv->mesh_dev);
|
||||
err_add_mesh:
|
||||
free_netdev(priv->wlan_dev.netdev);
|
||||
kfree(priv->adapter);
|
||||
dealloc:
|
||||
if_usb_free(usb_cardp);
|
||||
|
||||
|
|
|
@ -823,6 +823,7 @@ wlan_private *wlan_add_card(void *card)
|
|||
|
||||
err_kzalloc:
|
||||
free_netdev(dev);
|
||||
priv = NULL;
|
||||
done:
|
||||
lbs_deb_leave_args(LBS_DEB_NET, "priv %p", priv);
|
||||
return priv;
|
||||
|
|
Loading…
Reference in a new issue