diff options
Diffstat (limited to 'drivers/pci/hotplug/ibmphp_core.c')
| -rw-r--r-- | drivers/pci/hotplug/ibmphp_core.c | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c index dd18f857dfb0..42e4260c3b12 100644 --- a/drivers/pci/hotplug/ibmphp_core.c +++ b/drivers/pci/hotplug/ibmphp_core.c | |||
| @@ -153,45 +153,47 @@ int ibmphp_init_devno(struct slot **cur_slot) | |||
| 153 | return -1; | 153 | return -1; |
| 154 | } | 154 | } |
| 155 | for (loop = 0; loop < len; loop++) { | 155 | for (loop = 0; loop < len; loop++) { |
| 156 | if ((*cur_slot)->number == rtable->slots[loop].slot) { | 156 | if ((*cur_slot)->number == rtable->slots[loop].slot && |
| 157 | if ((*cur_slot)->bus == rtable->slots[loop].bus) { | 157 | (*cur_slot)->bus == rtable->slots[loop].bus) { |
| 158 | struct io_apic_irq_attr irq_attr; | ||
| 159 | |||
| 158 | (*cur_slot)->device = PCI_SLOT(rtable->slots[loop].devfn); | 160 | (*cur_slot)->device = PCI_SLOT(rtable->slots[loop].devfn); |
| 159 | for (i = 0; i < 4; i++) | 161 | for (i = 0; i < 4; i++) |
| 160 | (*cur_slot)->irq[i] = IO_APIC_get_PCI_irq_vector((int) (*cur_slot)->bus, | 162 | (*cur_slot)->irq[i] = IO_APIC_get_PCI_irq_vector((int) (*cur_slot)->bus, |
| 161 | (int) (*cur_slot)->device, i); | 163 | (int) (*cur_slot)->device, i, |
| 162 | 164 | &irq_attr); | |
| 163 | debug("(*cur_slot)->irq[0] = %x\n", | 165 | |
| 164 | (*cur_slot)->irq[0]); | 166 | debug("(*cur_slot)->irq[0] = %x\n", |
| 165 | debug("(*cur_slot)->irq[1] = %x\n", | 167 | (*cur_slot)->irq[0]); |
| 166 | (*cur_slot)->irq[1]); | 168 | debug("(*cur_slot)->irq[1] = %x\n", |
| 167 | debug("(*cur_slot)->irq[2] = %x\n", | 169 | (*cur_slot)->irq[1]); |
| 168 | (*cur_slot)->irq[2]); | 170 | debug("(*cur_slot)->irq[2] = %x\n", |
| 169 | debug("(*cur_slot)->irq[3] = %x\n", | 171 | (*cur_slot)->irq[2]); |
| 170 | (*cur_slot)->irq[3]); | 172 | debug("(*cur_slot)->irq[3] = %x\n", |
| 171 | 173 | (*cur_slot)->irq[3]); | |
| 172 | debug("rtable->exlusive_irqs = %x\n", | 174 | |
| 175 | debug("rtable->exlusive_irqs = %x\n", | ||
| 173 | rtable->exclusive_irqs); | 176 | rtable->exclusive_irqs); |
| 174 | debug("rtable->slots[loop].irq[0].bitmap = %x\n", | 177 | debug("rtable->slots[loop].irq[0].bitmap = %x\n", |
| 175 | rtable->slots[loop].irq[0].bitmap); | 178 | rtable->slots[loop].irq[0].bitmap); |
| 176 | debug("rtable->slots[loop].irq[1].bitmap = %x\n", | 179 | debug("rtable->slots[loop].irq[1].bitmap = %x\n", |
| 177 | rtable->slots[loop].irq[1].bitmap); | 180 | rtable->slots[loop].irq[1].bitmap); |
| 178 | debug("rtable->slots[loop].irq[2].bitmap = %x\n", | 181 | debug("rtable->slots[loop].irq[2].bitmap = %x\n", |
| 179 | rtable->slots[loop].irq[2].bitmap); | 182 | rtable->slots[loop].irq[2].bitmap); |
| 180 | debug("rtable->slots[loop].irq[3].bitmap = %x\n", | 183 | debug("rtable->slots[loop].irq[3].bitmap = %x\n", |
| 181 | rtable->slots[loop].irq[3].bitmap); | 184 | rtable->slots[loop].irq[3].bitmap); |
| 182 | 185 | ||
| 183 | debug("rtable->slots[loop].irq[0].link = %x\n", | 186 | debug("rtable->slots[loop].irq[0].link = %x\n", |
| 184 | rtable->slots[loop].irq[0].link); | 187 | rtable->slots[loop].irq[0].link); |
| 185 | debug("rtable->slots[loop].irq[1].link = %x\n", | 188 | debug("rtable->slots[loop].irq[1].link = %x\n", |
| 186 | rtable->slots[loop].irq[1].link); | 189 | rtable->slots[loop].irq[1].link); |
| 187 | debug("rtable->slots[loop].irq[2].link = %x\n", | 190 | debug("rtable->slots[loop].irq[2].link = %x\n", |
| 188 | rtable->slots[loop].irq[2].link); | 191 | rtable->slots[loop].irq[2].link); |
| 189 | debug("rtable->slots[loop].irq[3].link = %x\n", | 192 | debug("rtable->slots[loop].irq[3].link = %x\n", |
| 190 | rtable->slots[loop].irq[3].link); | 193 | rtable->slots[loop].irq[3].link); |
| 191 | debug("end of init_devno\n"); | 194 | debug("end of init_devno\n"); |
| 192 | kfree(rtable); | 195 | kfree(rtable); |
| 193 | return 0; | 196 | return 0; |
| 194 | } | ||
| 195 | } | 197 | } |
| 196 | } | 198 | } |
| 197 | 199 | ||
