lkml.org 
[lkml]   [2008]   [Feb]   [6]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    DateWed, 6 Feb 2008 15:52:55 -0800
    FromGreg KH <>
    Subject[patch 34/73] ACPI: Not register gsi for PCI IDE controller in legacy mode
    2.6.23-stable review patch.  If anyone has any objections, please let us know.
    ------------------
    From: Alan Cox <alan@lxorguk.ukuu.org.uk>
    patch 96c2a8766bf4fe91abac863749c11637fabcc64f in mainline.
    
    When PCI IDE controller works in legacy mode and no PRT entry is found
    in ACPI PRT table, OSPM will neither read the irq number from the IDE
    PCI configuration space nor call the function of acpi_register_gsi to
    register gsi.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=5637
    
    Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    
    ---
     drivers/acpi/pci_irq.c |    9 +++++++++
     1 file changed, 9 insertions(+)
    --- a/drivers/acpi/pci_irq.c
    +++ b/drivers/acpi/pci_irq.c
    @@ -429,6 +429,15 @@ int acpi_pci_irq_enable(struct pci_dev *
     					  &polarity, &link,
     					  acpi_pci_allocate_irq);
     
    +	if (irq < 0) {
    +		/*
    +		 * IDE legacy mode controller IRQs are magic. Why do compat
    +		 * extensions always make such a nasty mess.
    +		 */
    +		if (dev->class >> 8 == PCI_CLASS_STORAGE_IDE &&
    +				(dev->class & 0x05) == 0)
    +			return 0;
    +	}
     	/*
     	 * No IRQ known to the ACPI subsystem - maybe the BIOS / 
     	 * driver reported one, then use it. Exit in any case.
    -- 
    
    
    
    \
     
     \ /
      Last update: 2008-02-07 01:13    [from the cache]
    ©2003-2008