diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2011-03-17 23:41:14 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-07-20 17:10:12 -0400 |
commit | 8497a24a43374f0142335b0ef0614ccc459e3d8d (patch) | |
tree | 2b6fc5099eec5a752ab8d4e2adbbf35926cf3470 /drivers | |
parent | 3b097c46964b07479855b01056c61540b8cadd50 (diff) |
scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu()
The rcu callback fc_rport_free_rcu() just calls a kfree(),
so we use kfree_rcu() instead of the call_rcu(fc_rport_free_rcu).
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Robert Love <robert.w.love@intel.com>
Cc: "James E.J. Bottomley" <James.Bottomley@suse.de>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/libfc/fc_rport.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c index 49e1ccca09d5..01e13a2eb93a 100644 --- a/drivers/scsi/libfc/fc_rport.c +++ b/drivers/scsi/libfc/fc_rport.c | |||
@@ -153,18 +153,6 @@ static struct fc_rport_priv *fc_rport_create(struct fc_lport *lport, | |||
153 | } | 153 | } |
154 | 154 | ||
155 | /** | 155 | /** |
156 | * fc_rport_free_rcu() - Free a remote port | ||
157 | * @rcu: The rcu_head structure inside the remote port | ||
158 | */ | ||
159 | static void fc_rport_free_rcu(struct rcu_head *rcu) | ||
160 | { | ||
161 | struct fc_rport_priv *rdata; | ||
162 | |||
163 | rdata = container_of(rcu, struct fc_rport_priv, rcu); | ||
164 | kfree(rdata); | ||
165 | } | ||
166 | |||
167 | /** | ||
168 | * fc_rport_destroy() - Free a remote port after last reference is released | 156 | * fc_rport_destroy() - Free a remote port after last reference is released |
169 | * @kref: The remote port's kref | 157 | * @kref: The remote port's kref |
170 | */ | 158 | */ |
@@ -173,7 +161,7 @@ static void fc_rport_destroy(struct kref *kref) | |||
173 | struct fc_rport_priv *rdata; | 161 | struct fc_rport_priv *rdata; |
174 | 162 | ||
175 | rdata = container_of(kref, struct fc_rport_priv, kref); | 163 | rdata = container_of(kref, struct fc_rport_priv, kref); |
176 | call_rcu(&rdata->rcu, fc_rport_free_rcu); | 164 | kfree_rcu(rdata, rcu); |
177 | } | 165 | } |
178 | 166 | ||
179 | /** | 167 | /** |