IB/mad: Fix kernel crash when .process_mad() returns SUCCESS|CONSUMED
authorDave Olson <dave.olson@qlogic.com>
Fri, 23 May 2008 17:52:59 +0000 (10:52 -0700)
committerRoland Dreier <rolandd@cisco.com>
Fri, 23 May 2008 17:52:59 +0000 (10:52 -0700)
commit5a4f2b675210718aceb4abf41617a3af31bba718
treee8753ab50b255d53839e7fce70695965406a83c0
parente1d50dce5af77cb6d33555af70e2b8748dd84009
IB/mad: Fix kernel crash when .process_mad() returns SUCCESS|CONSUMED

If a low-level driver returns IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_CONSUMED,
handle_outgoing_dr_smp() doesn't clean up properly.  The fix is to
kfree the local data and break, rather than falling through.  This was
observed with the ipath driver, but could happen with any driver.

This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=1027>.

Signed-off-by: Dave Olson <dave.olson@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/core/mad.c