 free_shpchp_res(ctrl->io_head); free_shpchp_res(ctrl->mem_head); free_shpchp_res(ctrl->p_mem_head); free_shpchp_res(ctrl->bus_head); 
static void __exit unload_shpchpd(void){	struct pci_func *next;	struct pci_func *TempSlot;	int loop;	struct controller *ctrl;	struct controller *tctrl;	ctrl = shpchp_ctrl_list;	while (ctrl) {		cleanup_slots(ctrl);		free_shpchp_res(ctrl->io_head);		free_shpchp_res(ctrl->mem_head);		free_shpchp_res(ctrl->p_mem_head);		free_shpchp_res(ctrl->bus_head);		kfree (ctrl->pci_bus);		dbg("%s: calling release_ctlr\n", __FUNCTION__);		ctrl->hpc_ops->release_ctlr(ctrl);		tctrl = ctrl;		ctrl = ctrl->next;		kfree(tctrl);	}	for (loop = 0; loop < 256; loop++) {		next = shpchp_slot_list[loop];		while (next != NULL) {			free_shpchp_res(next->io_head);			free_shpchp_res(next->mem_head);			free_shpchp_res(next->p_mem_head);			free_shpchp_res(next->bus_head);			TempSlot = next;			next = next->next;			kfree(TempSlot);		}	}	/* Stop the notification mechanism */	shpchp_event_stop_thread();}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/dbd7a78818d125a0ebd5507d4edb4dd5900006ab/shpchp_core.c/clean/drivers/pci/hotplug/shpchp_core.c