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 |
> 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.
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/