From patchwork Thu Sep 10 07:50:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arthur Marsh X-Patchwork-Id: 7151691 Return-Path: X-Original-To: patchwork-linux-scsi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 95C08BEEC1 for ; Thu, 10 Sep 2015 07:51:12 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id AE39B20897 for ; Thu, 10 Sep 2015 07:51:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 399482088F for ; Thu, 10 Sep 2015 07:51:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751509AbbIJHue (ORCPT ); Thu, 10 Sep 2015 03:50:34 -0400 Received: from ipmail04.adl6.internode.on.net ([150.101.137.141]:51891 "EHLO ipmail04.adl6.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751227AbbIJHue (ORCPT ); Thu, 10 Sep 2015 03:50:34 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DBEwCINfFVPKJV0nZdFoI7UlRpgya8CYV5AoE9TQEBAQEBAQcBAQEBQT+EIwEBAQQjBBEeIgEQCAMRAwECAwIFFgsCAgkDAgECAScKDAgGDQEFAgIXiBIOtwSUHAEBAQEBAQQBAQEBAQEcgSKFUYR7hQwHgmmBQwEEhy6GPTqHMY5GhDORDYNsgnMcgWQuMwEBAYhGAQEB Received: from ppp118-210-85-162.lns20.adl2.internode.on.net (HELO localhost) ([118.210.85.162]) by ipmail04.adl6.internode.on.net with ESMTP; 10 Sep 2015 17:20:32 +0930 Received: from localhost ([127.0.0.1]) by localhost with esmtp (Exim 4.86) (envelope-from ) id 1ZZwcn-0001ZC-DG; Thu, 10 Sep 2015 17:20:29 +0930 Message-ID: <55F13644.2080203@internode.on.net> Date: Thu, 10 Sep 2015 17:20:28 +0930 From: Arthur Marsh User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Icedove/31.8.0 MIME-Version: 1.0 To: Jiang Liu CC: Bjorn Helgaas , tglx@linutronix.de, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: eata fails to load on post 4.2 kernels References: <55EC019F.4010209@internode.on.net> <55EC2567.8000100@internode.on.net> <55ECA291.1060103@internode.on.net> <55ECFF32.9030902@linux.intel.com> <55ED2DFA.6030502@internode.on.net> <55EE6FD1.2030600@linux.intel.com> In-Reply-To: <55EE6FD1.2030600@linux.intel.com> Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 >>>> 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 >>>> Signed-off-by: Bjorn Helgaas >>>> Acked-by: Thomas Gleixner >>>> >>>> :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 Date: Tue, 8 Sep 2015 10:41:19 +0800 Subject: [PATCH] Signed-off-by: Jiang Liu --- 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