Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Synchronize with 'net' in order to sort out some l2tp, wireless, and ipv6 GRE fixes that will be built on top of in 'net-next'. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -263,20 +263,15 @@ static void remove_qp(struct qib_ibdev *dev, struct qib_qp *qp)
|
||||
struct qib_qp __rcu **qpp;
|
||||
|
||||
qpp = &dev->qp_table[n];
|
||||
q = rcu_dereference_protected(*qpp,
|
||||
lockdep_is_held(&dev->qpt_lock));
|
||||
for (; q; qpp = &q->next) {
|
||||
for (; (q = rcu_dereference_protected(*qpp,
|
||||
lockdep_is_held(&dev->qpt_lock))) != NULL;
|
||||
qpp = &q->next)
|
||||
if (q == qp) {
|
||||
atomic_dec(&qp->refcount);
|
||||
*qpp = qp->next;
|
||||
rcu_assign_pointer(qp->next, NULL);
|
||||
q = rcu_dereference_protected(*qpp,
|
||||
lockdep_is_held(&dev->qpt_lock));
|
||||
break;
|
||||
}
|
||||
q = rcu_dereference_protected(*qpp,
|
||||
lockdep_is_held(&dev->qpt_lock));
|
||||
}
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&dev->qpt_lock, flags);
|
||||
|
Reference in New Issue
Block a user