be_open calls down to functions which expects rtnl lock to be held.

Cc: Sathya Perla <[email protected]>
Cc: Ajit Khaparde <[email protected]>
Cc: Padmanabh Ratnakar <[email protected]>
Cc: Sriharsha Basavapatna <[email protected]>
Cc: Somnath Kotur <[email protected]>
Signed-off-by: Hannes Frederic Sowa <[email protected]>
---
 drivers/net/ethernet/emulex/benet/be_main.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/emulex/benet/be_main.c 
b/drivers/net/ethernet/emulex/benet/be_main.c
index 536686476369bf..ed98ef1ecac38d 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -4890,11 +4890,13 @@ static int be_resume(struct be_adapter *adapter)
        if (status)
                return status;
 
-       if (netif_running(netdev)) {
+       rtnl_lock();
+       if (netif_running(netdev))
                status = be_open(netdev);
-               if (status)
-                       return status;
-       }
+       rtnl_unlock();
+
+       if (status)
+               return status;
 
        netif_device_attach(netdev);
 
-- 
2.5.5

Reply via email to