On Tue, 5 May 2020 18:25:58 +0200 Julian Wiedmann wrote: > Implement the .reset callback. Only a full reset is supported. > > Signed-off-by: Julian Wiedmann <jwi@xxxxxxxxxxxxx> > Reviewed-by: Alexandra Winter <wintera@xxxxxxxxxxxxx> > --- > drivers/s390/net/qeth_ethtool.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/s390/net/qeth_ethtool.c b/drivers/s390/net/qeth_ethtool.c > index ebdc03210608..0d12002d0615 100644 > --- a/drivers/s390/net/qeth_ethtool.c > +++ b/drivers/s390/net/qeth_ethtool.c > @@ -193,6 +193,21 @@ static void qeth_get_drvinfo(struct net_device *dev, > CARD_RDEV_ID(card), CARD_WDEV_ID(card), CARD_DDEV_ID(card)); > } > > +static int qeth_reset(struct net_device *dev, u32 *flags) > +{ > + struct qeth_card *card = dev->ml_priv; > + int rc; > + > + if (*flags != ETH_RESET_ALL) > + return -EINVAL; > + > + rc = qeth_schedule_recovery(card); > + if (!rc) > + *flags = 0; I think it's better if you only clear the flags for things you actually reset. See the commit message for 7a13240e3718 ("bnxt_en: fix ethtool_reset_flags ABI violations").