summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/cxgbi/cxgb4i/cxgb4i.c14
1 files 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;
}