Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
diff --git a/net/ipv4/netfilter/ip_conntrack_ftp.c b/net/ipv4/netfilter/ip_conntrack_ftp.c
index d77d6b3..59e12b0 100644
--- a/net/ipv4/netfilter/ip_conntrack_ftp.c
+++ b/net/ipv4/netfilter/ip_conntrack_ftp.c
@@ -29,9 +29,9 @@
 static DEFINE_SPINLOCK(ip_ftp_lock);
 
 #define MAX_PORTS 8
-static short ports[MAX_PORTS];
+static unsigned short ports[MAX_PORTS];
 static int ports_c;
-module_param_array(ports, short, &ports_c, 0400);
+module_param_array(ports, ushort, &ports_c, 0400);
 
 static int loose;
 module_param(loose, int, 0600);
diff --git a/net/ipv4/netfilter/ip_conntrack_irc.c b/net/ipv4/netfilter/ip_conntrack_irc.c
index 1545741..2dea1db 100644
--- a/net/ipv4/netfilter/ip_conntrack_irc.c
+++ b/net/ipv4/netfilter/ip_conntrack_irc.c
@@ -34,7 +34,7 @@
 #include <linux/moduleparam.h>
 
 #define MAX_PORTS 8
-static short ports[MAX_PORTS];
+static unsigned short ports[MAX_PORTS];
 static int ports_c;
 static int max_dcc_channels = 8;
 static unsigned int dcc_timeout = 300;
@@ -52,7 +52,7 @@
 MODULE_AUTHOR("Harald Welte <laforge@netfilter.org>");
 MODULE_DESCRIPTION("IRC (DCC) connection tracking helper");
 MODULE_LICENSE("GPL");
-module_param_array(ports, short, &ports_c, 0400);
+module_param_array(ports, ushort, &ports_c, 0400);
 MODULE_PARM_DESC(ports, "port numbers of IRC servers");
 module_param(max_dcc_channels, int, 0400);
 MODULE_PARM_DESC(max_dcc_channels, "max number of expected DCC channels per IRC session");
diff --git a/net/ipv4/netfilter/ip_conntrack_tftp.c b/net/ipv4/netfilter/ip_conntrack_tftp.c
index a78736b..d3c5a37 100644
--- a/net/ipv4/netfilter/ip_conntrack_tftp.c
+++ b/net/ipv4/netfilter/ip_conntrack_tftp.c
@@ -26,9 +26,9 @@
 MODULE_LICENSE("GPL");
 
 #define MAX_PORTS 8
-static short ports[MAX_PORTS];
+static unsigned short ports[MAX_PORTS];
 static int ports_c;
-module_param_array(ports, short, &ports_c, 0400);
+module_param_array(ports, ushort, &ports_c, 0400);
 MODULE_PARM_DESC(ports, "port numbers of tftp servers");
 
 #if 0
diff --git a/net/ipv4/tcp_highspeed.c b/net/ipv4/tcp_highspeed.c
index 82b3c18..63cf7e5 100644
--- a/net/ipv4/tcp_highspeed.c
+++ b/net/ipv4/tcp_highspeed.c
@@ -111,7 +111,7 @@
 }
 
 static void hstcp_cong_avoid(struct sock *sk, u32 adk, u32 rtt,
-			     u32 in_flight, u32 pkts_acked)
+			     u32 in_flight, int data_acked)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct hstcp *ca = inet_csk_ca(sk);
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 9a71a8d..a7a537b 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1732,7 +1732,7 @@
 		/*
 		 * 2. allocate and initialize walker.
 		 */
-		w = kmalloc(sizeof(*w), GFP_KERNEL);
+		w = kmalloc(sizeof(*w), GFP_ATOMIC);
 		if (w == NULL)
 			return -ENOMEM;
 		RT6_TRACE("dump<%p", w);
diff --git a/net/llc/llc_c_ac.c b/net/llc/llc_c_ac.c
index 91fb6bc..8169f24 100644
--- a/net/llc/llc_c_ac.c
+++ b/net/llc/llc_c_ac.c
@@ -995,8 +995,8 @@
 		llc->dec_step = 0;
 		llc->dec_cntr = llc->inc_cntr = 2;
 		++llc->npta;
-		if (llc->npta > ~LLC_2_SEQ_NBR_MODULO)
-			llc->npta = ~LLC_2_SEQ_NBR_MODULO ;
+		if (llc->npta > (u8) ~LLC_2_SEQ_NBR_MODULO)
+			llc->npta = (u8) ~LLC_2_SEQ_NBR_MODULO;
 	} else
 		--llc->inc_cntr;
 	return 0;
@@ -1086,8 +1086,8 @@
 	struct llc_sock *llc = llc_sk(sk);
 
 	llc->k += 1;
-	if (llc->k > ~LLC_2_SEQ_NBR_MODULO)
-		llc->k = ~LLC_2_SEQ_NBR_MODULO ;
+	if (llc->k > (u8) ~LLC_2_SEQ_NBR_MODULO)
+		llc->k = (u8) ~LLC_2_SEQ_NBR_MODULO;
 	return 0;
 }
 
diff --git a/net/sched/Kconfig b/net/sched/Kconfig
index 7f34e7f..55cd532 100644
--- a/net/sched/Kconfig
+++ b/net/sched/Kconfig
@@ -40,9 +40,10 @@
 	  The available schedulers are listed in the following questions; you
 	  can say Y to as many as you like. If unsure, say N now.
 
+if NET_SCHED
+
 choice
 	prompt "Packet scheduler clock source"
-	depends on NET_SCHED
 	default NET_SCH_CLK_JIFFIES
 	---help---
 	  Packet schedulers need a monotonic clock that increments at a static
@@ -98,11 +99,9 @@
 endchoice
 
 comment "Queueing/Scheduling"
-	depends on NET_SCHED
 
 config NET_SCH_CBQ
 	tristate "Class Based Queueing (CBQ)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use the Class-Based Queueing (CBQ) packet
 	  scheduling algorithm. This algorithm classifies the waiting packets
@@ -120,7 +119,6 @@
 
 config NET_SCH_HTB
 	tristate "Hierarchical Token Bucket (HTB)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use the Hierarchical Token Buckets (HTB)
 	  packet scheduling algorithm. See
@@ -135,7 +133,6 @@
 
 config NET_SCH_HFSC
 	tristate "Hierarchical Fair Service Curve (HFSC)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use the Hierarchical Fair Service Curve
 	  (HFSC) packet scheduling algorithm.
@@ -145,7 +142,7 @@
 
 config NET_SCH_ATM
 	tristate "ATM Virtual Circuits (ATM)"
-	depends on NET_SCHED && ATM
+	depends on ATM
 	---help---
 	  Say Y here if you want to use the ATM pseudo-scheduler.  This
 	  provides a framework for invoking classifiers, which in turn
@@ -159,7 +156,6 @@
 
 config NET_SCH_PRIO
 	tristate "Multi Band Priority Queueing (PRIO)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use an n-band priority queue packet
 	  scheduler.
@@ -169,7 +165,6 @@
 
 config NET_SCH_RED
 	tristate "Random Early Detection (RED)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use the Random Early Detection (RED)
 	  packet scheduling algorithm.
@@ -181,7 +176,6 @@
 
 config NET_SCH_SFQ
 	tristate "Stochastic Fairness Queueing (SFQ)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
 	  packet scheduling algorithm .
@@ -193,7 +187,6 @@
 
 config NET_SCH_TEQL
 	tristate "True Link Equalizer (TEQL)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use the True Link Equalizer (TLE) packet
 	  scheduling algorithm. This queueing discipline allows the combination
@@ -206,7 +199,6 @@
 
 config NET_SCH_TBF
 	tristate "Token Bucket Filter (TBF)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use the Token Bucket Filter (TBF) packet
 	  scheduling algorithm.
@@ -218,7 +210,6 @@
 
 config NET_SCH_GRED
 	tristate "Generic Random Early Detection (GRED)"
-	depends on NET_SCHED
 	---help---
 	  Say Y here if you want to use the Generic Random Early Detection
 	  (GRED) packet scheduling algorithm for some of your network devices
@@ -230,7 +221,6 @@
 
 config NET_SCH_DSMARK
 	tristate "Differentiated Services marker (DSMARK)"
-	depends on NET_SCHED
 	---help---
 	  Say Y if you want to schedule packets according to the
 	  Differentiated Services architecture proposed in RFC 2475.
@@ -242,7 +232,6 @@
 
 config NET_SCH_NETEM
 	tristate "Network emulator (NETEM)"
-	depends on NET_SCHED
 	---help---
 	  Say Y if you want to emulate network delay, loss, and packet
 	  re-ordering. This is often useful to simulate networks when
@@ -255,7 +244,6 @@
 
 config NET_SCH_INGRESS
 	tristate "Ingress Qdisc"
-	depends on NET_SCHED 
 	---help---
 	  Say Y here if you want to use classifiers for incoming packets.
 	  If unsure, say Y.
@@ -264,14 +252,12 @@
 	  module will be called sch_ingress.
 
 comment "Classification"
-	depends on NET_SCHED
 
 config NET_CLS
 	boolean
 
 config NET_CLS_BASIC
 	tristate "Elementary classification (BASIC)"
-	depends NET_SCHED
 	select NET_CLS
 	---help---
 	  Say Y here if you want to be able to classify packets using
@@ -282,7 +268,6 @@
 
 config NET_CLS_TCINDEX
 	tristate "Traffic-Control Index (TCINDEX)"
-	depends NET_SCHED
 	select NET_CLS
 	---help---
 	  Say Y here if you want to be able to classify packets based on
@@ -294,7 +279,6 @@
 
 config NET_CLS_ROUTE4
 	tristate "Routing decision (ROUTE)"
-	depends NET_SCHED
 	select NET_CLS_ROUTE
 	select NET_CLS
 	---help---
@@ -306,11 +290,9 @@
 
 config NET_CLS_ROUTE
 	bool
-	default n
 
 config NET_CLS_FW
 	tristate "Netfilter mark (FW)"
-	depends NET_SCHED
 	select NET_CLS
 	---help---
 	  If you say Y here, you will be able to classify packets
@@ -321,7 +303,6 @@
 
 config NET_CLS_U32
 	tristate "Universal 32bit comparisons w/ hashing (U32)"
-	depends NET_SCHED
 	select NET_CLS
 	---help---
 	  Say Y here to be able to classify packetes using a universal
@@ -345,7 +326,6 @@
 
 config NET_CLS_RSVP
 	tristate "IPv4 Resource Reservation Protocol (RSVP)"
-	depends on NET_SCHED
 	select NET_CLS
 	select NET_ESTIMATOR
 	---help---
@@ -361,7 +341,6 @@
 
 config NET_CLS_RSVP6
 	tristate "IPv6 Resource Reservation Protocol (RSVP6)"
-	depends on NET_SCHED
 	select NET_CLS
 	select NET_ESTIMATOR
 	---help---
@@ -377,7 +356,6 @@
 
 config NET_EMATCH
 	bool "Extended Matches"
-	depends NET_SCHED
 	select NET_CLS
 	---help---
 	  Say Y here if you want to use extended matches on top of classifiers
@@ -456,7 +434,7 @@
 
 config NET_CLS_ACT
 	bool "Actions"
-	depends on EXPERIMENTAL && NET_SCHED
+	depends on EXPERIMENTAL
 	select NET_ESTIMATOR
 	---help---
 	  Say Y here if you want to use traffic control actions. Actions
@@ -539,7 +517,7 @@
 
 config NET_CLS_POLICE
 	bool "Traffic Policing (obsolete)"
-	depends on NET_SCHED && NET_CLS_ACT!=y
+	depends on NET_CLS_ACT!=y
 	select NET_ESTIMATOR
 	---help---
 	  Say Y here if you want to do traffic policing, i.e. strict
@@ -549,7 +527,7 @@
 
 config NET_CLS_IND
 	bool "Incoming device classification"
-	depends on NET_SCHED && (NET_CLS_U32 || NET_CLS_FW)
+	depends on NET_CLS_U32 || NET_CLS_FW
 	---help---
 	  Say Y here to extend the u32 and fw classifier to support
 	  classification based on the incoming device. This option is
@@ -557,11 +535,12 @@
 
 config NET_ESTIMATOR
 	bool "Rate estimator"
-	depends on NET_SCHED
 	---help---
 	  Say Y here to allow using rate estimators to estimate the current
 	  rate-of-flow for network devices, queues, etc. This module is
 	  automaticaly selected if needed but can be selected manually for
 	  statstical purposes.
 
+endif # NET_SCHED
+
 endmenu