From e41c3bf3283ef80cc26fffaefa4f3eb53c58e5f3 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Tue, 13 Aug 2013 18:37:23 +0000 Subject: [PATCH] fcst: Fix a lockdep warning git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4960 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- fcst/ft_sess.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/fcst/ft_sess.c b/fcst/ft_sess.c index 6f91e7b94..a943a5b60 100644 --- a/fcst/ft_sess.c +++ b/fcst/ft_sess.c @@ -420,7 +420,13 @@ static int ft_prli_locked(struct fc_rport_priv *rdata, u32 spp_len, if (!(fcp_parm & FCP_SPPF_INIT_FCN)) return FC_SPP_RESP_CONF; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34) + tport = rcu_dereference_protected( + rdata->local_port->prov[FC_TYPE_FCP], + lockdep_is_held(&ft_lport_lock)); +#else tport = rcu_dereference(rdata->local_port->prov[FC_TYPE_FCP]); +#endif if (!tport) { /* not a target for this local port */ return FC_SPP_RESP_CONF; @@ -500,7 +506,12 @@ static void ft_prlo(struct fc_rport_priv *rdata) struct ft_tport *tport; mutex_lock(&ft_lport_lock); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34) + tport = rcu_dereference_protected(rdata->local_port->prov[FC_TYPE_FCP], + lockdep_is_held(&ft_lport_lock)); +#else tport = rcu_dereference(rdata->local_port->prov[FC_TYPE_FCP]); +#endif if (!tport) { mutex_unlock(&ft_lport_lock); return;