Use rcu_dereference_protected to tell rcu that the ft_lport_lock

is held during ft_lport_create. This resolved "suspicious RCU usage"
warnings when debugging options are turned on.

Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4378 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2012-06-27 05:11:20 +00:00
parent 10ffe6d620
commit a4c70b8126

View File

@@ -48,7 +48,8 @@ static struct ft_tport *ft_tport_create(struct fc_lport *lport)
ft_format_wwn(name, sizeof(name), lport->wwpn);
FT_SESS_DBG("create %s\n", name);
tport = rcu_dereference(lport->prov[FC_TYPE_FCP]);
tport = rcu_dereference_protected(lport->prov[FC_TYPE_FCP],
lockdep_is_held(&ft_lport_lock));
if (tport) {
FT_SESS_DBG("tport alloc %s - already setup\n", name);
return tport;