On Mon, Dec 01, 2014 at 10:10:23PM +0100, Michael Büsch wrote: > On Mon, 1 Dec 2014 23:46:38 +0300 > Andrey Skvortsov <andrej.skvort...@gmail.com> wrote: > > > Wake On Lan was not working on laptop DELL Vostro 1500. > > If WOL was turned on, BCM4401 was powered up in suspend mode. LEDs blinked. > > But the laptop could not be woken up with the Magic Packet. The reason for > > that was that PCIE was not enabled as a system wakeup source and > > therefore the host PCI bridge was not powered up in suspend mode. > > PCIE was not enabled in suspend by PM because no child devices were > > registered as wakeup source during suspend process. > > On laptop BCM4401 is connected through the SSB bus, that is connected to the > > PCI-Express bus. SSB and B44 did not use standard PM wakeup functions > > and did not forward wakeup settings to their parents. > > To fix that B44 driver enables PM wakeup and registers new wakeup source > > using device_set_wakeup_enable(). Wakeup is automatically reported to the > > parent SSB > > bus via power.wakeup_path. SSB bus enables wakeup for the parent PCI > > bridge, if there is any > > child devices with enabled wakeup functionality. All other steps are > > done by PM core code. > > Thanks, this looks good. > I assume you tested this (I currently don't have a device to test this).
Sure, I've tested it. WOL from suspend is working and after resume from hibernate Ethernet is working too. > Larry, Rafał, any other b43 user: > Can you please test whether this doesn't cause regressions for suspend/resume > on b43? > (Patch is attached as reference) > > > > Signed-off-by: Andrey Skvortsov <andrej.skvort...@gmail.com> > > --- > > drivers/net/ethernet/broadcom/b44.c | 2 ++ > > drivers/ssb/pcihost_wrapper.c | 33 > > ++++++++++++++++++++++----------- > > 2 files changed, 24 insertions(+), 11 deletions(-) -- Best regards, Andrey Skvortsov PGP Key ID: 0x57A3AEAD
signature.asc
Description: Digital signature