if (hub->status) { kfree(hub->status); hub->status = NULL; } 
kfree(hub->status); hub->status = NULL; 
static void hub_disconnect(struct usb_interface *intf){	struct usb_hub *hub = usb_get_intfdata (intf);	struct usb_device *hdev;	if (!hub)		return;	hdev = hub->hdev;	if (hdev->speed == USB_SPEED_HIGH)		highspeed_hubs--;	usb_set_intfdata (intf, NULL);	hub_quiesce(hub);	usb_free_urb(hub->urb);	hub->urb = NULL;	spin_lock_irq(&hub_event_lock);	list_del_init(&hub->event_list);	spin_unlock_irq(&hub_event_lock);	if (hub->descriptor) {		kfree(hub->descriptor);		hub->descriptor = NULL;	}	if (hub->status) {		kfree(hub->status);		hub->status = NULL;	}	if (hub->buffer) {		usb_buffer_free(hdev, sizeof(*hub->buffer), hub->buffer,				hub->buffer_dma);		hub->buffer = NULL;	}	/* Free the memory */	kfree(hub);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1bc3c9e1e44c2059fe2ffa6ff70ad0a925d7b05f/hub.c/buggy/drivers/usb/core/hub.c