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

Cc: Sathya Perla <sathya.pe...@broadcom.com>
Cc: Ajit Khaparde <ajit.khapa...@broadcom.com>
Cc: Padmanabh Ratnakar <padmanabh.ratna...@broadcom.com>
Cc: Sriharsha Basavapatna <sriharsha.basavapa...@broadcom.com>
Cc: Somnath Kotur <somnath.ko...@broadcom.com>
Signed-off-by: Hannes Frederic Sowa <han...@stressinduktion.org>
---
 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