From e6b92c25d20c64c271ef429bba8febeefb848b5b Mon Sep 17 00:00:00 2001 From: Anish Bhatt Date: Sat, 2 Aug 2014 15:50:44 -0700 Subject: [PATCH] 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 Signed-off-by: David S. Miller --- drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c index a4a4e98effdd..d31f9e600639 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; } -- 2.20.1