mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH][1/6] IB: Keep MAD work completion valid
@ 2005-04-01 18:23 Roland Dreier
  2005-04-01 18:23 ` [PATCH][2/6] IB: remove unneeded includes Roland Dreier
  0 siblings, 1 reply; 6+ messages in thread
From: Roland Dreier @ 2005-04-01 18:23 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, openib-general

From: Sean Hefty <sean.hefty@intel.com>

Replace the *wc field in ib_mad_recv_wc from pointing to a structure
on the stack to one allocated with the received MAD buffer.  This
allows a client to access the *wc field after their receive completion
handler has returned.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <roland@topspin.com>


--- linux-export.orig/drivers/infiniband/core/mad.c	2005-03-31 19:07:01.000000000 -0800
+++ linux-export/drivers/infiniband/core/mad.c	2005-04-01 10:08:54.939957801 -0800
@@ -1600,7 +1600,8 @@
 			 DMA_FROM_DEVICE);
 
 	/* Setup MAD receive work completion from "normal" work completion */
-	recv->header.recv_wc.wc = wc;
+	recv->header.wc = *wc;
+	recv->header.recv_wc.wc = &recv->header.wc;
 	recv->header.recv_wc.mad_len = sizeof(struct ib_mad);
 	recv->header.recv_wc.recv_buf.mad = &recv->mad.mad;
 	recv->header.recv_wc.recv_buf.grh = &recv->grh;
--- linux-export.orig/drivers/infiniband/core/mad_priv.h	2005-03-31 19:07:14.000000000 -0800
+++ linux-export/drivers/infiniband/core/mad_priv.h	2005-04-01 10:08:54.961953027 -0800
@@ -69,6 +69,7 @@
 struct ib_mad_private_header {
 	struct ib_mad_list_head mad_list;
 	struct ib_mad_recv_wc recv_wc;
+	struct ib_wc wc;
 	DECLARE_PCI_UNMAP_ADDR(mapping)
 } __attribute__ ((packed));
 


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-04-01 18:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-01 18:23 [PATCH][1/6] IB: Keep MAD work completion valid Roland Dreier
2005-04-01 18:23 ` [PATCH][2/6] IB: remove unneeded includes Roland Dreier
2005-04-01 18:23   ` [PATCH][3/6] IB: Fix FMR pool crash Roland Dreier
2005-04-01 18:23     ` [PATCH][4/6] IB: Trivial FMR printk cleanup Roland Dreier
2005-04-01 18:23       ` [PATCH][5/6] IB: Fix user MAD registrations with class 0 Roland Dreier
2005-04-01 18:23         ` [PATCH][6/6] IB: Remove incorrect comments Roland Dreier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®