I replaced the non-functioning Broadcom wifi card in my Dell Mini10 netbook with an ath0 wireless card (https://www.amazon.com/gp/product/B00JESLUWQ/). The dmesg output showed that it was identified, but that it couldn't allocate an interrupt: # dmesg | grep ath0 ath0: <Atheros 9280> mem 0xd8000000-0xd800ffff irq 17 at device 0.0 on pci2 ath0: could not map interrupt device_attach: ath0 attach returned 6 Checking on it, IRQ17 was in use by my pcib1: # dmesg | grep "irq 17" pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0 ath0: <Atheros 9280> mem 0xd8000000-0xd800ffff irq 17 at device 0.0 on pci2 Oleksandr Tymoshenko suggested a one-line diff (https://people.freebsd.org/~gonzo/patches/pci_pci-shareable-irq.diff) to make the PCI-PCI be RF_SHAREABLE. Building with that diff resolved the issue and now both the re0 (which AFAIC is the only item on pci1 on that pcib1) and the ath0 are working fine. So it *looks* like this solves the issue, but Adrian Chad informed me that "warner says "pcie interrupts aren't shared."" and requested that I open a PR on the matter to get more eyeballs on it. So I'm opening this as requested. Full conversation leading up to this can be found at https://lists.freebsd.org/pipermail/freebsd-wireless/2018-May/thread.html#7968 including the initial dmesg output and the relevant new dmesg ath0 output after applying Oleksandr's patch.
Created attachment 195548 [details] Make PCI-PCI bridge shareable Patch from Oleksandr Tymoshenko (gonzo@?) that solves the problem for me.
I don't want to pester, but did want to follow up. Warner says (via Adrian Chad) that "pcie interrupts aren't shared." However, this patch from Oleksandr Tymoshenko (gonzo@?) resolves the issue for me getting my ath0 up and working by sharing the PCIE interrupt. Does something need to be done to tell ath0 to use a different interrupt that *is* shareable (or at least tell it not to use IRQ17), or is there some other solution I should try if the patch is unacceptable? Thanks! (and despite the subject being changed, the conflict does seem to be pcib1-vs-ath0 not re0-vs-ath0 unless I'm totally misunderstanding the dmesg output)
gonzo@ what's the next step here?
(In reply to Ed Maste from comment #3) Confirm that sharable interrupts are OK for PCI-PCI bridge with someone who's familiar with PCI internals and commit the fix if it's OK.