Michael S. Tsirkin wrote:
Quoting Steve Wise <[EMAIL PROTECTED]>:
Subject: problems with ofed-1.2.c chelsio low level driver
Michael,
I've discovered that I was really testing the ofed-1.2 cxgb3.ko module
in my testing 1.2.c regression test. Upon getting a complete 1.2.c
installed, I'm seeing crashes with the chelsio driver. I think there
are some patches that went into the ofed-1.2 branch, that did not get
merged into ofed-1.2.c. The ofed-1.2 branch works, but 1.2.c is broken.
I'm investigating now, but we'll need to fix this before shipping
1.2.c/1.2.5.
I went through list of patches again and I don't see anything missing.
Please send fixes, if any, to Vlad by this weekend, so Vlad can integrate
them on Sunday.
Will do.
I found the problem: In 2.6.22 and beyond, eth_type_trans() initializes
the skb->dev ptr. The Chelsio driver in 2.6.22 was changed to utilize
this. Thus if you run it on an older kernel, the skb->dev ptr never
gets set and the driver crashes immediately when processing incoming
traffic. I've created a backport fix for this that I'll be sending out
soon.
Steve.
The backport look like this (need one of these for each kernel):
diff --git a/kernel_addons/backport/2.6.11/include/linux/etherdevice.h
b/kernel_addons/backport/2.6.11/include/linux/etherdevice.h
new file mode 100644
index 0000000..cd709f0
--- /dev/null
+++ b/kernel_addons/backport/2.6.11/include/linux/etherdevice.h
@@ -0,0 +1,15 @@
+#ifndef BACKPORT_LINUX_ETHERDEVICE
+#define BACKPORT_LINUX_ETHERDEVICE
+
+#include_next <linux/etherdevice.h>
+
+static inline unsigned short backport_eth_type_trans(struct sk_buff *skb,
+ struct net_device *dev)
+{
+ skb->dev = dev;
+ return eth_type_trans(skb, dev);
+}
+
+#define eth_type_trans backport_eth_type_trans
+
+#endif
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general