-diff -Naur linux-2.6.24.orig/include/linux/pkt_sched.h linux-2.6.24/include/linux/pkt_sched.h
---- linux-2.6.24.orig/include/linux/pkt_sched.h 2008-01-24 14:58:37.000000000 -0800
-+++ linux-2.6.24/include/linux/pkt_sched.h 2008-01-28 00:27:12.000000000 -0800
+diff -Naur linux-2.6.24.orig/include/uapi/linux/pkt_sched.h linux-2.6.24/include/uapi/linux/pkt_sched.h
+--- linux-2.6.24.orig/include/uapi/linux/pkt_sched.h 2008-01-24 14:58:37.000000000 -0800
++++ linux-2.6.24/include/uapi/linux/pkt_sched.h 2008-01-28 00:27:12.000000000 -0800
@@ -157,6 +157,33 @@
* to change these parameters in compile time.
*/
+
+#include <linux/module.h>
+#include <asm/uaccess.h>
-+#include <asm/system.h>
++
+#include <linux/bitops.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+ opt.flows = q->depth;
+ opt.hash_kind = q->hash_kind;
+
-+ NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
-+
++ if (nla_put(skb, TCA_OPTIONS, sizeof(opt), &opt))
++ goto nla_put_failure;
+ return skb->len;
+
+nla_put_failure: