> 
> 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.

Reply via email to