diff options
author | Anish Bhatt <anish@chelsio.com> | 2014-08-02 22:50:44 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-08-03 03:34:33 (GMT) |
commit | e6b92c25d20c64c271ef429bba8febeefb848b5b (patch) | |
tree | bf3d1ba8c46554c0d181538382176a545c9c2022 /drivers/scsi | |
parent | bae2e81a69c3f0e93707b36a5a655ca0e365a78d (diff) | |
download | linux-e6b92c25d20c64c271ef429bba8febeefb848b5b.tar.xz |
cxgb4i : remove spurious use of rcu
As pointed out by the intel guys, there is no need to hold rcu read lock in
cxgbi_inet6addr_handler(), this patch removes it.
Fixes: 759a0cc5a3e1 ("cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api")
Signed-off-by: Anish Bhatt <anish@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c index a4a4e98..d31f9e6 100644 --- a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c +++ b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c @@ -1646,25 +1646,22 @@ static int cxgbi_inet6addr_handler(struct notifier_block *this, struct cxgbi_device *cdev; int ret = NOTIFY_DONE; - rcu_read_lock(); - if (event_dev->priv_flags & IFF_802_1Q_VLAN) event_dev = vlan_dev_real_dev(event_dev); cdev = cxgbi_device_find_by_netdev(event_dev, NULL); - if (!cdev) { - rcu_read_unlock(); + + if (!cdev) return ret; - } + switch (event) { case NETDEV_UP: ret = cxgb4_clip_get(event_dev, (const struct in6_addr *) ((ifa)->addr.s6_addr)); - if (ret < 0) { - rcu_read_unlock(); + if (ret < 0) return ret; - } + ret = NOTIFY_OK; break; @@ -1679,7 +1676,6 @@ static int cxgbi_inet6addr_handler(struct notifier_block *this, break; } - rcu_read_unlock(); return ret; } |