struct php_ctlr_state_s *php_ctlr = (struct php_ctlr_state_s *) ctrl->hpc_ctlr_handle; 
struct php_ctlr_state_s *php_ctlr = ctrl->hpc_ctlr_handle; 
static void hpc_release_ctlr(struct controller *ctrl){	struct php_ctlr_state_s *php_ctlr = (struct php_ctlr_state_s *) ctrl->hpc_ctlr_handle;	struct php_ctlr_state_s *p, *p_prev;	DBG_ENTER_ROUTINE 	if (!ctrl->hpc_ctlr_handle) {		err("%s: Invalid HPC controller handle!\n", __FUNCTION__);		return ;	}	if (shpchp_poll_mode) {	    del_timer(&php_ctlr->int_poll_timer);	} else {			if (php_ctlr->irq) {			free_irq(php_ctlr->irq, ctrl);			php_ctlr->irq = 0;			pci_disable_msi(php_ctlr->pci_dev);		}	}	if (php_ctlr->pci_dev) {		dbg("%s: before calling iounmap & release_mem_region\n", __FUNCTION__);		iounmap(php_ctlr->creg);		release_mem_region(pci_resource_start(php_ctlr->pci_dev, 0), pci_resource_len(php_ctlr->pci_dev, 0));		dbg("%s: before calling iounmap & release_mem_region\n", __FUNCTION__);		php_ctlr->pci_dev = NULL;	}	spin_lock(&list_lock);	p = php_ctlr_list_head;	p_prev = NULL;	while (p) {		if (p == php_ctlr) {			if (p_prev)				p_prev->pnext = p->pnext;			else				php_ctlr_list_head = p->pnext;			break;		} else {			p_prev = p;			p = p->pnext;		}	}	spin_unlock(&list_lock);	kfree(php_ctlr);DBG_LEAVE_ROUTINE			  }
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ee138334d5eb5ca662b2d69228420c1ccc051e0e/shpchp_hpc.c/buggy/drivers/pci/hotplug/shpchp_hpc.c