if (action == PCI_REQ_SLOT_ELIGIBLE && rc == PCI_SLOT_ALREADY_DOWN) { 
if ((action == PCI_REQ_SLOT_ELIGIBLE) && (rc == PCI_SLOT_ALREADY_DOWN)) { 
static int sn_slot_disable(struct hotplug_slot *bss_hotplug_slot,			   int device_num, int action){	struct slot *slot = (struct slot *)bss_hotplug_slot->private;	struct pcibus_info *pcibus_info;	struct pcibr_slot_disable_resp resp;	int rc;	pcibus_info = SN_PCIBUS_BUSSOFT_INFO(slot->pci_bus);	rc = sal_pcibr_slot_disable(pcibus_info, device_num, action, &resp);	if (action == PCI_REQ_SLOT_ELIGIBLE && rc == PCI_SLOT_ALREADY_DOWN) {		dev_dbg(slot->pci_bus->self, "Slot %s already inactive\n");		return -ENODEV;	}	if (action == PCI_REQ_SLOT_ELIGIBLE && rc == PCI_EMPTY_33MHZ) {		dev_dbg(slot->pci_bus->self,			"Cannot remove last 33MHz card\n");		return -EPERM;	}	if (action == PCI_REQ_SLOT_ELIGIBLE && rc == PCI_L1_ERR) {		dev_dbg(slot->pci_bus->self,			"L1 failure %d with message \n%s\n",			resp.resp_sub_errno, resp.resp_l1_msg);		return -EPERM;	}	if (action == PCI_REQ_SLOT_ELIGIBLE && rc) {		dev_dbg(slot->pci_bus->self,			"remove failed with error %d sub-error %d\n",			rc, resp.resp_sub_errno);		return -EIO;	}	if (action == PCI_REQ_SLOT_ELIGIBLE && !rc)		return 0;	if (action == PCI_REQ_SLOT_DISABLE && !rc) {		sn_slot_mark_disable(bss_hotplug_slot, device_num);		dev_dbg(slot->pci_bus->self, "remove successful\n");		return 0;	}	if (action == PCI_REQ_SLOT_DISABLE && rc) {		dev_dbg(slot->pci_bus->self,"remove failed rc = %d\n", rc);		return rc;	}	return rc;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/1d2450a4a6eb656798c6282b5ffc8e5f9f52ac14/sgi_hotplug.c/clean/drivers/pci/hotplug/sgi_hotplug.c