From: Pavel Belous <pavel.bel...@aquantia.com>

rtnl_unlock should be called if error occurred.

Signed-off-by: Pavel Belous <pavel.bel...@aquantia.com>
---
 drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c 
b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
index a153750..1bf5975 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
@@ -931,7 +931,7 @@ int aq_nic_change_pm_state(struct aq_nic_s *self, 
pm_message_t *pm_msg)
 
        if (!netif_running(self->ndev)) {
                err = 0;
-               goto err_exit;
+               goto out;
        }
        rtnl_lock();
        if (pm_msg->event & PM_EVENT_SLEEP || pm_msg->event & PM_EVENT_FREEZE) {
@@ -956,8 +956,9 @@ int aq_nic_change_pm_state(struct aq_nic_s *self, 
pm_message_t *pm_msg)
                netif_device_attach(self->ndev);
                netif_tx_start_all_queues(self->ndev);
        }
-       rtnl_unlock();
 
 err_exit:
+       rtnl_unlock();
+out:
        return err;
 }
-- 
2.7.4

Reply via email to