> > On Sat, Sep 06, 2014 at 09:18:26PM +0200, Mark Kettenis wrote: > > As pea@ noticed, Apple machines with an NVIDIA MCP79 chipset will > > suffer an interrupt storm when you send them WOL packet to their > > nfe(4) interface. The acpi0 interrupt handler fires continously in > > this case. Some digging revealed that the device wake GPE for the > > nfe(4) interface was casuing this. The machine's AML sends a > > notification, suggesting that the device driver for the device needs > > to take some action. But ours doesn't. > > > > Some more digging revealed that the PCIe PME status bit gets set. > > Clearing that bit stops the interrupts and makes the machine happy > > again. > > > > So here is a diff that installs a notification handler for all PCI > > devices that clears the PME status bit if the device has one. This > > seems to be what Windows does. At least I found some Microsoft > > documentation that says that the PCI driver is responsible for > > clearing the PME status bit if a PME event is received. > > > > ok? > > Just a nit, there's a dozen or so notify types in the spec, should we > replace '2' with something more understandable like ACPI_PME_EVENT or > similar? That suggestion should probably apply to the others we look > at in other places like 0x81 / 0x82, etc. Maybe that's better left > for another cleanup diff? > > Other than that, diff looks ok to me.
Yeah, some #defines for those magic constants would be good. We actually have some, but their names are dock-specific. So this will need some additional cleanup. I'll see what I can do.
