Would you please apply this debug patch to 2.6.28-rc3 and then see what happens? After boot, dmesg | grep "AER_DEBUG" diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index b3a63ed..2dcdc32 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c @@ -177,12 +177,14 @@ out: **/ acpi_status __pci_osc_support_set(u32 flags, const char *hid) { + acpi_status status; + if (!(flags & OSC_SUPPORT_MASKS)) return AE_TYPE; - acpi_get_devices(hid, acpi_query_osc, + status = acpi_get_devices(hid, acpi_query_osc, (void *)(unsigned long)flags, NULL); - return AE_OK; + return status; } /** diff --git a/drivers/pci/pcie/aer/aerdrv_acpi.c b/drivers/pci/pcie/aer/aerdrv_acpi.c index 6dd7b13..4f373d4 100644 --- a/drivers/pci/pcie/aer/aerdrv_acpi.c +++ b/drivers/pci/pcie/aer/aerdrv_acpi.c @@ -38,17 +38,23 @@ int aer_osc_setup(struct pcie_device *pciedev) handle = acpi_find_root_bridge_handle(pdev); if (handle) { - pcie_osc_support_set(OSC_EXT_PCI_CONFIG_SUPPORT); + status = pcie_osc_support_set(OSC_EXT_PCI_CONFIG_SUPPORT); + if (ACPI_FAILURE(status)) { + dev_printk(KERN_DEBUG, &pciedev->device, + "AER_DEBUG: pcie_osc_support_set failed, status 0x%x, %s\n", + status, acpi_format_exception(status)); + } status = pci_osc_control_set(handle, OSC_PCI_EXPRESS_AER_CONTROL | OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL); } if (ACPI_FAILURE(status)) { - dev_printk(KERN_DEBUG, &pciedev->device, "AER service couldn't " - "init device: %s\n", + dev_printk(KERN_DEBUG, &pciedev->device, "AER_DEBUG: AER service couldn't " + "init device: %s, status 0x%x, %s\n", (status == AE_SUPPORT || status == AE_NOT_FOUND) ? - "no _OSC support" : "_OSC failed"); + "no _OSC support" : "_OSC failed", + status, acpi_format_exception(status)); return -1; } Lin Ming On Thu, 2008-11-06 at 11:01 +0800, Zhang, Yanmin wrote: > -------- Forwarded Message -------- > > From: Tomasz Czernecki <czernecki@xxxxxxxxx> > > To: Zhang, Yanmin <yanmin_zhang@xxxxxxxxxxxxxxx> > > Cc: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx>, Jesse Barnes > > <jbarnes@xxxxxxxxxxxxxxxx>, Yu Zhao <yu.zhao@xxxxxxxxxxxx>, > > linux-pci@xxxxxxxxxxxxxxx > > Subject: Re: Testing request > > Date: Mon, 3 Nov 2008 19:03:48 -0400 > > > > Yanmin, (or Taku) > > > > It appears the problem started at the Oct.17 change "Change > > pci_osc_control_set() to query control bits first". The commit is > > 4e39432f4df544d3dfe4fc90a22d87de64d15815. Can you help explain the > > details of what this change is so we can check with our BIOS person if > > there is anything he needs to change to support this change? > > > > Thanks. > > Tomasz > > > > On Fri, Oct 31, 2008 at 2:14 AM, Zhang, Yanmin > > <yanmin_zhang@xxxxxxxxxxxxxxx> wrote: > > > > > > On Thu, 2008-10-30 at 09:51 -0400, Tomasz Czernecki wrote: > > >> Hi Yanmin, > > >> > > >> 0000:00:0c [0xc = 12 dec] is a PCI bridge. 0000:00:12 [0x12 = 18 dec] > > >> is the USB controller. Below is the lspci -vvv dump for 0000:00:0c. > > >> I retried 2.6.27 with your original patch > > >> (aer_bypass_unknown_cap_2.6.27-rc7_vw.patch) and there are no _OSC > > >> error messages and everything works fine (I get "aer > > >> 0000:00:0c.0:pcie01: service driver aer loaded" in the boot log). So > > >> it seems like something's changed b/w 2.6.27 and 2.6.28rc2 -> any > > >> ideas? > > >> > > >> Hi Taku, > > >> > > >> Any ideas based on the extended ACPI debug data provided in previous email? > > > Tomasz, > > > > > > can you do a git bisect on kernel? I suspect the call to pci_osc_control_set > > > in function aer_osc_setup fails. I discussed with ACPI guys in my team and they > > > suggest to do a bisect. > > > > > > 1) download the latest git tree; > > > 2) Checkout to the point that Jesse's patch is merged to solve previous issue and > > > test if it fixes it; If it does, do a bisect between that tag and linux-2.6.28-rc2. > > > > > > yanmin > > > > > >> > > >> 00:0c.0 PCI bridge: CUSTOM (prog-if 00 [Normal decode]) > > >> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- > > >> Stepping- SERR- FastB2B- DisINTx+ > > >> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > > >> <TAbort- <MAbort- >SERR- <PERR- INTx- > > >> Latency: 0, Cache Line Size: 32 bytes > > >> Bus: primary=00, secondary=02, subordinate=02, sec-latency=0 > > >> I/O behind bridge: 0000f000-00000fff > > >> Memory behind bridge: fc000000-fc0fffff > > >> Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff > > >> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- > > >> <TAbort- <MAbort+ <SERR- <PERR- > > >> BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B- > > >> PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- > > >> Capabilities: [50] Power Management version 3 > > >> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+) > > >> Status: D0 PME-Enable- DSel=0 DScale=0 PME- > > >> Capabilities: [58] Express (v2) Root Port (Slot+), MSI 00 > > >> DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us > > >> ExtTag+ RBE+ FLReset- > > >> DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+ > > >> RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > > >> MaxPayload 128 bytes, MaxReadReq 128 bytes > > >> DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- > > >> LnkCap: Port #1, Speed 5GT/s, Width x8, ASPM L0s L1, Latency L0 <64ns, L1 <1us > > >> ClockPM- Suprise- LLActRep+ BwNot+ > > >> LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk- > > >> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > > >> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ > > >> BWMgmt- ABWMgmt- > > >> SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surpise- > > >> Slot # c, PowerLimit 75.000000; Interlock- NoCompl+ > > >> SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg- > > >> Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock- > > >> SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock- > > >> Changed: MRL- PresDet+ LinkState+ > > >> RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible- > > >> RootCap: CRSVisible- > > >> RootSta: PME ReqID 0000, PMEStatus- PMEPending- > > >> Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable+ > > >> Address: feeff00c Data: 4161 > > >> Capabilities: [b0] Subsystem: <CUSTOM> Device 1234 > > >> Capabilities: [100] Vendor Specific Information <?> > > >> Capabilities: [150] Advanced Error Reporting <?> > > >> Capabilities: [190] Access Controls <?> > > >> Kernel driver in use: pcieport-driver > > >> Kernel modules: shpchp > > >> > > >> Tomasz > > >> > > >> > > >> On Thu, Oct 30, 2008 at 1:55 AM, Zhang, Yanmin > > >> <yanmin_zhang@xxxxxxxxxxxxxxx> wrote: > > >> > > > >> > On Wed, 2008-10-29 at 13:21 -0400, Tomasz Czernecki wrote: > > >> >> Sorry - that was a typo. The 'x' should be a 'c' in my error message. > > >> > The lspci output in your previous email just shows 0000:00:0c.[012] are > > >> > USB controllers, not root ports. > > >> > > > >> >> This is the same system as I was using previously. I'll try the > > >> >> older kernel with Yanmin's original patch to see if that works to > > >> >> ensure there isn't anything else wrong with the system. The BIOS is > > >> >> also newer now but nothing should have changed in the OSC > > >> >> implementation. > > >> >> > > >> >> Attached is the output of dmesg | grep OSC. Any thoughts? Let me > > >> >> know if you need any of the dmesg dump around any of the lines (the > > >> >> boot log is 60M in size since I turned on all the debug levels so I > > >> >> just filtered out the lines with "OSC" for now) > > >> >> > > >> >> Tomasz > > >> >> > > >> >> On Wed, Oct 29, 2008 at 4:12 AM, Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> wrote: > > >> >> > Hi Tomasz, > > >> >> > > > >> >> >> I got the latest 2.6 (2.6.28-rc2) working, but the problem I see now > > >> >> >> is that I get this message: > > >> >> >> > > >> >> >> "aer 0000:00:0x.0:pcie01: AER service couldn't init device: _OSC failed" > > >> >> >> > > >> >> >> I didn't get this with the older patched kernel, which worked fine. > > >> >> >> Any ideas what could be causing this? > > >> >> > > > >> >> > I tested 2.6.28-rc2 (the latest linux-next branch of Jesses' git tree) > > >> >> > on my machine, and aer driver seems to work well. > > >> >> > How about enabling CONFIG_ACPI_DEBUG in kernel config and booting > > >> >> > with acpi.deubg_level option specified ? > > >> >> > > > >> >> > Maybe your problem has anything to do with the following patch. > > >> >> > > > >> >> > http://marc.info/?l=git-commits-head&m=122506555727097&w=2 > > >> >> > > > >> >> > > > >> >> > Best regards, > > >> >> > Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> > > >> >> > > > >> >> > > > >> > > > >> > > > > > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html