On Thu, 2011-03-17 at 20:41 -0700, Lai Jiangshan wrote: > > 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@xxxxxxxxxxxxxx> > --- > 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 a7175ad..29abab0 100644 > --- a/drivers/scsi/libfc/fc_rport.c > +++ b/drivers/scsi/libfc/fc_rport.c > @@ -151,18 +151,6 @@ static struct fc_rport_priv *fc_rport_create(struct fc_lport *lport, > } > > /** > - * fc_rport_free_rcu() - Free a remote port > - * @rcu: The rcu_head structure inside the remote port > - */ > -static void fc_rport_free_rcu(struct rcu_head *rcu) > -{ > - struct fc_rport_priv *rdata; > - > - rdata = container_of(rcu, struct fc_rport_priv, rcu); > - kfree(rdata); > -} > - > -/** > * fc_rport_destroy() - Free a remote port after last reference is released > * @kref: The remote port's kref > */ > @@ -171,7 +159,7 @@ static void fc_rport_destroy(struct kref *kref) > struct fc_rport_priv *rdata; > > rdata = container_of(kref, struct fc_rport_priv, kref); > - call_rcu(&rdata->rcu, fc_rport_free_rcu); > + kfree_rcu(rdata, rcu); I think this last line should be: kfree_rcu(rdata, &rdata->rcu); Thanks, //Rob -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html