diff options
| author | Matt Jacob <mjacob@FreeBSD.org> | 2000-07-13 03:45:11 +0000 |
|---|---|---|
| committer | Matt Jacob <mjacob@FreeBSD.org> | 2000-07-13 03:45:11 +0000 |
| commit | 557a640a9bac3f022a5e77a327502058ce729623 (patch) | |
| tree | 5f0031be9df086c4a7bc464703f3e9c47b29a5d9 /sys/alpha | |
| parent | f9692fa078b06eeebf56d5898911be56772294c2 (diff) | |
Notes
Diffstat (limited to 'sys/alpha')
| -rw-r--r-- | sys/alpha/mcbus/mcpcia.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/alpha/mcbus/mcpcia.c b/sys/alpha/mcbus/mcpcia.c index ff7441fe2b47..2bf987df1515 100644 --- a/sys/alpha/mcbus/mcpcia.c +++ b/sys/alpha/mcbus/mcpcia.c @@ -618,6 +618,14 @@ mcpcia_setup_intr(device_t dev, device_t child, struct resource *ir, int flags, mid = mcbus_get_mid(dev); gid = mcbus_get_gid(dev); + if (slot == 0) { + device_t bdev; + /* bridged - get slot from granparent */ + /* note that this is broken for all but the most trival case */ + bdev = device_get_parent(device_get_parent(child)); + slot = pci_get_slot(bdev); + } + if (mid == 5 && slot == 1) { irq = 16; /* MID 5, slot 1, is the internal NCR 53c810 */ } else if (slot >= 2 && slot <= 5) { |
