Merge branch 'work-fixes'
[powerpc.git] / drivers / usb / core / config.c
index 63f374e..a9d89c7 100644 (file)
@@ -1,9 +1,4 @@
 #include <linux/config.h>
-
-#ifdef CONFIG_USB_DEBUG
-#define DEBUG
-#endif
-
 #include <linux/usb.h>
 #include <linux/module.h>
 #include <linux/init.h>
@@ -112,8 +107,12 @@ void usb_release_interface_cache(struct kref *ref)
        struct usb_interface_cache *intfc = ref_to_usb_interface_cache(ref);
        int j;
 
-       for (j = 0; j < intfc->num_altsetting; j++)
-               kfree(intfc->altsetting[j].endpoint);
+       for (j = 0; j < intfc->num_altsetting; j++) {
+               struct usb_host_interface *alt = &intfc->altsetting[j];
+
+               kfree(alt->endpoint);
+               kfree(alt->string);
+       }
        kfree(intfc);
 }
 
@@ -420,8 +419,6 @@ void usb_destroy_configuration(struct usb_device *dev)
                struct usb_host_config *cf = &dev->config[c];
 
                kfree(cf->string);
-               cf->string = NULL;
-
                for (i = 0; i < cf->desc.bNumInterfaces; i++) {
                        if (cf->intf_cache[i])
                                kref_put(&cf->intf_cache[i]->ref,