aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/nes/nes_cm.h
diff options
context:
space:
mode:
authorFaisal Latif <faisal.latif@intel.com>2008-11-21 20:50:41 -0600
committerRoland Dreier <rolandd@cisco.com>2008-12-05 11:00:02 -0800
commit879e5bd5a1a0a317fb67fa4dc550db092a7bdcb0 (patch)
tree220e3f3d077f123032d13253aa6cc8570b549917 /drivers/infiniband/hw/nes/nes_cm.h
parentRDMA/nes: Cleanup cqp_request list usage (diff)
downloadlinux-dev-879e5bd5a1a0a317fb67fa4dc550db092a7bdcb0.tar.xz
linux-dev-879e5bd5a1a0a317fb67fa4dc550db092a7bdcb0.zip
RDMA/nes: Lock down connected_nodes list while processing it
While processing connected_nodes list, we would release the lock when we need to send reset to remote partner. That created a window where the list can be modified. Change this into a two step process: place nodes that need processing on a local list then process the local list. Signed-off-by: Faisal Latif <faisal.latif@intel.com> Signed-off-by: Chien Tung <chien.tin.tung@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_cm.h')
-rw-r--r--drivers/infiniband/hw/nes/nes_cm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.h b/drivers/infiniband/hw/nes/nes_cm.h
index 367b3d290140..282a9cbe508f 100644
--- a/drivers/infiniband/hw/nes/nes_cm.h
+++ b/drivers/infiniband/hw/nes/nes_cm.h
@@ -292,6 +292,8 @@ struct nes_cm_node {
int apbvt_set;
int accept_pend;
int freed;
+ struct list_head timer_entry;
+ struct list_head reset_entry;
struct nes_qp *nesqp;
};