summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNithin Sujir <nsujir@broadcom.com>2011-03-18 01:13:27 +0100
committerJames Bottomley <James.Bottomley@suse.de>2011-03-23 17:37:00 +0100
commit6702ca1dffbc864497b6f2c68543aad9bbf0bcee (patch)
tree6c53aac4e8de5150a4378ae67acafb93e0e905d9
parent[SCSI] bnx2fc: Avoid holding cq_lock when iounmap() is called (diff)
downloadlinux-6702ca1dffbc864497b6f2c68543aad9bbf0bcee.tar.xz
linux-6702ca1dffbc864497b6f2c68543aad9bbf0bcee.zip
[SCSI] bnx2fc: Remove rtnl_trylock/restart_syscall checks
Call rtnl_lock instead of rtnl_trylock & restart_syscall. This is bnx2fc counterpart of fcoe fixes, here is the reference: https://lists.open-fcoe.org/pipermail/devel/2011-March/011199.html Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com> Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r--drivers/scsi/bnx2fc/bnx2fc_fcoe.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
index e476e8753079..13271a43cd35 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
@@ -1432,8 +1432,7 @@ static int bnx2fc_destroy(struct net_device *netdev)
struct net_device *phys_dev;
int rc = 0;
- if (!rtnl_trylock())
- return restart_syscall();
+ rtnl_lock();
mutex_lock(&bnx2fc_dev_lock);
#ifdef CONFIG_SCSI_BNX2X_FCOE_MODULE
@@ -1805,10 +1804,7 @@ static int bnx2fc_disable(struct net_device *netdev)
struct ethtool_drvinfo drvinfo;
int rc = 0;
- if (!rtnl_trylock()) {
- printk(KERN_ERR PFX "retrying for rtnl_lock\n");
- return -EIO;
- }
+ rtnl_lock();
mutex_lock(&bnx2fc_dev_lock);
@@ -1867,10 +1863,7 @@ static int bnx2fc_enable(struct net_device *netdev)
struct ethtool_drvinfo drvinfo;
int rc = 0;
- if (!rtnl_trylock()) {
- printk(KERN_ERR PFX "retrying for rtnl_lock\n");
- return -EIO;
- }
+ rtnl_lock();
BNX2FC_MISC_DBG("Entered %s\n", __func__);
mutex_lock(&bnx2fc_dev_lock);
@@ -1942,10 +1935,8 @@ static int bnx2fc_create(struct net_device *netdev, enum fip_state fip_mode)
return -EIO;
}
- if (!rtnl_trylock()) {
- printk(KERN_ERR "trying for rtnl_lock\n");
- return -EIO;
- }
+ rtnl_lock();
+
mutex_lock(&bnx2fc_dev_lock);
#ifdef CONFIG_SCSI_BNX2X_FCOE_MODULE