Hi, On Mon, Jul 29, 2024 at 09:37:56PM GMT, Andrew Lunn wrote: > > > > +static void m_can_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) > > > > +{ > > > > + struct m_can_classdev *cdev = netdev_priv(dev); > > > > + > > > > + wol->supported = device_can_wakeup(cdev->dev) ? WAKE_PHY : 0; > > > > + wol->wolopts = device_may_wakeup(cdev->dev) ? WAKE_PHY : 0; > > > > +} > > > > > > It is nice to see Ethernet WoL mapped to CAN :-) > > > > > > So will any activity on the CAN BUS wake the device? Or does it need > > > to be addresses to this device? > > > > Unless you have a special filtering transceiver, which is the CAN > > equivalent of a PHY, CAN interfaces usually wake up on the first > > message on the bus. That message is usually lost. > > Thanks for the info. WAKE_PHY does seem the most appropriate then. > > Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Thank you. Just to extend on Marc's explanation specifically for m_can: For this very low power mode 'Partial-IO' the m_can IP is not active. The m_can pins will trigger a wakeup for any activity. Also as the SoC needs to do a normal boot, I would guess there are more messages lost when waking up from Partial-IO. Other low power modes that will be upstreamed in the future will not need as much time to be able to receive CAN messages again. Best Markus