On Mon, Aug 19, 2024 at 07:23:42AM +0200, Jiri Slaby wrote: > On 19. 08. 24, 6:50, Jiri Slaby wrote: > > CC e1000e guys + Jesse (due to 75a3f93b5383) + Bjorn (due to b2c289415b2b) > > Bjorn, > > I am confused by these changes: > ========================================== > @@ -291,16 +288,13 @@ static int e1000_set_link_ksettings(struct net_device > *net > dev, > * duplex is forced. > */ > if (cmd->base.eth_tp_mdix_ctrl) { > - if (hw->phy.media_type != e1000_media_type_copper) { > - ret_val = -EOPNOTSUPP; > - goto out; > - } > + if (hw->phy.media_type != e1000_media_type_copper) > + return -EOPNOTSUPP; > > if ((cmd->base.eth_tp_mdix_ctrl != ETH_TP_MDI_AUTO) && > (cmd->base.autoneg != AUTONEG_ENABLE)) { > e_err("forcing MDI/MDI-X state is not supported when > lin > k speed and/or duplex are forced\n"); > - ret_val = -EINVAL; > - goto out; > + return -EINVAL; > } > } > > @@ -347,7 +341,6 @@ static int e1000_set_link_ksettings(struct net_device > *netde > v, > } > > out: > - pm_runtime_put_sync(netdev->dev.parent); > clear_bit(__E1000_RESETTING, &adapter->state); > return ret_val; > } > ========================================== > > So no more clear_bit(__E1000_RESETTING in the above fail paths. Is that > intentional? No, not intentional, looks like I just blew it, sorry. Will post a fix soon. Thanks a lot for debugging this. Bjorn