[openib-commits] r1181 - gen2/trunk/src/linux-kernel/infiniband/core

halr at openib.org
Tue Nov 9 06:09:13 PST 2004


Author: halr
Date: 2004-11-09 06:09:12 -0800 (Tue, 09 Nov 2004)
New Revision: 1181

Modified:
   gen2/trunk/src/linux-kernel/infiniband/core/mad.c
Log:
In ib_mad_recv_done_handler, don't dispatch additional error cases


Modified: gen2/trunk/src/linux-kernel/infiniband/core/mad.c
===================================================================
--- gen2/trunk/src/linux-kernel/infiniband/core/mad.c   2004-11-09 05:12:12 UTC (rev 1180)
+++ gen2/trunk/src/linux-kernel/infiniband/core/mad.c   2004-11-09 14:09:12 UTC (rev 1181)
@@ -1138,26 +1138,27 @@
                                                     wc->slid,
                                                     recv->header.recv_buf.mad,
                                                     response);
-               if ((ret & IB_MAD_RESULT_SUCCESS) &&
-                   (ret & IB_MAD_RESULT_REPLY)) {
-                       if (response->mad_hdr.mgmt_class ==
-                           IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) {
-                               if (!smi_handle_dr_smp_recv(
-                                       (struct ib_smp *)response,
-                                       port_priv->device->node_type,
-                                       port_priv->port_num,
-                                       port_priv->device->phys_port_cnt)) {
+               if (ret & IB_MAD_RESULT_SUCCESS) {
+                       if (ret & IB_MAD_RESULT_REPLY) {
+                               if (response->mad_hdr.mgmt_class ==
+                                   IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) {
+                                       if (!smi_handle_dr_smp_recv(
+                                           (struct ib_smp *)response,
+                                           port_priv->device->node_type,
+                                           port_priv->port_num,
+                                           port_priv->device->phys_port_cnt)) {
+                                               kfree(response);
+                                               goto out;
+                                       }
+                               }
+                               /* Send response */
+                               grh = (void *)recv->header.recv_buf.mad -
+                                     sizeof(struct ib_grh);
+                               if (agent_send(response, grh, wc,
+                                              port_priv->device,
+                                              port_priv->port_num)) {
                                        kfree(response);
-                                       goto out;
                                }
-                       }
-                       /* Send response */
-                       grh = (void *)recv->header.recv_buf.mad -
-                             sizeof(struct ib_grh);
-                       if (agent_send(response, grh, wc,
-                                      port_priv->device,
-                                      port_priv->port_num)) {
-                               kfree(response);
                                goto out;
                        }
                } else



More information about the openib-commits mailing list