From debae53e22d2faa71a3986e56027fd02a7def342 Mon Sep 17 00:00:00 2001 From: Anirban Chakraborty Date: Wed, 22 Jun 2011 02:52:18 +0000 Subject: [PATCH] --- yaml --- r: 255681 b: refs/heads/master c: 287e38aa1adee01f63bb28e270afd3f738a6ab8c h: refs/heads/master i: 255679: b2aaf3bbeeaa74645fa41f4707a83d7dfeb18556 v: v3 --- [refs] | 2 +- trunk/drivers/net/qlcnic/qlcnic_ethtool.c | 6 ------ trunk/drivers/net/qlcnic/qlcnic_main.c | 8 +++++--- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index a58e36dbdcc0..8819dae403d6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 602ca6f00a0d95a0d0cec84f492324ee71d14e09 +refs/heads/master: 287e38aa1adee01f63bb28e270afd3f738a6ab8c diff --git a/trunk/drivers/net/qlcnic/qlcnic_ethtool.c b/trunk/drivers/net/qlcnic/qlcnic_ethtool.c index 8ea800192d5d..e183ed2271b2 100644 --- a/trunk/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/trunk/drivers/net/qlcnic/qlcnic_ethtool.c @@ -986,8 +986,6 @@ qlcnic_get_dump_data(struct net_device *netdev, struct ethtool_dump *dump, struct qlcnic_adapter *adapter = netdev_priv(netdev); struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump; - if (qlcnic_api_lock(adapter)) - return -EIO; if (!fw_dump->clr) { netdev_info(netdev, "Dump not available\n"); qlcnic_api_unlock(adapter); @@ -1009,7 +1007,6 @@ qlcnic_get_dump_data(struct net_device *netdev, struct ethtool_dump *dump, vfree(fw_dump->data); fw_dump->data = NULL; fw_dump->clr = 0; - qlcnic_api_unlock(adapter); return 0; } @@ -1032,10 +1029,7 @@ qlcnic_set_dump(struct net_device *netdev, struct ethtool_dump *val) ret = -EINVAL; goto out; } - if (qlcnic_api_lock(adapter)) - return -EIO; fw_dump->tmpl_hdr->drv_cap_mask = val->flag & 0xff; - qlcnic_api_unlock(adapter); netdev_info(netdev, "Driver mask changed to: 0x%x\n", fw_dump->tmpl_hdr->drv_cap_mask); } diff --git a/trunk/drivers/net/qlcnic/qlcnic_main.c b/trunk/drivers/net/qlcnic/qlcnic_main.c index 0ddbb80eefc7..a656a12e24d1 100644 --- a/trunk/drivers/net/qlcnic/qlcnic_main.c +++ b/trunk/drivers/net/qlcnic/qlcnic_main.c @@ -2846,13 +2846,15 @@ qlcnic_fwinit_work(struct work_struct *work) set_bit(__QLCNIC_START_FW, &adapter->state); QLCDB(adapter, DRV, "Restarting fw\n"); qlcnic_idc_debug_info(adapter, 0); - QLCDB(adapter, DRV, "Take FW dump\n"); - qlcnic_dump_fw(adapter); - adapter->flags &= ~QLCNIC_FW_RESET_OWNER; } qlcnic_api_unlock(adapter); + rtnl_lock(); + QLCDB(adapter, DRV, "Take FW dump\n"); + qlcnic_dump_fw(adapter); + adapter->flags &= ~QLCNIC_FW_RESET_OWNER; + rtnl_unlock(); if (!adapter->nic_ops->start_firmware(adapter)) { qlcnic_schedule_work(adapter, qlcnic_attach_work, 0); adapter->fw_wait_cnt = 0;