diff options
Diffstat (limited to 'arch/ia64/sn/pci')
-rw-r--r-- | arch/ia64/sn/pci/pcibr/pcibr_provider.c | 11 | ||||
-rw-r--r-- | arch/ia64/sn/pci/tioca_provider.c | 5 |
2 files changed, 10 insertions, 6 deletions
diff --git a/arch/ia64/sn/pci/pcibr/pcibr_provider.c b/arch/ia64/sn/pci/pcibr/pcibr_provider.c index b95e928636a1..dfaf01e5be80 100644 --- a/arch/ia64/sn/pci/pcibr/pcibr_provider.c +++ b/arch/ia64/sn/pci/pcibr/pcibr_provider.c | |||
@@ -60,7 +60,7 @@ static int sal_pcibr_error_interrupt(struct pcibus_info *soft) | |||
60 | ret_stuff.status = 0; | 60 | ret_stuff.status = 0; |
61 | ret_stuff.v0 = 0; | 61 | ret_stuff.v0 = 0; |
62 | 62 | ||
63 | segment = 0; | 63 | segment = soft->pbi_buscommon.bs_persist_segment; |
64 | busnum = soft->pbi_buscommon.bs_persist_busnum; | 64 | busnum = soft->pbi_buscommon.bs_persist_busnum; |
65 | SAL_CALL_NOLOCK(ret_stuff, | 65 | SAL_CALL_NOLOCK(ret_stuff, |
66 | (u64) SN_SAL_IOIF_ERROR_INTERRUPT, | 66 | (u64) SN_SAL_IOIF_ERROR_INTERRUPT, |
@@ -142,9 +142,12 @@ pcibr_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont | |||
142 | j++, sn_flush_device_list++) { | 142 | j++, sn_flush_device_list++) { |
143 | if (sn_flush_device_list->sfdl_slot == -1) | 143 | if (sn_flush_device_list->sfdl_slot == -1) |
144 | continue; | 144 | continue; |
145 | if (sn_flush_device_list-> | 145 | if ((sn_flush_device_list-> |
146 | sfdl_persistent_busnum == | 146 | sfdl_persistent_segment == |
147 | soft->pbi_buscommon.bs_persist_busnum) | 147 | soft->pbi_buscommon.bs_persist_segment) && |
148 | (sn_flush_device_list-> | ||
149 | sfdl_persistent_busnum == | ||
150 | soft->pbi_buscommon.bs_persist_busnum)) | ||
148 | sn_flush_device_list->sfdl_pcibus_info = | 151 | sn_flush_device_list->sfdl_pcibus_info = |
149 | soft; | 152 | soft; |
150 | } | 153 | } |
diff --git a/arch/ia64/sn/pci/tioca_provider.c b/arch/ia64/sn/pci/tioca_provider.c index 5d76a7581465..2fef7c10d6e5 100644 --- a/arch/ia64/sn/pci/tioca_provider.c +++ b/arch/ia64/sn/pci/tioca_provider.c | |||
@@ -559,7 +559,7 @@ tioca_error_intr_handler(int irq, void *arg, struct pt_regs *pt) | |||
559 | ret_stuff.status = 0; | 559 | ret_stuff.status = 0; |
560 | ret_stuff.v0 = 0; | 560 | ret_stuff.v0 = 0; |
561 | 561 | ||
562 | segment = 0; | 562 | segment = soft->ca_common.bs_persist_segment; |
563 | busnum = soft->ca_common.bs_persist_busnum; | 563 | busnum = soft->ca_common.bs_persist_busnum; |
564 | 564 | ||
565 | SAL_CALL_NOLOCK(ret_stuff, | 565 | SAL_CALL_NOLOCK(ret_stuff, |
@@ -622,7 +622,8 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont | |||
622 | nasid_to_cnodeid(tioca_common->ca_closest_nasid); | 622 | nasid_to_cnodeid(tioca_common->ca_closest_nasid); |
623 | tioca_common->ca_kernel_private = (uint64_t) tioca_kern; | 623 | tioca_common->ca_kernel_private = (uint64_t) tioca_kern; |
624 | 624 | ||
625 | bus = pci_find_bus(0, tioca_common->ca_common.bs_persist_busnum); | 625 | bus = pci_find_bus(tioca_common->ca_common.bs_persist_segment, |
626 | tioca_common->ca_common.bs_persist_busnum); | ||
626 | BUG_ON(!bus); | 627 | BUG_ON(!bus); |
627 | tioca_kern->ca_devices = &bus->devices; | 628 | tioca_kern->ca_devices = &bus->devices; |
628 | 629 | ||