summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/net/wireless/orinoco/orinoco_usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/net/wireless/orinoco/orinoco_usb.c')
-rw-r--r--kernel/drivers/net/wireless/orinoco/orinoco_usb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/drivers/net/wireless/orinoco/orinoco_usb.c b/kernel/drivers/net/wireless/orinoco/orinoco_usb.c
index 8fb1c9272..6c0f4c963 100644
--- a/kernel/drivers/net/wireless/orinoco/orinoco_usb.c
+++ b/kernel/drivers/net/wireless/orinoco/orinoco_usb.c
@@ -1502,6 +1502,7 @@ static inline void ezusb_delete(struct ezusb_priv *upriv)
if (upriv->dev) {
struct orinoco_private *priv = ndev_priv(upriv->dev);
orinoco_if_del(priv);
+ wiphy_unregister(priv_to_wiphy(upriv));
free_orinocodev(priv);
}
}
@@ -1575,6 +1576,7 @@ static int ezusb_probe(struct usb_interface *interface,
ezusb_hard_reset, NULL);
if (!priv) {
err("Couldn't allocate orinocodev");
+ retval = -ENOMEM;
goto exit;
}
@@ -1695,6 +1697,7 @@ static int ezusb_probe(struct usb_interface *interface,
if (orinoco_if_add(priv, 0, 0, &ezusb_netdev_ops) != 0) {
upriv->dev = NULL;
err("%s: orinoco_if_add() failed", __func__);
+ wiphy_unregister(priv_to_wiphy(priv));
goto error;
}
upriv->dev = priv->ndev;