diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index c8b42892655a..77cb30259dca 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -2960,7 +2960,8 @@ static int lan78xx_open(struct net_device *net) done: mutex_unlock(&dev->dev_mutex); - usb_autopm_put_interface(dev->intf); + if (ret < 0) + usb_autopm_put_interface(dev->intf); return ret; }