* [PATCH 4/4] IPMI: Add proper offset for HP PCI interfaces
@ 2010-03-03 16:17 Corey Minyard
0 siblings, 0 replies; only message in thread
From: Corey Minyard @ 2010-03-03 16:17 UTC (permalink / raw)
To: torvalds; +Cc: Linux Kernel, OpenIPMI Developers
From: Corey Minyard <cminyard@mvista.com>
On a PCI update, the offset for HP PCI interfaces to the IPMI controller
was left off. Add the offset back in. The "dead code" dealing with
first_reg_offset was removed in 2.6.32, so that is re-added.
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Index: linux-2.6.33/drivers/char/ipmi/ipmi_si_intf.c
===================================================================
--- linux-2.6.33.orig/drivers/char/ipmi/ipmi_si_intf.c
+++ linux-2.6.33/drivers/char/ipmi/ipmi_si_intf.c
@@ -2363,6 +2363,7 @@ static int __devinit ipmi_pci_probe(stru
int rv;
int class_type = pdev->class & PCI_ERMC_CLASSCODE_TYPE_MASK;
struct smi_info *info;
+ int first_reg_offset = 0;
info = kzalloc(sizeof(*info), GFP_KERNEL);
if (!info)
@@ -2401,6 +2402,9 @@ static int __devinit ipmi_pci_probe(stru
info->addr_source_cleanup = ipmi_pci_cleanup;
info->addr_source_data = pdev;
+ if (pdev->subsystem_vendor == PCI_HP_VENDOR_ID)
+ first_reg_offset = 1;
+
if (pci_resource_flags(pdev, 0) & IORESOURCE_IO) {
info->io_setup = port_setup;
info->io.addr_type = IPMI_IO_ADDR_SPACE;
@@ -2408,7 +2412,7 @@ static int __devinit ipmi_pci_probe(stru
info->io_setup = mem_setup;
info->io.addr_type = IPMI_MEM_ADDR_SPACE;
}
- info->io.addr_data = pci_resource_start(pdev, 0);
+ info->io.addr_data = pci_resource_start(pdev, 0) + first_reg_offset;
info->io.regspacing = DEFAULT_REGSPACING;
info->io.regsize = DEFAULT_REGSPACING;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-03-03 16:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-03 16:17 [PATCH 4/4] IPMI: Add proper offset for HP PCI interfaces Corey Minyard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox