Re: Testing request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux