Re: sky2 (was Re: 2.6.18-mm2)

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

 



Hi Stephen,

I believe I have identified the problem. The freeze only happens when
your debug patch to work around sky2 PCIe error messages is applied.
Without your patch (attached) I get _tons_ of error messages and the NIC
dies every few seconds / minutes (reproduceable!), but the system
recovers just fine from a NIC crash.

I have verified this behavior (works fine w/o debug patch, freezes with
patch applied) with:
- 2.6.19-rc1-git4 
- 2.6.18-git something 
- 2.6.18-mm3
  
-- 
Matthias 'CoreDump' Hentges 

My OS: Debian SID. Geek by Nature, Linux by Choice
--- sky2.c.orig	2006-09-30 01:50:35.000000000 +0200
+++ sky2.c	2006-09-30 01:50:38.000000000 +0200
@@ -2463,6 +2463,7 @@
 
 	sky2_write8(hw, B0_CTST, CS_MRST_CLR);
 
+#define PEX_UNC_ERR_STAT 0x104         /* PCI extended error capablity */
 	/* clear any PEX errors */
 	if (pci_find_capability(hw->pdev, PCI_CAP_ID_EXP)) {
 		hw->err_cap = pci_find_ext_capability(hw->pdev, PCI_EXT_CAP_ID_ERR);
@@ -2470,6 +2471,16 @@
 			sky2_pci_write32(hw,
 					 hw->err_cap + PCI_ERR_UNCOR_STATUS,
 					 0xffffffffUL);
+               else
+                       printk(KERN_ERR PFX "pci express found but not extended error support?\n");
+               
+               if (hw->err_cap + PCI_ERR_UNCOR_STATUS != PEX_UNC_ERR_STAT) {
+                       
+                       printk(KERN_ERR PFX "pci express error status register fixed from %#x to %#x\n",
+                              hw->err_cap, PEX_UNC_ERR_STAT - PCI_ERR_UNCOR_STATUS);
+                       hw->err_cap = PEX_UNC_ERR_STAT - PCI_ERR_UNCOR_STATUS;
+               }
+					 
 	}
 
 	hw->pmd_type = sky2_read8(hw, B2_PMD_TYP);

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux