From: Karol Herbst <g...@karolherbst.de> Date: Thu, 10 Mar 2016 15:58:03 +0100
> @@ -4218,8 +4219,9 @@ static void nv_get_wol(struct net_device *dev, struct > ethtool_wolinfo *wolinfo) > wolinfo->supported = WAKE_MAGIC; > > spin_lock_irq(&np->lock); > - if (np->wolenabled) > - wolinfo->wolopts = WAKE_MAGIC; > + wolinfo->wolopts = 0; > + if (np->wolenabled & WAKE_MAGIC) > + wolinfo->wolopts |= WAKE_MAGIC; > spin_unlock_irq(&np->lock); > } > When I see a change like this I can see you don't understand the contract that exists between the ethtool core layer and your driver. The command info struct, in this case 'wolinfo' passed to you is zero'd out, always. Therefore the part of the change explicitly clearing out wolinfo->wolopts is completely unnecessary and needs to be removed. Thanks.