[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55F13644.2080203@internode.on.net>
Date: Thu, 10 Sep 2015 17:20:28 +0930
From: Arthur Marsh <arthur.marsh@...ernode.on.net>
To: Jiang Liu <jiang.liu@...ux.intel.com>
CC: Bjorn Helgaas <bhelgaas@...gle.com>, tglx@...utronix.de,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: eata fails to load on post 4.2 kernels
Jiang Liu wrote on 08/09/15 14:49:
> Hi Auhur,
> Could you please help to apply the test patch
> against the latest mainstream linux kernel?
> Thanks!
> Gerry
...
>>>> git bisect good
>>>> 991de2e59090e55c65a7f59a049142e3c480f7bd is the first bad commit
>>>> commit 991de2e59090e55c65a7f59a049142e3c480f7bd
>>>> Author: Jiang Liu <jiang.liu@...ux.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@...ux.intel.com>
>>>> Signed-off-by: Bjorn Helgaas <bhelgaas@...gle.com>
>>>> Acked-by: Thomas Gleixner <tglx@...utronix.de>
>>>>
>>>> :040000 040000 765e2d5232d53247ec260b34b51589c3bccb36ae
>>>> f680234a27685e94b1a35ae2a7218f8eafa9071a M arch
>>>> :040000 040000 d55a682bcde72682e883365e88ad1df6186fd54d
>>>> f82c470a04a6845fcf5e0aa934512c75628f798d M drivers
I tried to do a kexec shut-down with the first version of your patch:
>From 3085626fb2e677c1d88f158397948935b73f5239 Mon Sep 17 00:00:00 2001
From: Jiang Liu <jiang.liu@...ux.intel.com>
Date: Tue, 8 Sep 2015 10:41:19 +0800
Subject: [PATCH]
Signed-off-by: Jiang Liu <jiang.liu@...ux.intel.com>
---
drivers/pci/pci-driver.c | 1 +
drivers/scsi/eata.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 52a880ca1768..17d2a0b1de18 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -392,6 +392,7 @@ int __weak pcibios_alloc_irq(struct pci_dev *dev)
{
return 0;
}
+EXPORT_SYMBOL_GPL(pcibios_alloc_irq);
void __weak pcibios_free_irq(struct pci_dev *dev)
{
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index 227dd2c2ec2f..7e6eaf867987 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -1061,6 +1061,7 @@ static void enable_pci_ports(void)
driver_name, dev->bus->number, dev->devfn);
#endif
+ pcibios_alloc_irq(dev);
if (pci_enable_device(dev))
printk
("%s: warning, pci_enable_device failed, bus %d devfn 0x%x.\n",
@@ -1520,6 +1521,7 @@ static void add_pci_ports(void)
if (!(dev = pci_get_class(PCI_CLASS_STORAGE_SCSI << 8, dev)))
break;
+ pcibios_alloc_irq(dev);
if (pci_enable_device(dev)) {
#if defined(DEBUG_PCI_DETECT)
printk
--
1.7.10.4
but I experience identical kexec shutdown and restart problems as with
the second version of your patch, as seen here:
http://www.users.on.net/~arthur.marsh/20150910541.jpg
the original commit 991de2e59090e55c65a7f59a049142e3c480f7bd quoted
above seems to have not only lead to start-up problems unless irqpoll
was enabled but also lead to kexec shutdown/restart problems.
I'm not sure what the solution is but it is good to continue to allow
kexec reboots to work.
Arthur.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists