[ofa-general] [Bug 413] New: IPoIB passes async events to an unrelated devices.
bugzilla-daemon at lists.openfabrics.org
bugzilla-daemon at lists.openfabrics.org
Tue Mar 6 06:14:29 PST 2007
https://bugs.openfabrics.org/show_bug.cgi?id=413
Summary: IPoIB passes async events to an unrelated devices.
Product: OpenFabrics Linux
Version: 1.2alpha1
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P3
Component: IPoIB
AssignedTo: bugzilla at openib.org
ReportedBy: monil at voltaire.com
CC: mst at mellanox.co.il
For further information please look at:
"[RFC] IB/ipoib: Asynchronous events delivered without port parameter." thread
on open-fabrics.
The patch that solves the issue is (Please take the original one from the
thread above):
commit a27cbe878203076247c1b5287f5ab59ed143b560
Author: Roland Dreier <rolandd at cisco.com>
Date: Tue Feb 27 07:37:49 2007 -0800
IPoIB: Only handle async events for one port
An asynchronous event carries the port number that the event occurred
on, so there's no reason for an IPoIB interface to process an event
associated with a different local HCA port.
Signed-off-by: Roland Dreier <rolandd at cisco.com>
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
index 3cb551b..7f3ec20 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
@@ -259,12 +259,13 @@ void ipoib_event(struct ib_event_handler *handler,
struct ipoib_dev_priv *priv =
container_of(handler, struct ipoib_dev_priv, event_handler);
- if (record->event == IB_EVENT_PORT_ERR ||
- 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_CLIENT_REREGISTER) {
+ if ((record->event == IB_EVENT_PORT_ERR ||
+ 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_CLIENT_REREGISTER) &&
+ record->element.port_num == priv->port) {
ipoib_dbg(priv, "Port state change event\n");
queue_work(ipoib_workqueue, &priv->flush_task);
}
--
Configure bugmail: https://bugs.openfabrics.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the general
mailing list