]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/zd1201.c
Merge master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / zd1201.c
index 3404807b3e127e93cfb92cfc1f37b4cf7e6c20a6..b45c27d42fd83f98ac6a5f3479b0251f40443e7b 100644 (file)
@@ -1841,10 +1841,6 @@ static void zd1201_disconnect(struct usb_interface *interface)
        if (!zd)
                return;
        usb_set_intfdata(interface, NULL);
-       if (zd->dev) {
-               unregister_netdev(zd->dev);
-               free_netdev(zd->dev);
-       }
 
        hlist_for_each_entry_safe(frag, node, node2, &zd->fraglist, fnode) {
                hlist_del_init(&frag->fnode);
@@ -1860,7 +1856,11 @@ static void zd1201_disconnect(struct usb_interface *interface)
                usb_kill_urb(zd->rx_urb);
                usb_free_urb(zd->rx_urb);
        }
-       kfree(zd);
+
+       if (zd->dev) {
+               unregister_netdev(zd->dev);
+               free_netdev(zd->dev);
+       }
 }
 
 #ifdef CONFIG_PM