On Fri, Oct 20, 2023 at 07:08:56AM +0200, Oleksij Rempel wrote: > On Thu, Oct 19, 2023 at 08:29:53PM +0300, Vladimir Oltean wrote: > > I don't get it, why do you release the reference on the MAC address as > > soon as you successfully get it? Without a reference held, the > > programmed address still lingers on, but the HSR offload code, on a > > different port with a different MAC address, can change it and break WoL. > > It is ksz9477_get_wol() function. We do not actually need to program > here the MAC address, we only need to test if we would be able to get > it. To show the use more or less correct information on WoL > capabilities. For example, instead showing the user that Wake on Magic > is supported, where we already know that is not the case, we can already > show correct information. May be it will be better to have > extra option for ksz_switch_macaddr_get() to not allocate and do the > refcounting or have a separate function. Ah, yes, it is from get_wol(). Maybe a ksz_switch_macaddr_tryget(ds, port) which returns bool (true if dev->switch_macaddr is NULL, or if non-NULL and ether_addr_equal(dev->switch_macaddr->addr, port addr))?