summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonid Arsh <leonida@voltaire.com>2006-06-17 20:37:36 -0700
committerRoland Dreier <rolandd@cisco.com>2006-06-17 20:37:36 -0700
commit508e434123b136c96d1bf989e8d4ab0c8d7498b1 (patch)
tree1085714b3d50f6a8706e6ab5fb5ba721cac38209
parent63942c9a981ecfa2aabfb27ff1a87b88f2ee9f5b (diff)
downloadlinux-508e434123b136c96d1bf989e8d4ab0c8d7498b1.tar.gz
linux-508e434123b136c96d1bf989e8d4ab0c8d7498b1.tar.bz2
linux-508e434123b136c96d1bf989e8d4ab0c8d7498b1.zip
IPoIB: Handle client reregister events
Handle client reregister events by treating them just like LID or SM changes -- flush all cached paths and rejoin multicast groups. Signed-off-by: Leonid Arsh <leonida@voltaire.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_verbs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
index 1d49d1643c59..7b717c648f72 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
@@ -255,7 +255,8 @@ void ipoib_event(struct ib_event_handler *handler,
record->event == IB_EVENT_PKEY_CHANGE ||
record->event == IB_EVENT_PORT_ACTIVE ||
record->event == IB_EVENT_LID_CHANGE ||
- record->event == IB_EVENT_SM_CHANGE) {
+ record->event == IB_EVENT_SM_CHANGE ||
+ record->event == IB_EVENT_CLIENT_REREGISTER) {
ipoib_dbg(priv, "Port state change event\n");
queue_work(ipoib_workqueue, &priv->flush_task);
}