mirror of https://gitee.com/openkylin/linux.git
cnic: Update the rcu_access_pointer() usages
1. Remove the rcu_read_lock/unlock around rcu_access_pointer 2. Replace the rcu_dereference with rcu_access_pointer Signed-off-by: Tej Parkash <tej.parkash@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cd03cf0158
commit
8f4eb70059
|
@ -382,10 +382,8 @@ static int cnic_iscsi_nl_msg_recv(struct cnic_dev *dev, u32 msg_type,
|
||||||
if (l5_cid >= MAX_CM_SK_TBL_SZ)
|
if (l5_cid >= MAX_CM_SK_TBL_SZ)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
rcu_read_lock();
|
|
||||||
if (!rcu_access_pointer(cp->ulp_ops[CNIC_ULP_L4])) {
|
if (!rcu_access_pointer(cp->ulp_ops[CNIC_ULP_L4])) {
|
||||||
rc = -ENODEV;
|
rc = -ENODEV;
|
||||||
rcu_read_unlock();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
csk = &cp->csk_tbl[l5_cid];
|
csk = &cp->csk_tbl[l5_cid];
|
||||||
|
@ -414,7 +412,6 @@ static int cnic_iscsi_nl_msg_recv(struct cnic_dev *dev, u32 msg_type,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
csk_put(csk);
|
csk_put(csk);
|
||||||
rcu_read_unlock();
|
|
||||||
rc = 0;
|
rc = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -615,7 +612,7 @@ static int cnic_unregister_device(struct cnic_dev *dev, int ulp_type)
|
||||||
cnic_send_nlmsg(cp, ISCSI_KEVENT_IF_DOWN, NULL);
|
cnic_send_nlmsg(cp, ISCSI_KEVENT_IF_DOWN, NULL);
|
||||||
|
|
||||||
mutex_lock(&cnic_lock);
|
mutex_lock(&cnic_lock);
|
||||||
if (rcu_dereference(cp->ulp_ops[ulp_type])) {
|
if (rcu_access_pointer(cp->ulp_ops[ulp_type])) {
|
||||||
RCU_INIT_POINTER(cp->ulp_ops[ulp_type], NULL);
|
RCU_INIT_POINTER(cp->ulp_ops[ulp_type], NULL);
|
||||||
cnic_put(dev);
|
cnic_put(dev);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue