diff options
author | Faisal Latif <faisal.latif@intel.com> | 2008-11-21 21:50:41 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-12-05 14:00:02 -0500 |
commit | 879e5bd5a1a0a317fb67fa4dc550db092a7bdcb0 (patch) | |
tree | 220e3f3d077f123032d13253aa6cc8570b549917 /drivers/infiniband/hw/nes/nes_cm.h | |
parent | c5d321e5c924384cf5b35f6288d69e9237490565 (diff) |
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.h | 2 |
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 { | |||
292 | int apbvt_set; | 292 | int apbvt_set; |
293 | int accept_pend; | 293 | int accept_pend; |
294 | int freed; | 294 | int freed; |
295 | struct list_head timer_entry; | ||
296 | struct list_head reset_entry; | ||
295 | struct nes_qp *nesqp; | 297 | struct nes_qp *nesqp; |
296 | }; | 298 | }; |
297 | 299 | ||