Here is the patch. Please review it.

diff -urN access/agent.c access.patch6/agent.c
--- access/agent.c      2004-11-03 10:34:17.941019320 -0800
+++ access.patch6/agent.c       2004-11-03 10:54:16.001886384 -0800
@@ -477,8 +477,10 @@
                                return 0;
                        }
                        if (agent_mad_send(mad_agent, smp_response,
-                                          NULL, mad_recv_wc))
+                                          NULL, mad_recv_wc)) {
                                kfree(smp_response);
+                               return 0;
+                       }
                } else
                        kfree(smp_response);
                return 1;
@@ -504,7 +506,10 @@
        ret = mad_process_local(mad_agent, mad, response, slid);
        if (ret & IB_MAD_RESULT_SUCCESS) {
                grh = (void *)mad - sizeof(struct ib_grh);
-               agent_mad_send(mad_agent, response, grh, mad_recv_wc);
+               if (agent_mad_send(mad_agent, response, grh, mad_recv_wc)) {
+                       kfree(response);
+                       return 0;
+               }
        } else
                kfree(response);
        return 1;
@@ -543,12 +548,12 @@
        } else {
                /* PerfMgmt class */
                if (mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_PERF_MGMT) {
-                       agent_mad_response(mad_agent, mad, mad_recv_wc,
-                                          mad_recv_wc->wc->slid);
+                       return (agent_mad_response(mad_agent, mad, mad_recv_wc,
+                                                  mad_recv_wc->wc->slid));
                } else {
                        printk(KERN_ERR "agent_recv_mad: Unexpected mgmt class 0x%x 
received\n", 
mad->mad_hdr.mgmt_class);
+                       return 0;
                }
-               return 0;
        }
 
        /* Complete receive up stack */



-- 
Thanks
Shirley Ma
IBM Linux Technology Center
_______________________________________________
openib-general mailing list
[EMAIL PROTECTED]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to