The issue is not the PME interrupt, the issue is that the device is going into a state that is not valid. A live system should never ASSERT PME# line. As long as this functionality is enable on the chip the PME will be asserted. To avoid this unwanted condition the driver should disable PME on the chip on a live system. And enable it back when it is going to any of the PWR STATE that require a wake up by the LAN.
"Brandeburg, Jesse" wrote: > >+static void e100_shutdown(struct device *dev) > >+{ > >+ struct pci_dev *pdev = container_of(dev, struct pci_dev, dev); > >+ struct net_device *netdev = pci_get_drvdata(pdev); > >+ struct nic *nic = netdev_priv(netdev); > >+ > >+ pci_enable_wake(pdev, PCI_D0, nic->flags & (wol_magic | > >e100_asf(nic))); > >+} > >+ > > Separately, does anyone think that the OS should be handling the PME event on > the bus (as it comes from the PIC as an interrupt, and can be masked at the > PIC) with a default handler? The machines having the problem seem to be > killed by an interrupt storm generated by the PME interrupt, just a guess. > > Jesse > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/