lkml.org 
[lkml]   [2015]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 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@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

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@linux.intel.com>
Date: Tue, 8 Sep 2015 10:41:19 +0800
Subject: [PATCH]


Signed-off-by: Jiang Liu <jiang.liu@linux.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.


\
 
 \ /
  Last update: 2015-09-10 10:01    [W:0.673 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site