Messages in this thread | | | Date | Wed, 11 May 2005 08:12:16 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: [RFC][PATCH] timers fixes/improvements |
| |
On Wed, 11 May 2005, Oleg Nesterov wrote:
> > However, if the padding is put before ptype_base and after ptype_all > > then the problem occurs. > > So. ptype_base/ptype_all is corrupted before e1000_probe()->register_netdev(). > > Christoph, please, could you try this patch?
We found that this has nothing to do with the timer patches. There is a scribble in pcie_rootport_aspm_quirk that overwrites ptype_all.
quirk_aspm_offset[GET_INDEX(pdev->device, dev->devfn)]= cap_base + 0x10;
does the evil deed. The array offset calculated by GET_INDEX is out of bounds.
The definition of GET_INDEX is suspect:
#define GET_INDEX(a, b) (((a - PCI_DEVICE_ID_INTEL_MCH_PA) << 3) + b)
should this not be
#define GET_INDEX(a, b) ((((a) - PCI_DEVICE_ID_INTEL_MCH_PA) << 3) + \ ((b) & 7))
?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |