|
@@ -383,7 +383,7 @@ static int cnic_iscsi_nl_msg_recv(struct cnic_dev *dev, u32 msg_type,
|
|
break;
|
|
break;
|
|
|
|
|
|
rcu_read_lock();
|
|
rcu_read_lock();
|
|
- if (!rcu_dereference(cp->ulp_ops[CNIC_ULP_L4])) {
|
|
|
|
|
|
+ if (!rcu_access_pointer(cp->ulp_ops[CNIC_ULP_L4])) {
|
|
rc = -ENODEV;
|
|
rc = -ENODEV;
|
|
rcu_read_unlock();
|
|
rcu_read_unlock();
|
|
break;
|
|
break;
|
|
@@ -527,7 +527,7 @@ int cnic_unregister_driver(int ulp_type)
|
|
list_for_each_entry(dev, &cnic_dev_list, list) {
|
|
list_for_each_entry(dev, &cnic_dev_list, list) {
|
|
struct cnic_local *cp = dev->cnic_priv;
|
|
struct cnic_local *cp = dev->cnic_priv;
|
|
|
|
|
|
- if (rcu_dereference(cp->ulp_ops[ulp_type])) {
|
|
|
|
|
|
+ if (rcu_access_pointer(cp->ulp_ops[ulp_type])) {
|
|
pr_err("%s: Type %d still has devices registered\n",
|
|
pr_err("%s: Type %d still has devices registered\n",
|
|
__func__, ulp_type);
|
|
__func__, ulp_type);
|
|
read_unlock(&cnic_dev_lock);
|
|
read_unlock(&cnic_dev_lock);
|
|
@@ -575,7 +575,7 @@ static int cnic_register_device(struct cnic_dev *dev, int ulp_type,
|
|
mutex_unlock(&cnic_lock);
|
|
mutex_unlock(&cnic_lock);
|
|
return -EAGAIN;
|
|
return -EAGAIN;
|
|
}
|
|
}
|
|
- if (rcu_dereference(cp->ulp_ops[ulp_type])) {
|
|
|
|
|
|
+ if (rcu_access_pointer(cp->ulp_ops[ulp_type])) {
|
|
pr_err("%s: Type %d has already been registered to this device\n",
|
|
pr_err("%s: Type %d has already been registered to this device\n",
|
|
__func__, ulp_type);
|
|
__func__, ulp_type);
|
|
mutex_unlock(&cnic_lock);
|
|
mutex_unlock(&cnic_lock);
|