Subject: Re: 2.4.29, e100 and a WOL packet causes keventd going mad

From: Bukie Mabayoje <[email-masked]>
Date: Mon, 31 Jan 2005 12:57:07 -0800

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-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/