diff --git a/lustre/kernel_patches/patches/netpoll_xmit_lock-2.6-suse.patch b/lustre/kernel_patches/patches/netpoll_xmit_lock-2.6-suse.patch
new file mode 100644
index 0000000000000000000000000000000000000000..ec28f18dbe94653d8bc6c1022d6bf64ae5129da2
--- /dev/null
+++ b/lustre/kernel_patches/patches/netpoll_xmit_lock-2.6-suse.patch
@@ -0,0 +1,14 @@
+--- linux-2.6.orig/net/core/netpoll.c	2007-12-18 21:58:41.000000000 +0800
++++ linux-2.6/net/core/netpoll.c	2007-12-18 21:59:01.000000000 +0800
+@@ -160,6 +160,11 @@ repeat:
+ 		return;
+ 	}
+ 
++        if(np->dev->xmit_lock_owner == smp_processor_id()) {
++		__kfree_skb(skb);
++		return;
++	}
++
+ 	spin_lock(&np->dev->xmit_lock);
+ 	np->dev->xmit_lock_owner = smp_processor_id();
+ 
diff --git a/lustre/kernel_patches/series/2.6-suse-newer.series b/lustre/kernel_patches/series/2.6-suse-newer.series
index 90ede2df355d9cd780111bb6385596869df8bd71..1f092e8e9b9dbabf2dcf2044c2ad9414f87d0833 100644
--- a/lustre/kernel_patches/series/2.6-suse-newer.series
+++ b/lustre/kernel_patches/series/2.6-suse-newer.series
@@ -14,3 +14,4 @@ bitops_ext2_find_next_le_bit-2.6.patch
 vfs_intent-reduce-stack-usage-2.6-suse-newer.patch
 atomic_add_return-sles9.patch
 modpost_external_module_updates_sles9.patch
+netpoll_xmit_lock-2.6-suse.patch