On Tuesday 28 February 2006 07:21, Hefty, Sean wrote:
> >    Sean> Fix a bug where the size of the data copied to userspace is
> >    Sean> larger than the reported size.  Re-use the failed send
> >    Sean> packet when reporting the failure, versus copying the send
> >    Sean> information to a new packet.
> >
There is a bug here (which our regression testing encountered last night), 
which
causes a kernel Oops.

Fix is below.
- Jack

>>>>>>>>>>>>>>>>>>>>>>>>
Initialize seg_list properly when rerouting a send packet to receive queue.
The seg_list variable does not get initialized for send packets.

Signed-off-by:  Jack Morgenstein <[EMAIL PROTECTED]>
 
Index: last_stable/drivers/infiniband/core/user_mad.c
===================================================================
--- last_stable.orig/drivers/infiniband/core/user_mad.c 2006-03-01 
11:51:35.000000000 +0200
+++ last_stable/drivers/infiniband/core/user_mad.c      2006-03-01 
11:52:33.000000000 +0200
@@ -254,6 +254,7 @@ static void send_handler(struct ib_mad_a
        ib_free_send_mad(packet->msg);
 
        if (send_wc->status == IB_WC_RESP_TIMEOUT_ERR) {
+               INIT_LIST_HEAD(&packet->seg_list);
                packet->length = IB_MGMT_MAD_HDR;
                packet->mad.hdr.status = ETIMEDOUT;
                if (!queue_packet(file, agent, packet))
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

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

Reply via email to