diff mbox

Revert "igb: Fix a deadlock in igb_sriov_reinit"

Message ID 57047E20.1090700@huawei.com
State Accepted
Delegated to: Jeff Kirsher
Headers show

Commit Message

c00176621 April 6, 2016, 3:10 a.m. UTC
This reverts commit 3eb14ea8d958 ("igb: Fix a deadlock in
igb_sriov_reinit")
It is the same as commit f468adc944ef ("igb: missing rtnl_unlock in
igb_sriov_reinit()")
There is no rtnl_lock() in igb_resume before, rtnl_unlock will cause a
deadlock.

Signed-off-by: Arika Chen <arika.chen@huawei.com>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 1 -
 1 file changed, 1 deletion(-)

--
1.8.5.2

Comments

Brown, Aaron F April 7, 2016, 1:42 a.m. UTC | #1
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces@lists.osuosl.org] On
> Behalf Of c00176621
> Sent: Tuesday, April 5, 2016 8:10 PM
> To: intel-wired-lan@lists.osuosl.org
> Cc: Liuyongan <liuyongan@huawei.com>; baijiaju1990@163.com;
> wangyunjian <wangyunjian@huawei.com>
> Subject: [Intel-wired-lan] [PATCH] Revert "igb: Fix a deadlock in
> igb_sriov_reinit"
> 
> This reverts commit 3eb14ea8d958 ("igb: Fix a deadlock in
> igb_sriov_reinit")
> It is the same as commit f468adc944ef ("igb: missing rtnl_unlock in
> igb_sriov_reinit()")
> There is no rtnl_lock() in igb_resume before, rtnl_unlock will cause a
> deadlock.
> 
> Signed-off-by: Arika Chen <arika.chen@huawei.com>
> ---
>  drivers/net/ethernet/intel/igb/igb_main.c | 1 -
>  1 file changed, 1 deletion(-)

Yeah, it looks like the a rtnl_unlock got thrown into another function as a side effect of adding it to igb_sriov_reinit

Tested-by: Aaron Brown <aaron.f.brown@intel.com>
diff mbox

Patch

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 55a1405c..b252f9c 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -7574,7 +7574,6 @@  static int igb_resume(struct device *dev)

        if (igb_init_interrupt_scheme(adapter, true)) {
                dev_err(&pdev->dev, "Unable to allocate memory for queues\n");
-               rtnl_unlock();
                return -ENOMEM;
        }