diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-11-23 02:09:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-23 18:48:19 -0500 |
commit | 2cfa5a0471fef43fda0b7bd87e3a5e4dbadb7809 (patch) | |
tree | 0603cf740823a45337e2b82ba63bae96a6e75186 /drivers/net/ethernet/broadcom/cnic.c | |
parent | 8c2152286aabe753519d7627a2992625b97e4b20 (diff) |
net: treewide use of RCU_INIT_POINTER
rcu_assign_pointer(ptr, NULL) can be safely replaced by
RCU_INIT_POINTER(ptr, NULL)
(old rcu_assign_pointer() macro was testing the NULL value and could
omit the smp_wmb(), but this had to be removed because of compiler
warnings)
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/cnic.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/cnic.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c index 099f41d99ec0..b336e55e0d80 100644 --- a/drivers/net/ethernet/broadcom/cnic.c +++ b/drivers/net/ethernet/broadcom/cnic.c | |||
@@ -506,7 +506,7 @@ int cnic_unregister_driver(int ulp_type) | |||
506 | } | 506 | } |
507 | read_unlock(&cnic_dev_lock); | 507 | read_unlock(&cnic_dev_lock); |
508 | 508 | ||
509 | rcu_assign_pointer(cnic_ulp_tbl[ulp_type], NULL); | 509 | RCU_INIT_POINTER(cnic_ulp_tbl[ulp_type], NULL); |
510 | 510 | ||
511 | mutex_unlock(&cnic_lock); | 511 | mutex_unlock(&cnic_lock); |
512 | synchronize_rcu(); | 512 | synchronize_rcu(); |
@@ -579,7 +579,7 @@ static int cnic_unregister_device(struct cnic_dev *dev, int ulp_type) | |||
579 | } | 579 | } |
580 | mutex_lock(&cnic_lock); | 580 | mutex_lock(&cnic_lock); |
581 | if (rcu_dereference(cp->ulp_ops[ulp_type])) { | 581 | if (rcu_dereference(cp->ulp_ops[ulp_type])) { |
582 | rcu_assign_pointer(cp->ulp_ops[ulp_type], NULL); | 582 | RCU_INIT_POINTER(cp->ulp_ops[ulp_type], NULL); |
583 | cnic_put(dev); | 583 | cnic_put(dev); |
584 | } else { | 584 | } else { |
585 | pr_err("%s: device not registered to this ulp type %d\n", | 585 | pr_err("%s: device not registered to this ulp type %d\n", |
@@ -5134,7 +5134,7 @@ static void cnic_stop_hw(struct cnic_dev *dev) | |||
5134 | } | 5134 | } |
5135 | cnic_shutdown_rings(dev); | 5135 | cnic_shutdown_rings(dev); |
5136 | clear_bit(CNIC_F_CNIC_UP, &dev->flags); | 5136 | clear_bit(CNIC_F_CNIC_UP, &dev->flags); |
5137 | rcu_assign_pointer(cp->ulp_ops[CNIC_ULP_L4], NULL); | 5137 | RCU_INIT_POINTER(cp->ulp_ops[CNIC_ULP_L4], NULL); |
5138 | synchronize_rcu(); | 5138 | synchronize_rcu(); |
5139 | cnic_cm_shutdown(dev); | 5139 | cnic_cm_shutdown(dev); |
5140 | cp->stop_hw(dev); | 5140 | cp->stop_hw(dev); |