[ofa-general] Re: PATCH 1/1 - fix kernel crash in mad.c when IB_MAD_RESULT_(SUCCESS|CONSUMED) returned
Dave Olson
dave.olson at qlogic.com
Tue May 20 15:44:47 PDT 2008
On Tue, 20 May 2008, Roland Dreier wrote:
| > Yes, you are right about the fact that it should be set, but apparently
| > all callers are simply checking for a return value > 0, because the
| > packet is only sent once (return values > 1 have no defined meaning so
| > I'm not surprised the callers just check > 0).
|
| In my tree (ie the upstream kernel) I see only one place
| handle_outgoing_dr_smp() is called, and it looks like:
|
| ret = handle_outgoing_dr_smp(mad_agent_priv,
| mad_send_wr);
| if (ret < 0) /* error */
| goto error;
| else if (ret == 1) /* locally consumed */
| continue;
|
| so I'm not sure I understand what you mean. Clearly ret == 1 i special
| (any other positive return value is treated like 0).
Indeed, I see that also, now that I look again more carefully.
We definitely didn't see an infinite attempt to send the packet,
so something else must have cleaned that up for us. Anyway, returning
1 is clearly the right answer.
| > Do you want me to resubmit it that way, or do you want to make the
| > change?
|
| I can fix it up locally but you are in charge of making sure that OFED
| 1.3.1 gets what you want it to.
Thanks, and yes, we'll do that for OFED 1.3.1
Dave Olson
dave.olson at qlogic.com
More information about the general
mailing list