Bug 111211 - TA1-PCI card worked in v4.2, fails in v4.3
Summary: TA1-PCI card worked in v4.2, fails in v4.3
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: PCI (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_pci@kernel-bugs.osdl.org
URL: http://lkml.kernel.org/r/56A27E7E.408...
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-23 14:49 UTC by Bjorn Helgaas
Modified: 2016-10-28 20:41 UTC (History)
3 users (show)

See Also:
Kernel Version: v4.3
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
dmesg_log_4.3.0-1 (103.07 KB, text/plain)
2016-01-24 07:38 UTC, oleg.moroz
Details
dmesg_log_4.2.6-3 (127.42 KB, text/plain)
2016-01-24 07:38 UTC, oleg.moroz
Details
lspci_4.3.0-1 (41.06 KB, text/plain)
2016-01-24 07:39 UTC, oleg.moroz
Details
lspci_4.2.6-3 (41.06 KB, text/plain)
2016-01-24 07:39 UTC, oleg.moroz
Details

Description Bjorn Helgaas 2016-01-23 14:49:46 UTC
Олег reported that a MIL-1553b card called TA1-PCI worked in v4.2 but not in v4.3.  Apparently the driver does not receive interrupts in v4.3.

The driver seems to be this out-of-tree code:
https://github.com/qmor/elcus-1553-driver-linux
Comment 1 oleg.moroz 2016-01-24 07:38:19 UTC
Created attachment 201211 [details]
dmesg_log_4.3.0-1
Comment 2 oleg.moroz 2016-01-24 07:38:44 UTC
Created attachment 201221 [details]
dmesg_log_4.2.6-3
Comment 3 oleg.moroz 2016-01-24 07:39:12 UTC
Created attachment 201231 [details]
lspci_4.3.0-1
Comment 4 oleg.moroz 2016-01-24 07:39:25 UTC
Created attachment 201241 [details]
lspci_4.2.6-3
Comment 5 oleg.moroz 2016-01-26 14:45:28 UTC
After bisect procedure i've got this:


991de2e59090e55c65a7f59a049142e3c480f7bd is the first bad commit

commit 991de2e59090e55c65a7f59a049142e3c480f7bd

Author: Jiang Liu <jiang.liu@linux.intel.com>

Date:   Wed Jun 10 16:54:59 2015 +0800



    PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()

     
    To support IOAPIC hotplug, we need to allocate PCI IRQ resources on demand

    and free them when not used anymore.

     
    Implement pcibios_alloc_irq() and pcibios_free_irq() to dynamically

    allocate and free PCI IRQs.

     
    Remove mp_should_keep_irq(), which is no longer used.

     
    [bhelgaas: changelog]

    Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>

    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

    Acked-by: Thomas Gleixner <tglx@linutronix.de>



:040000 040000 765e2d5232d53247ec260b34b51589c3bccb36ae f680234a27685e94b1a35ae2a7218f8eafa9071a M      arch

:040000 040000 d55a682bcde72682e883365e88ad1df6186fd54d f82c470a04a6845fcf5e0aa934512c75628f798d M      drivers
Comment 6 oleg.moroz 2016-01-26 19:04:46 UTC
I confirmed it works in

890e4847587f 

and do not works in 

991de2e59090
Comment 7 Sunjin Yang 2016-02-05 03:27:24 UTC
RocketRAID 272x driver doesn't work too since 4.3 due to the same problem.

http://www.highpoint-tech.com/USA_new/series_rr272x_configuration.htm

It works with 'pci=routeirq' parameter.
Comment 8 Bjorn Helgaas 2016-10-26 21:55:53 UTC
Is this fixed?  I reverted 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"), and the revert appeared in v4.5.

Here's the revert: http://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/commit/?id=6c777e8799a9
Comment 9 Bjorn Helgaas 2016-10-28 20:41:20 UTC
I'm closing this on the assumption that the revert fixed it.  Please reopen if that's not the case.

Note You need to log in before you can comment on or make changes to this bug.