## Automatically generated incremental diff ## From: linux-2.0.40-rc1 ## To: linux-2.0.40-rc2 ## Robot: $Id: make-incremental-diff,v 1.9 2001/12/10 00:06:56 hpa Exp $ diff -urN linux-2.0.40-rc1/Makefile linux/Makefile --- linux-2.0.40-rc1/Makefile Wed Jan 23 15:03:09 2002 +++ linux/Makefile Wed Jan 23 15:03:10 2002 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 0 SUBLEVEL = 40 -EXTRAVERSION =-rc1 +EXTRAVERSION =-rc2 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) diff -urN linux-2.0.40-rc1/drivers/block/xd.c linux/drivers/block/xd.c --- linux-2.0.40-rc1/drivers/block/xd.c Tue Jan 9 13:29:20 2001 +++ linux/drivers/block/xd.c Wed Jan 23 15:03:10 2002 @@ -114,6 +114,7 @@ { 0x0010,"ST11 BIOS v1.7",xd_seagate_init_controller,xd_seagate_init_drive," Seagate ST11R" }, /* Alan Hourihane, alanh@fairlite.demon.co.uk */ { 0x1000,"(c)Copyright 1987 SMS",xd_omti_init_controller,xd_omti_init_drive,"n OMTI 5520" }, /* Dirk Melchers, dirk@merlin.nbg.sub.org */ { 0x0006,"COPYRIGHT XEBEC (C) 1984",xd_xebec_init_controller,xd_xebec_init_drive," XEBEC" }, /* Andrzej Krzysztofowicz, ankry@mif.pg.gda.pl */ + { 0x0008,"(C) Copyright 1984 Western Digital Corp", xd_wd_init_controller, xd_wd_init_drive," Western Dig. 1002s-wx2" }, }; static u_char *xd_bases[] = { diff -urN linux-2.0.40-rc1/drivers/char/ftape/fdc-io.c linux/drivers/char/ftape/fdc-io.c --- linux-2.0.40-rc1/drivers/char/ftape/fdc-io.c Mon Sep 2 05:18:26 1996 +++ linux/drivers/char/ftape/fdc-io.c Wed Jan 23 15:03:10 2002 @@ -852,18 +852,6 @@ set_dma_mode(fdc.dma, dma_mode); set_dma_addr(fdc.dma, (unsigned) buff->ptr); set_dma_count(fdc.dma, SECTOR_SIZE * buff->sector_count); -#ifdef GCC_2_4_5_BUG - /* This seemingly stupid construction confuses the gcc-2.4.5 - * code generator enough to create correct code. - */ - if (1) { - int i; - - for (i = 0; i < 1; ++i) { - udelay(1); - } - } -#endif enable_dma(fdc.dma); /* Issue FDC command to start reading/writing. */ diff -urN linux-2.0.40-rc1/include/linux/module.h linux/include/linux/module.h --- linux-2.0.40-rc1/include/linux/module.h Wed Jan 23 15:03:09 2002 +++ linux/include/linux/module.h Wed Jan 23 15:03:11 2002 @@ -52,8 +52,8 @@ int size; /* total, including string table!!! */ int n_symbols; int n_refs; - struct internal_symbol symbol[1]; /* actual size defined by n_symbols */ - struct module_ref ref[1]; /* actual size defined by n_refs */ + struct internal_symbol symbol[0]; /* actual size defined by n_symbols */ + struct module_ref ref[0]; /* actual size defined by n_refs */ }; /* * Note: The string table follows immediately after the symbol table in memory! diff -urN linux-2.0.40-rc1/net/ipv4/icmp.c linux/net/ipv4/icmp.c --- linux-2.0.40-rc1/net/ipv4/icmp.c Wed Jan 23 15:03:10 2002 +++ linux/net/ipv4/icmp.c Wed Jan 23 15:03:11 2002 @@ -1011,7 +1011,7 @@ { struct tcphdr *th = (struct tcphdr *)(((unsigned char *)iph)+(iph->ihl<<2)); - sk = tcp_v4_lookup(iph->saddr, th->source, iph->daddr, th->dest, skb->dev); + sk = tcp_v4_lookup(iph->daddr, th->dest, iph->saddr, th->source, skb->dev); if (!sk) return 0; if (sk->saddr != iph->saddr) return 0; if (sk->daddr != iph->daddr) return 0; @@ -1025,7 +1025,7 @@ { struct udphdr *uh = (struct udphdr *)(((unsigned char *)iph)+(iph->ihl<<2)); - sk = udp_v4_lookup(iph->saddr, uh->source, iph->daddr, uh->dest, skb->dev); + sk = udp_v4_lookup(iph->daddr, uh->dest, iph->saddr, uh->source, skb->dev); if (!sk) return 0; if (sk->saddr != iph->saddr && ip_chk_addr(iph->saddr) != IS_MYADDR) return 0; diff -urN linux-2.0.40-rc1/net/ipv4/ip_fragment.c linux/net/ipv4/ip_fragment.c --- linux-2.0.40-rc1/net/ipv4/ip_fragment.c Wed Jun 3 15:17:50 1998 +++ linux/net/ipv4/ip_fragment.c Wed Jan 23 15:03:11 2002 @@ -211,9 +211,18 @@ ip_statistics.IpReasmTimeout++; ip_statistics.IpReasmFails++; /* This if is always true... shrug */ - if(qp->fragments!=NULL) - icmp_send(qp->fragments->skb,ICMP_TIME_EXCEEDED, - ICMP_EXC_FRAGTIME, 0, qp->dev); + if(qp->fragments!=NULL) { + struct sk_buff *skb = qp->fragments->skb; + struct iphdr *iph = skb->ip_hdr; + + /* ICMP send engine expects skb->data to be just + * past IP header. + */ + skb_pull(skb, iph->ihl * 4); + + icmp_send(skb, ICMP_TIME_EXCEEDED, + ICMP_EXC_FRAGTIME, 0, qp->dev); + } /* * Nuke the fragment queue.