## Automatically generated incremental diff
## From:   linux-2.2.24-rc4
## To:     linux-2.2.24-rc5
## Robot:  $Id: make-incremental-diff,v 1.11 2002/02/20 02:59:33 hpa Exp $

diff -urN linux-2.2.24-rc4/Documentation/Configure.help linux-2.2.24-rc5/Documentation/Configure.help
--- linux-2.2.24-rc4/Documentation/Configure.help	Fri Nov 29 10:05:55 2002
+++ linux-2.2.24-rc5/Documentation/Configure.help	Mon Mar  3 07:56:11 2003
@@ -5712,10 +5712,20 @@
 Wireless LAN (non-hamradio)
 CONFIG_NET_RADIO
   Support for wireless LANs and everything having to do with radio,
-  but not with amateur radio. Note that the answer to this question
-  won't directly affect the kernel: saying N will just cause this
-  configure script to skip all the questions about radio
-  interfaces. 
+  but not with amateur radio or FM broadcasting.
+
+  Saying Y here also enables the Wireless Extensions (creates
+  /proc/net/wireless and enables ifconfig access). The Wireless
+  Extension is a generic API allowing a driver to expose to the user
+  space configuration and statistics specific to common Wireless LANs.
+  The beauty of it is that a single set of tool can support all the
+  variations of Wireless LANs, regardless of their type (as long as
+  the driver supports Wireless Extension). Another advantage is that
+  these parameters may be changed on the fly without restarting the
+  driver (or Linux). If you wish to use Wireless Extensions with
+  wireless PCMCIA (PC-) cards, you need to say Y here; you can fetch
+  the tools from
+  <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
 
   Some user-level drivers for scarab devices which don't require
   special kernel support are available via FTP (user: anonymous) from
diff -urN linux-2.2.24-rc4/drivers/char/n_hdlc.c linux-2.2.24-rc5/drivers/char/n_hdlc.c
--- linux-2.2.24-rc4/drivers/char/n_hdlc.c	Fri Nov  2 08:39:06 2001
+++ linux-2.2.24-rc5/drivers/char/n_hdlc.c	Mon Mar  3 07:56:12 2003
@@ -9,7 +9,7 @@
  *	Al Longyear <longyear@netcom.com>, Paul Mackerras <Paul.Mackerras@cs.anu.edu.au>
  *
  * Original release 01/11/99
- * $Id: n_hdlc.c,v 2.3 2001/05/09 14:42:37 paul Exp $
+ * $Id: n_hdlc.c,v 2.4 2002/12/19 18:58:54 paulkf Exp $
  *
  * This code is released under the GNU General Public License (GPL)
  *
@@ -78,7 +78,7 @@
  */
 
 #define HDLC_MAGIC 0x239e
-#define HDLC_VERSION "$Revision: 2.3 $"
+#define HDLC_VERSION "$Revision: 2.4 $"
 
 #include <linux/version.h>
 #include <linux/config.h>
@@ -184,9 +184,9 @@
 /*
  * HDLC buffer list manipulation functions
  */
-void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list);
-void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf);
-N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list);
+static void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list);
+static void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf);
+static N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list);
 
 /* Local functions */
 
@@ -197,10 +197,10 @@
 
 /* debug level can be set by insmod for debugging purposes */
 #define DEBUG_LEVEL_INFO	1
-int debuglevel=0;
+static int debuglevel=0;
 
 /* max frame size for memory allocations */
-ssize_t	maxframe=4096;
+static ssize_t	maxframe=4096;
 
 /* TTY callbacks */
 
@@ -921,7 +921,7 @@
  * Arguments:	 	list	pointer to buffer list
  * Return Value:	None	
  */
-void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list)
+static void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list)
 {
 	memset(list,0,sizeof(N_HDLC_BUF_LIST));
 	spin_lock_init(&list->spinlock);
@@ -938,7 +938,7 @@
  * 
  * Return Value:	None	
  */
-void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf)
+static void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf)
 {
 	unsigned long flags;
 	spin_lock_irqsave(&list->spinlock,flags);
@@ -968,7 +968,7 @@
  * 
  * 	pointer to HDLC buffer if available, otherwise NULL
  */
-N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list)
+static N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list)
 {
 	unsigned long flags;
 	N_HDLC_BUF *buf;
diff -urN linux-2.2.24-rc4/drivers/char/rtc.c linux-2.2.24-rc5/drivers/char/rtc.c
--- linux-2.2.24-rc4/drivers/char/rtc.c	Mon May 20 16:32:34 2002
+++ linux-2.2.24-rc5/drivers/char/rtc.c	Mon Mar  3 07:56:12 2003
@@ -271,22 +271,18 @@
 		min = alm_tm.tm_min;
 		sec = alm_tm.tm_sec;
 
-		if (hrs >= 24)
-			hrs = 0xff;
-
-		if (min >= 60)
-			min = 0xff;
-
-		if (sec >= 60)
-			sec = 0xff;
-
 		spin_lock_irqsave(&rtc_lock, flags);
 		if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) ||
 		    RTC_ALWAYS_BCD)
 		{
-			BIN_TO_BCD(sec);
-			BIN_TO_BCD(min);
-			BIN_TO_BCD(hrs);
+			if (sec < 60) BIN_TO_BCD(sec);
+			else sec = 0xff;
+
+			if (min < 60) BIN_TO_BCD(min);
+			else min = 0xff;
+
+			if (hrs < 24) BIN_TO_BCD(hrs);
+			else hrs = 0xff;
 		}
 		CMOS_WRITE(hrs, RTC_HOURS_ALARM);
 		CMOS_WRITE(min, RTC_MINUTES_ALARM);
diff -urN linux-2.2.24-rc4/drivers/net/smc9194.c linux-2.2.24-rc5/drivers/net/smc9194.c
--- linux-2.2.24-rc4/drivers/net/smc9194.c	Mon Mar  3 07:56:11 2003
+++ linux-2.2.24-rc5/drivers/net/smc9194.c	Mon Mar  3 07:56:12 2003
@@ -570,10 +570,7 @@
 	{
 		skb = skb_padto(skb, ETH_ZLEN);
 		if(skb == NULL)
-		{
-			netif_wake_queue(dev);
 			return 0;
-		}
 		length = ETH_ZLEN;
 	}
 	lp->saved_skb = skb;
diff -urN linux-2.2.24-rc4/drivers/net/tulip.c linux-2.2.24-rc5/drivers/net/tulip.c
--- linux-2.2.24-rc4/drivers/net/tulip.c	Fri Nov  2 08:39:07 2001
+++ linux-2.2.24-rc5/drivers/net/tulip.c	Mon Mar  3 07:56:12 2003
@@ -23,6 +23,9 @@
 	Updated 12/17/2000 by Jim McQuillan <jam@McQuil.com> to
 	include support for the Linksys LNE100TX card based on the
 	Admtek 985 Centaur-P chipset.
+
+	2002 Dec 21  Neale Banks <neale@lowendale.com.au>
+	Gracefully handle the case where init_etherdev() returns NULL
 */
 
 #define SMP_CHECK
@@ -695,6 +698,11 @@
 
 	dev = init_etherdev(dev, 0);
 
+	if (dev == NULL) {
+		printk(KERN_ERR "tulip: Unable to allocate net_device structure!\n");
+		return NULL;
+	}
+
 	/* Make certain the data structures are quadword aligned. */
 	tp = (void *)(((long)kmalloc(sizeof(*tp), GFP_KERNEL | GFP_DMA) + 7) & ~7);
 	memset(tp, 0, sizeof(*tp));
diff -urN linux-2.2.24-rc4/net/core/sock.c linux-2.2.24-rc5/net/core/sock.c
--- linux-2.2.24-rc4/net/core/sock.c	Fri Nov  2 08:39:16 2001
+++ linux-2.2.24-rc5/net/core/sock.c	Mon Mar  3 07:56:12 2003
@@ -80,6 +80,7 @@
  *		Andi Kleen	:	Add sock_kmalloc()/sock_kfree_s()
  *		Andi Kleen	:	Fix write_space callback
  *		Chris Evans	:	Security fixes - signedness again
+ *		Holger Smolinski:       Fix initialization of sk->sleep
  *
  * To Fix:
  *
@@ -1079,6 +1080,8 @@
 		sk->type	=	sock->type;
 		sk->sleep	=	&sock->wait;
 		sock->sk	=	sk;
+	} else {
+		sk->sleep	=	NULL;
 	}
 
 	sk->state_change	=	sock_def_wakeup;
diff -urN linux-2.2.24-rc4/net/ipv4/tcp_ipv4.c linux-2.2.24-rc5/net/ipv4/tcp_ipv4.c
--- linux-2.2.24-rc4/net/ipv4/tcp_ipv4.c	Sun Mar 25 08:37:41 2001
+++ linux-2.2.24-rc5/net/ipv4/tcp_ipv4.c	Mon Mar  3 07:56:12 2003
@@ -44,7 +44,9 @@
  *		Andi Kleen:		various fixes.
  *	Vitaly E. Lavrov	:	Transparent proxy revived after year coma.
  *	Andi Kleen		:	Fix new listen.
- *	Andi Kleen		:	Fix accept error reporting.
+ *	Andi Kleen		:	Fix accept error reporting.a
+ * 	Holger Smolinski	:	Fix initialization of newsk->sleep which
+ *					points to a potentially invalid wait_queue
  */
 
 #include <linux/config.h>
@@ -1474,6 +1476,7 @@
 		newsk->timer.function = &net_timer;
 		newsk->timer.data = (unsigned long) newsk;
 		newsk->socket = NULL;
+		newsk->sleep = NULL;
 
 		newtp->tstamp_ok = req->tstamp_ok;
 		if((newtp->sack_ok = req->sack_ok) != 0)
