cxgb4i : remove spurious use of rcu
authorAnish Bhatt <anish@chelsio.com>
Sat, 2 Aug 2014 22:50:44 +0000 (15:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 3 Aug 2014 03:34:33 +0000 (20:34 -0700)
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>
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c

index a4a4e98..d31f9e6 100644 (file)
@@ -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;
 }