diff -u --recursive --new-file v1.1.95/linux/CREDITS linux/CREDITS
--- v1.1.95/linux/CREDITS	Sun Feb 12 15:00:45 1995
+++ linux/CREDITS	Mon Mar  6 11:11:20 1995
@@ -315,13 +315,8 @@
 S: USA
 
 N: Andrew Haylett
-E: ajh@gec-mrc.co.uk
+E: ajh@primag.co.uk
 D: Selection mechanism
-S: GEC-Marconi Research Centre
-S: West Hanningfield Road
-S: Great Baddow
-S: CM2 8HN
-S: United Kingdom
 
 N: Jochen Hein
 E: Hein@Informatik.TU-Clausthal.de
diff -u --recursive --new-file v1.1.95/linux/Makefile linux/Makefile
--- v1.1.95/linux/Makefile	Thu Feb 23 13:32:28 1995
+++ linux/Makefile	Tue Mar  7 17:50:24 1995
@@ -1,6 +1,6 @@
 VERSION = 1
-PATCHLEVEL = 1
-SUBLEVEL = 95
+PATCHLEVEL = 2
+SUBLEVEL = 0
 
 ARCH = i386
 
diff -u --recursive --new-file v1.1.95/linux/arch/sparc/kernel/head.S linux/arch/sparc/kernel/head.S
--- v1.1.95/linux/arch/sparc/kernel/head.S	Sun Feb 26 20:46:20 1995
+++ linux/arch/sparc/kernel/head.S	Mon Mar  6 11:22:09 1995
@@ -664,7 +664,7 @@
  */
 
 /* paul@sfe.com.au */
-/* V3 doesnt have printf.. And I dont really feel like doing the formatting
+/* V3 doesn't have printf.. And I don't really feel like doing the formatting
  * myself.. So we miss out on some messages (for now).
  */
 		ld	[%g7 + 0x4], %o0
@@ -808,7 +808,7 @@
 		WRITE_PAUSE			! see above
 
 /* I keep the timer interrupt on so that BogoMIPS works and the prom
- * keeps updating it's "jiffies" counter. 100HZ clock on sparcstations.
+ * keeps updating its "jiffies" counter. 100HZ clock on sparcstations.
  */	
 
 /* If gas wasn't so dumb, I could use or'd macros in this next
diff -u --recursive --new-file v1.1.95/linux/arch/sparc/kernel/setup.c linux/arch/sparc/kernel/setup.c
--- v1.1.95/linux/arch/sparc/kernel/setup.c	Sun Feb 26 20:46:20 1995
+++ linux/arch/sparc/kernel/setup.c	Mon Mar  6 11:22:09 1995
@@ -53,7 +53,7 @@
 
 /* Lame prom console routines, gets registered below. Thanks for the
  * tip Linus.  First comes the V0 prom routine, then the V3 version
- * writen by Paul Hatchman (paul@sfe.com.au).
+ * written by Paul Hatchman (paul@sfe.com.au).
  */
 
 void sparc_console_print(const char * p)
@@ -89,7 +89,7 @@
 
 
 /* This routine will in the future do all the nasty prom stuff
- * to probe for the mmu type and it's parameters, etc. This will
+ * to probe for the mmu type and its parameters, etc. This will
  * also be where SMP things happen plus the Sparc specific memory
  * physical memory probe as on the alpha.
  */
diff -u --recursive --new-file v1.1.95/linux/drivers/block/README.sbpcd linux/drivers/block/README.sbpcd
--- v1.1.95/linux/drivers/block/README.sbpcd	Sun Jan 15 21:46:23 1995
+++ linux/drivers/block/README.sbpcd	Mon Mar  6 11:22:09 1995
@@ -58,7 +58,7 @@
 All supported drive families can be mixed, but the CR-521 drives are 
 hard-wired to drive ID 0. The drives have to use different drive IDs, and each
 drive has to get a unique minor number (0...3), corresponding indirectly to 
-it's drive ID.
+its drive ID.
 The drive IDs may be selected freely from 0 to 3 - they do not have to be in
 consecutive order.
 
@@ -132,7 +132,7 @@
           The "no-sound" board from OmniCd needs the "SBPRO 1" setup.
           All other "no-sound" boards need the "SBPRO 0" setup.
           The Spea Media FX sound card needs "SBPRO 2".
-          sbpcd.c holds some examples in it's auto-probe list.
+          sbpcd.c holds some examples in its auto-probe list.
           If you configure "SBPRO" wrong, the playing of audio CDs will work,
           but you will not be able to mount a data CD.
       a2. Tell the address of your CDROM_PORT (not of the sound port).
@@ -165,7 +165,7 @@
 
    The driver no longer uses the "AT bus style" device numbering; the SCSI
    scheme is used now; that means, the "first found" drive gets MINOR 0
-   (regardless to it's jumpered ID), the "next found" (at the same cable)
+   (regardless to its jumpered ID), the "next found" (at the same cable)
    gets MINOR 1, ...
    
    For a second interface board, you have to make nodes like
diff -u --recursive --new-file v1.1.95/linux/drivers/block/cdu31a.c linux/drivers/block/cdu31a.c
--- v1.1.95/linux/drivers/block/cdu31a.c	Wed Jan 18 09:38:59 1995
+++ linux/drivers/block/cdu31a.c	Mon Mar  6 11:22:09 1995
@@ -1384,7 +1384,7 @@
 cdu31a_request_startover:
       /*
        * The beginning here is stolen from the hard disk driver.  I hope
-       * its right.
+       * it's right.
        */
       if (!(CURRENT) || CURRENT->dev < 0)
       {
@@ -2570,7 +2570,7 @@
          it.  It seems to mean the drive has already done the operation. */
       if ((res_size < 2) || ((res_reg[0] != 0) && (res_reg[1] != 0)))
       {
-         /* If the drive is already playing, its ok.  */
+         /* If the drive is already playing, it's ok.  */
          if ((res_reg[1] == SONY_AUDIO_PLAYING_ERR) || (res_reg[1] == 0))
          {
             goto drive_spinning;
@@ -2725,7 +2725,7 @@
    if (read_status_register() != 0xff)
    {
       /*
-       * Reset the drive and wait for attention from it (to say its reset).
+       * Reset the drive and wait for attention from it (to say it's reset).
        * If you don't wait, the next operation will probably fail.
        */
       reset_drive();
diff -u --recursive --new-file v1.1.95/linux/drivers/block/floppy.c linux/drivers/block/floppy.c
--- v1.1.95/linux/drivers/block/floppy.c	Sun Feb 26 16:45:26 1995
+++ linux/drivers/block/floppy.c	Mon Mar  6 09:52:08 1995
@@ -2325,6 +2325,7 @@
 	/* claim buffer track if needed */
 	if (buffer_track != raw_cmd.track ||  /* bad track */
 	    buffer_drive !=current_drive || /* bad drive */
+	    sector_t > buffer_max ||
 	    sector_t < buffer_min ||
 	    ((CT(COMMAND) == FD_READ ||
 	      (aligned_sector_t == sector_t && CURRENT->nr_sectors >= ssize ))&&
diff -u --recursive --new-file v1.1.95/linux/drivers/block/sonycd535.c linux/drivers/block/sonycd535.c
--- v1.1.95/linux/drivers/block/sonycd535.c	Thu Feb 23 13:31:40 1995
+++ linux/drivers/block/sonycd535.c	Mon Mar  6 11:22:09 1995
@@ -715,7 +715,7 @@
 	if (do_sony_cmd(&cmd, 1, status, NULL, 0, 0) != 0)
 		return TIME_OUT;
 	if ((status[0] & SONY535_STATUS1_NOT_SPINNING) == 0)
-		return 0;	/* its already spinning */
+		return 0;	/* it's already spinning */
 
 	/* otherwise, give the spin-up command */
 	cmd = SONY535_SPIN_UP;
@@ -818,7 +818,7 @@
 	while (1) {
 		/*
 		 * The beginning here is stolen from the hard disk driver.  I hope
-		 * its right.
+		 * it's right.
 		 */
 		if (!(CURRENT) || CURRENT->dev < 0) {
 			return;
diff -u --recursive --new-file v1.1.95/linux/drivers/char/ChangeLog linux/drivers/char/ChangeLog
--- v1.1.95/linux/drivers/char/ChangeLog	Thu Feb 23 13:31:41 1995
+++ linux/drivers/char/ChangeLog	Mon Mar  6 11:22:09 1995
@@ -277,7 +277,7 @@
 		until after block_til_ready has returned successfully.
 		Modify block_til_ready to check the normal_termios
 		structure directly, so it doesn't rely on termios being
-		set before its called.
+		set before it's called.
 
 Thu Sep 15 23:34:01 1994  Theodore Y. Ts'o  (tytso@rt-11)
 
diff -u --recursive --new-file v1.1.95/linux/drivers/char/console.c linux/drivers/char/console.c
--- v1.1.95/linux/drivers/char/console.c	Thu Mar  2 09:31:10 1995
+++ linux/drivers/char/console.c	Mon Mar  6 10:21:32 1995
@@ -1005,6 +1005,7 @@
 			unsigned short old = scr_readw(p);
 			scr_writew(old ^ (((old & 0x0700) == 0x0100)
 					  ? 0x7000 : 0x7700), p);
+			p++;
 		}
 }
 
diff -u --recursive --new-file v1.1.95/linux/drivers/char/mem.c linux/drivers/char/mem.c
--- v1.1.95/linux/drivers/char/mem.c	Mon Jan 23 23:04:09 1995
+++ linux/drivers/char/mem.c	Tue Mar  7 14:59:28 1995
@@ -19,6 +19,7 @@
 
 #include <asm/segment.h>
 #include <asm/io.h>
+#include <asm/pgtable.h>
 
 #ifdef CONFIG_SOUND
 extern long soundcard_init(long mem_start);
@@ -88,15 +89,15 @@
 {
 	if (vma->vm_offset & ~PAGE_MASK)
 		return -ENXIO;
-#if 0 && defined(__i386__)
+#if defined(__i386__)
 	/*
-	 * hmm.. This disables high-memory caching, as the XFree86 team wondered
-	 * about that at one time. It doesn't seem to make a difference, though:
-	 * the surround logic should disable caching for the high device addresses
-	 * anyway.
+	 * hmm.. This disables high-memory caching, as the XFree86 team
+	 * wondered about that at one time.
+	 * The surround logic should disable caching for the high device
+	 * addresses anyway, but right now this seems still needed.
 	 */
 	if (x86 > 3 && vma->vm_offset >= high_memory)
-		vma->vm_page_prot |= PAGE_PCD;
+		pgprot_val(vma->vm_page_prot) |= _PAGE_PCD;
 #endif
 	if (remap_page_range(vma->vm_start, vma->vm_offset, vma->vm_end - vma->vm_start, vma->vm_page_prot))
 		return -EAGAIN;
diff -u --recursive --new-file v1.1.95/linux/drivers/net/3c501.c linux/drivers/net/3c501.c
--- v1.1.95/linux/drivers/net/3c501.c	Wed Feb 15 10:50:33 1995
+++ linux/drivers/net/3c501.c	Mon Mar  6 11:22:08 1995
@@ -29,7 +29,7 @@
     	transmit a packet. A third command mode exists when you are setting
     	things up.
     	
-    3]	If its transmitting its not receiving and vice versa. In fact the 
+    3]	If it's transmitting it's not receiving and vice versa. In fact the 
     	time to get the board back into useful state after an operation is
     	quite large.
     	
diff -u --recursive --new-file v1.1.95/linux/drivers/net/sk_g16.c linux/drivers/net/sk_g16.c
--- v1.1.95/linux/drivers/net/sk_g16.c	Mon Jan 16 07:17:36 1995
+++ linux/drivers/net/sk_g16.c	Tue Mar  7 16:25:27 1995
@@ -721,7 +721,7 @@
 
 	outb(SK_ROM_RAM_OFF, SK_POS2);     /* Boot_ROM + RAM off */  
 
-        /* We found a Boot_ROM and its gone. Set RAM address on
+        /* We found a Boot_ROM and it's gone. Set RAM address on
          * Boot_ROM address. 
          */ 
 
diff -u --recursive --new-file v1.1.95/linux/drivers/net/slhc.c linux/drivers/net/slhc.c
--- v1.1.95/linux/drivers/net/slhc.c	Mon Jan 23 10:38:31 1995
+++ linux/drivers/net/slhc.c	Mon Mar  6 11:22:08 1995
@@ -44,7 +44,7 @@
  *			Use ip_fast_csum from ip.h
  *
  *
- *	This module is a difficult issue. Its clearly inet code but its also clearly
+ *	This module is a difficult issue. It's clearly inet code but it's also clearly
  *	driver code belonging close to PPP and SLIP
  */
 
diff -u --recursive --new-file v1.1.95/linux/drivers/scsi/53c7,8xx.scr linux/drivers/scsi/53c7,8xx.scr
--- v1.1.95/linux/drivers/scsi/53c7,8xx.scr	Wed Aug 10 19:26:26 1994
+++ linux/drivers/scsi/53c7,8xx.scr	Tue Mar  7 16:30:21 1995
@@ -233,7 +233,7 @@
 ABSOLUTE reselected_identify = 0
 ABSOLUTE reselected_tag = 0
 
-; Request sense command pointer, its a 6 byte command, should
+; Request sense command pointer, it's a 6 byte command, should
 ; be constant for all commands since we always want 16 bytes of 
 ; sense and we don't need to change any fields as we did under 
 ; SCSI-I when we actually cared about the LUN field.
@@ -830,7 +830,7 @@
     ; XXX the ALU is only eight bits wide, and the assembler
     ; wont do the dirt work for us.  As long as dsa_check_reselect
     ; is negative, we need to sign extend with 1 bits to the full
-    ; 32 bit width os the address.
+    ; 32 bit width of the address.
     ;
     ; A potential work around would be to have a known alignment 
     ; of the DSA structure such that the base address plus 
diff -u --recursive --new-file v1.1.95/linux/drivers/scsi/53c8xx_d.h linux/drivers/scsi/53c8xx_d.h
--- v1.1.95/linux/drivers/scsi/53c8xx_d.h	Wed Aug 10 19:26:26 1994
+++ linux/drivers/scsi/53c8xx_d.h	Tue Mar  7 16:26:41 1995
@@ -295,8 +295,8 @@
 ABSOLUTE reselected_identify = 0
 ABSOLUTE reselected_tag = 0
 
-; Request sense command pointer, its a 6 byte command, should
-; be constant for all commands since we allays want 16 bytes of 
+; Request sense command pointer, it's a 6 byte command, should
+; be constant for all commands since we always want 16 bytes of 
 ; sense and we don't need to change any fields as we did under 
 ; SCSI-I when we actually cared about the LUN field.
 ;EXTERNAL NCR53c7xx_sense		; Request sense command
@@ -314,7 +314,7 @@
 ;
 ; MODIFIES : SCRATCH, reconnect_dsa_head
 ; 
-; EXITS : allays passes control to schedule
+; EXITS : always passes control to schedule
 
 ENTRY dsa_schedule
 dsa_schedule:
diff -u --recursive --new-file v1.1.95/linux/drivers/scsi/Makefile linux/drivers/scsi/Makefile
--- v1.1.95/linux/drivers/scsi/Makefile	Wed Feb  1 19:36:35 1995
+++ linux/drivers/scsi/Makefile	Mon Mar  6 11:22:09 1995
@@ -3,7 +3,7 @@
 #
 # Note! Dependencies are done automagically by 'make dep', which also
 # removes any old dependencies. DON'T put your own dependencies here
-# unless its something special (ie not a .c file).
+# unless it's something special (ie not a .c file).
 #
 
 .c.s:
diff -u --recursive --new-file v1.1.95/linux/drivers/scsi/in2000.c linux/drivers/scsi/in2000.c
--- v1.1.95/linux/drivers/scsi/in2000.c	Fri Jan 20 11:34:39 1995
+++ linux/drivers/scsi/in2000.c	Mon Mar  6 11:22:09 1995
@@ -428,7 +428,7 @@
 	bufflen = 0;
 
     /*
-     * What it looks like.  Boy did I get tired of reading it's output.
+     * What it looks like.  Boy did I get tired of reading its output.
      */
     if (*cmd == READ_10 || *cmd == WRITE_10) {
 	i = xscsi2int((cmd+1));
diff -u --recursive --new-file v1.1.95/linux/drivers/scsi/qlogic.c linux/drivers/scsi/qlogic.c
--- v1.1.95/linux/drivers/scsi/qlogic.c	Thu Feb 23 13:32:05 1995
+++ linux/drivers/scsi/qlogic.c	Tue Mar  7 14:52:13 1995
@@ -82,7 +82,7 @@
 /* This is the sync transfer divisor, XTALFREQ/X will be the maximum
    achievable data rate (assuming the rest of the system is capable
    and set properly) */
-#define SYNCXFRPD 4
+#define SYNCXFRPD 5
 /*(XTALFREQ/5)*/
 
 /*****/
@@ -99,10 +99,18 @@
 	the assertion delay, also in 1/2 clocks (FASTCLK is ignored here). */
 
 /*----------------------------------------------------------------*/
-#if defined(MODULE) || defined(PCMCIA)
+#ifdef PCMCIA
+#define MODULE
+#endif 
+
+#if defined(MODULE)
 #include <linux/config.h>
 #include <linux/module.h>
 #endif
+
+#ifdef PCMCIA
+#undef MODULE
+#endif 
 
 #include "../block/blk.h"	/* to get disk capacity */
 #include <linux/kernel.h>
diff -u --recursive --new-file v1.1.95/linux/drivers/scsi/scsi.h linux/drivers/scsi/scsi.h
--- v1.1.95/linux/drivers/scsi/scsi.h	Sun Feb 19 11:33:14 1995
+++ linux/drivers/scsi/scsi.h	Mon Mar  6 11:22:09 1995
@@ -392,8 +392,8 @@
    code does not need to do anything special to keep the commands alive. */
 #define SCSI_RESET_SUCCESS 2
 
-/* We called for an reset of this bus, and we should get an interrupt 
-   when this succeeds.  Each command should get it's own status
+/* We called for a reset of this bus, and we should get an interrupt 
+   when this succeeds.  Each command should get its own status
    passed up to scsi_done, but this has not happened yet. */
 #define SCSI_RESET_PENDING 3
 
diff -u --recursive --new-file v1.1.95/linux/drivers/sound/CHANGELOG linux/drivers/sound/CHANGELOG
--- v1.1.95/linux/drivers/sound/CHANGELOG	Fri Aug 19 08:54:07 1994
+++ linux/drivers/sound/CHANGELOG	Mon Mar  6 11:22:09 1995
@@ -91,7 +91,7 @@
 
 Since 2.1
 - Preliminary support for SB16. 
-  - The SB16 mixer is supported in it's native mode.
+  - The SB16 mixer is supported in its native mode.
   - Digitized voice capability up to 44.1 kHz/8 bit/mono
     (16 bit and stereo support coming in the next release).
 - Fixed some bugs in the digitized voice driver for PAS16.
diff -u --recursive --new-file v1.1.95/linux/drivers/sound/Readme.v30 linux/drivers/sound/Readme.v30
--- v1.1.95/linux/drivers/sound/Readme.v30	Fri Aug 19 08:54:08 1994
+++ linux/drivers/sound/Readme.v30	Mon Mar  6 11:22:09 1995
@@ -138,7 +138,7 @@
 - The basic API usage is similar to the current one. There are some new
 macros but the older ones should work as earlier. The most important
 incompatibility is that the /dev/sequencer2 driver allocates voices itself.
-The other one is that the application must send SEQ_START_TIMER() as it's
+The other one is that the application must send SEQ_START_TIMER() as its
 first event. Otherwise the timer is not started and the application waits
 infinitely.
 
diff -u --recursive --new-file v1.1.95/linux/drivers/sound/ad1848.c linux/drivers/sound/ad1848.c
--- v1.1.95/linux/drivers/sound/ad1848.c	Fri Jan 20 10:23:18 1995
+++ linux/drivers/sound/ad1848.c	Mon Mar  6 11:22:09 1995
@@ -683,7 +683,7 @@
  * Check that the I/O address is in use.
  *
  * The bit 0x80 of the base I/O port is known to be 0 after the
- * chip has performed it's power on initialization. Just assume
+ * chip has performed its power on initialization. Just assume
  * this has happened before the OS is starting.
  *
  * If the I/O address is unused, it typically returns 0xff.
diff -u --recursive --new-file v1.1.95/linux/drivers/sound/dmabuf.c linux/drivers/sound/dmabuf.c
--- v1.1.95/linux/drivers/sound/dmabuf.c	Wed Jan  4 19:17:57 1995
+++ linux/drivers/sound/dmabuf.c	Mon Mar  6 11:22:09 1995
@@ -740,7 +740,7 @@
  *	    buffer.
  *	1 = DMA transfer done. Device doesn't have local buffer or it's
  *	    empty now.
- *	2 = No DMA transfer but the device has now more space in it's local
+ *	2 = No DMA transfer but the device has now more space in its local
  *	    buffer.
  */
 
diff -u --recursive --new-file v1.1.95/linux/drivers/sound/experimental.txt linux/drivers/sound/experimental.txt
--- v1.1.95/linux/drivers/sound/experimental.txt	Fri Aug 19 08:54:08 1994
+++ linux/drivers/sound/experimental.txt	Mon Mar  6 11:22:09 1995
@@ -127,7 +127,7 @@
 delay between writing a byte and the time when it finally plays is
 at most 3 times the 'fragment_time'. 
 
-The delay depends on how much time the program needs to do it's 
+The delay depends on how much time the program needs to do its 
 computations for the next sample (updating screen etc). If it's about
 80% of the 'fragment_time' the game will run almost without delays. If it 
 uses more time, there is a risk that the audio buffer gets empty.
diff -u --recursive --new-file v1.1.95/linux/drivers/sound/mpu401.c linux/drivers/sound/mpu401.c
--- v1.1.95/linux/drivers/sound/mpu401.c	Tue Jan 17 07:49:57 1995
+++ linux/drivers/sound/mpu401.c	Mon Mar  6 11:22:09 1995
@@ -1209,7 +1209,7 @@
   /*
  * The MPU-401 supports just a limited set of possible timebase values.
  * Since the applications require more choices, the driver has to
- * program the HW to do it's best and to convert between the HW and
+ * program the HW to do its best and to convert between the HW and
  * actual timebases.
  */
 
diff -u --recursive --new-file v1.1.95/linux/drivers/sound/pss.c linux/drivers/sound/pss.c
--- v1.1.95/linux/drivers/sound/pss.c	Fri Aug 19 08:54:09 1994
+++ linux/drivers/sound/pss.c	Mon Mar  6 11:22:09 1995
@@ -159,7 +159,7 @@
 /*_____ pss_checkint
          This function tests an interrupt number to see if
 	 it is available. It takes the interrupt button
-	 as it's argument and returns TRUE if the interrupt
+	 as its argument and returns TRUE if the interrupt
 	 is ok.
 */
 static int
diff -u --recursive --new-file v1.1.95/linux/fs/buffer.c linux/fs/buffer.c
--- v1.1.95/linux/fs/buffer.c	Mon Feb 20 16:10:32 1995
+++ linux/fs/buffer.c	Mon Mar  6 11:22:08 1995
@@ -714,7 +714,7 @@
 	bh = free_list[isize];
 	remove_from_free_list(bh);
 
-/* OK, FINALLY we know that this buffer is the only one of it's kind, */
+/* OK, FINALLY we know that this buffer is the only one of its kind, */
 /* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */
 	bh->b_count=1;
 	bh->b_dirt=0;
diff -u --recursive --new-file v1.1.95/linux/fs/ext2/ialloc.c linux/fs/ext2/ialloc.c
--- v1.1.95/linux/fs/ext2/ialloc.c	Sun Feb 26 18:52:02 1995
+++ linux/fs/ext2/ialloc.c	Mon Mar  6 11:22:08 1995
@@ -358,7 +358,7 @@
 	else 
 	{
 		/*
-		 * Try to place the inode in it's parent directory
+		 * Try to place the inode in its parent directory
 		 */
 		i = dir->u.ext2_i.i_block_group;
 		tmp = get_group_desc (sb, i, &bh2);
diff -u --recursive --new-file v1.1.95/linux/fs/hpfs/hpfs.h linux/fs/hpfs/hpfs.h
--- v1.1.95/linux/fs/hpfs/hpfs.h	Thu Oct  6 08:24:13 1994
+++ linux/fs/hpfs/hpfs.h	Mon Mar  6 11:22:08 1995
@@ -259,7 +259,7 @@
   unsigned char locality;		/* 0=unk 1=seq 2=random 3=both */
   unsigned char namelen, name[1];	/* file name */
   /* dnode_secno down;	  btree down pointer, if present,
-     			  follows name on next word boundary, or maybe it's
+     			  follows name on next word boundary, or maybe it
 			  precedes next dirent, which is on a word boundary. */
 };
 
diff -u --recursive --new-file v1.1.95/linux/fs/isofs/rock.c linux/fs/isofs/rock.c
--- v1.1.95/linux/fs/isofs/rock.c	Mon Jan 23 10:38:29 1995
+++ linux/fs/isofs/rock.c	Mon Mar  6 11:26:57 1995
@@ -305,7 +305,18 @@
 	{ int high, low;
 	  high = isonum_733(rr->u.PN.dev_high);
 	  low = isonum_733(rr->u.PN.dev_low);
-	  inode->i_rdev = ((high << 8) | (low & 0xff)) & 0xffff;
+	  /*
+	   * The Rock Ridge standard specifies that if sizeof(dev_t) <=4,
+	   * then the high field is unused, and the device number is completely
+	   * stored in the low field.  Some writers may ignore this subtlety,
+	   * and as a result we test to see if the entire device number is
+	   * stored in the low field, and use that.
+	   */
+	  if(MINOR(low) != low && high == 0) {
+	    inode->i_rdev = low;
+	  } else {
+	    inode->i_rdev = MKDEV(high, low);
+	  }
 	};
 	break;
       case SIG('T','F'):
diff -u --recursive --new-file v1.1.95/linux/fs/nfs/inode.c linux/fs/nfs/inode.c
--- v1.1.95/linux/fs/nfs/inode.c	Wed Feb 15 09:31:56 1995
+++ linux/fs/nfs/inode.c	Mon Mar  6 11:22:08 1995
@@ -161,7 +161,7 @@
 	put_fs_long(0, &buf->f_files);
 	put_fs_long(0, &buf->f_ffree);
 	/* We should really try to interrogate the remote server to find
-	   it's maximum name length here */
+	   its maximum name length here */
 	put_fs_long(NAME_MAX, &buf->f_namelen);
 }
 
diff -u --recursive --new-file v1.1.95/linux/include/asm-i386/pgtable.h linux/include/asm-i386/pgtable.h
--- v1.1.95/linux/include/asm-i386/pgtable.h	Thu Mar  2 09:04:40 1995
+++ linux/include/asm-i386/pgtable.h	Tue Mar  7 14:59:28 1995
@@ -43,6 +43,7 @@
 #define _PAGE_PRESENT	0x001
 #define _PAGE_RW	0x002
 #define _PAGE_USER	0x004
+#define _PAGE_PCD	0x010
 #define _PAGE_ACCESSED	0x020
 #define _PAGE_DIRTY	0x040
 #define _PAGE_COW	0x200	/* implemented in software (one of the AVL bits) */
diff -u --recursive --new-file v1.1.95/linux/include/asm-sparc/psr.h linux/include/asm-sparc/psr.h
--- v1.1.95/linux/include/asm-sparc/psr.h	Thu Feb  2 08:42:35 1995
+++ linux/include/asm-sparc/psr.h	Mon Mar  6 11:22:08 1995
@@ -1,7 +1,7 @@
 /* psr.h: This file holds the macros for masking off various parts of
           the processor status register on the Sparc. This is valid
 	  for Version 8. On the V9 this is renamed to the PSTATE
-	  register and it's members are accessed as fields like
+	  register and its members are accessed as fields like
 	  PSTATE.PRIV for the current CPU privilege level.
 
    Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu)
diff -u --recursive --new-file v1.1.95/linux/include/asm-sparc/wim.h linux/include/asm-sparc/wim.h
--- v1.1.95/linux/include/asm-sparc/wim.h	Thu Feb  2 08:42:35 1995
+++ linux/include/asm-sparc/wim.h	Mon Mar  6 11:22:08 1995
@@ -22,7 +22,7 @@
    'rett' instruction. Privileged software is responsible for
    updating this on trap fills/spills etc. Therefore if a 'save'
    instruction is executed and it causes the Current Window
-   Pointer to equal a register window which has it's bit set in
+   Pointer to equal a register window which has its bit set in
    %wim we get a 'overflow' trap, a restore into such a register
    invokes a window 'spill' trap.
 */
diff -u --recursive --new-file v1.1.95/linux/include/linux/ext2_fs.h linux/include/linux/ext2_fs.h
--- v1.1.95/linux/include/linux/ext2_fs.h	Sun Feb 26 18:52:02 1995
+++ linux/include/linux/ext2_fs.h	Mon Mar  6 21:27:31 1995
@@ -15,6 +15,8 @@
 #ifndef _LINUX_EXT2_FS_H
 #define _LINUX_EXT2_FS_H
 
+#include <linux/types.h>
+
 /*
  * The second extended filesystem constants/structures
  */
diff -u --recursive --new-file v1.1.95/linux/include/linux/ip_fw.h linux/include/linux/ip_fw.h
--- v1.1.95/linux/include/linux/ip_fw.h	Thu Feb 23 13:26:22 1995
+++ linux/include/linux/ip_fw.h	Mon Mar  6 11:22:08 1995
@@ -8,9 +8,9 @@
  *	Ported from BSD to Linux,
  *		Alan Cox 22/Nov/1994.
  *	Merged and included the FreeBSD-Current changes at Ugen's request
- *	(but hey its a lot cleaner now). Ugen would prefer in some ways
+ *	(but hey it's a lot cleaner now). Ugen would prefer in some ways
  *	we waited for his final product but since Linux 1.2.0 is about to
- *	appear its not practical - Read: It works, its not clean but please
+ *	appear it's not practical - Read: It works, it's not clean but please
  *	don't consider it to be his standard of finished work.
  *		Alan.
  *
diff -u --recursive --new-file v1.1.95/linux/include/linux/pci.h linux/include/linux/pci.h
--- v1.1.95/linux/include/linux/pci.h	Fri Feb 24 21:38:37 1995
+++ linux/include/linux/pci.h	Tue Mar  7 14:49:31 1995
@@ -238,6 +238,8 @@
 #define PCI_DEVICE_ID_INTEL_82375	0x0482
 #define PCI_DEVICE_ID_INTEL_82434	0x04a3
 #define PCI_DEVICE_ID_INTEL_82430	0x0486
+#define PCI_DEVICE_ID_INTEL_82437	0x122d
+#define PCI_DEVICE_ID_INTEL_82371	0x122e
 
 #define PCI_VENDOR_ID_SMC		0x1042
 #define PCI_DEVICE_ID_SMC_37C665	0x1000
@@ -267,6 +269,7 @@
 #define PCI_VENDOR_ID_AL		0x10b9
 #define PCI_DEVICE_ID_AL_M1449		0x1449
 #define PCI_DEVICE_ID_AL_M1451		0x1451
+#define PCI_DEVICE_ID_AL_M4803		0x5215
 
 #define PCI_VENDOR_ID_TSENG		0x100c
 #define PCI_DEVICE_ID_TSENG_W32P_2	0x3202
@@ -326,13 +329,19 @@
 #define PCI_VENDOR_ID_HER		0xedd8
 #define PCI_DEVICE_ID_HER_STING		0xa091
 
+#define PCI_VENDOR_ID_ATRONICS		0x907f
+#define PCI_DEVICE_ID_ATRONICS_2015	0x2015
+
+#define PCI_VENDOR_ID_CT		0x102c
+#define PCI_DEVICE_ID_CT_65545		0x00d8
+
 struct pci_vendor_type {
 	unsigned short vendor_id;
 	char *vendor_name;
 };
 
 
-#define PCI_VENDOR_NUM 34
+#define PCI_VENDOR_NUM 36
 #define PCI_VENDOR_TYPE { \
 	{PCI_VENDOR_ID_NCR,		"NCR"}, \
 	{PCI_VENDOR_ID_ADAPTEC,		"Adaptec"}, \
@@ -367,7 +376,9 @@
 	{PCI_VENDOR_ID_IMS,		"IMS"}, \
 	{PCI_VENDOR_ID_ZEINET,		"ZeiNet"}, \
 	{PCI_VENDOR_ID_EF,		"Efficient Networks"}, \
-	{PCI_VENDOR_ID_HER,		"Hercules"} \
+	{PCI_VENDOR_ID_HER,		"Hercules"}, \
+	{PCI_VENDOR_ID_ATRONICS,	"Atronics"}, \
+	{PCI_VENDOR_ID_CT,		"Chips & Technologies"} \
 }
 
 
@@ -386,7 +397,7 @@
 	char *device_name;
 };
 
-#define PCI_DEVICE_NUM 66
+#define PCI_DEVICE_NUM 71
 #define PCI_DEVICE_TYPE { \
 	{0xff,	PCI_VENDOR_ID_NCR,	PCI_DEVICE_ID_NCR_53C810,	"53c810"}, \
 	{0xff,	PCI_VENDOR_ID_NCR,	PCI_DEVICE_ID_NCR_53C815,	"53c815"}, \
@@ -417,6 +428,8 @@
 	{0xff,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82375,	"82375EB"}, \
 	{0x00,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82434,	"82434LX Mercury/Neptune"}, \
 	{0xff,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82430,	"82430ZX Aries"}, \
+	{0xff,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82437,	"82437FX Triton"}, \
+	{0xff,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82371,	"82371FB"}, \
 	{0xff,	PCI_VENDOR_ID_SMC,	PCI_DEVICE_ID_SMC_37C665,	"FDC 37C665"}, \
 	{0xff,	PCI_VENDOR_ID_ATI,	PCI_DEVICE_ID_ATI_M32,		"Mach 32"}, \
 	{0xff,	PCI_VENDOR_ID_ATI,	PCI_DEVICE_ID_ATI_M64,		"Mach 64"}, \
@@ -430,6 +443,7 @@
 	{0xff,	PCI_VENDOR_ID_AI,	PCI_DEVICE_ID_AI_M1435,		"M1435"}, \
 	{0xff,	PCI_VENDOR_ID_AL,	PCI_DEVICE_ID_AL_M1449,		"M1449"}, \
 	{0xff,	PCI_VENDOR_ID_AL,	PCI_DEVICE_ID_AL_M1451,		"M1451"}, \
+	{0xff,	PCI_VENDOR_ID_AL,	PCI_DEVICE_ID_AL_M4803,		"MS4803"}, \
 	{0xff,	PCI_VENDOR_ID_TSENG,	PCI_DEVICE_ID_TSENG_W32P_2,	"ET4000W32P"}, \
 	{0xff,	PCI_VENDOR_ID_TSENG,	PCI_DEVICE_ID_TSENG_W32P_b,	"ET4000W32P rev B"}, \
 	{0xff,	PCI_VENDOR_ID_TSENG,	PCI_DEVICE_ID_TSENG_W32P_c,	"ET4000W32P rev C"}, \
@@ -453,7 +467,9 @@
 	{0xff,	PCI_VENDOR_ID_IMS,	PCI_DEVICE_ID_IMS_8849,		"8849"}, \
 	{0xff,	PCI_VENDOR_ID_ZEINET,	PCI_DEVICE_ID_ZEINET_1221,	"1221"}, \
 	{0xff,	PCI_VENDOR_ID_EF,	PCI_DEVICE_ID_EF_ATM,		"155P-MF1"}, \
-	{0xff,	PCI_VENDOR_ID_HER,	PCI_DEVICE_ID_HER_STING,	"Stingray"} \
+	{0xff,	PCI_VENDOR_ID_HER,	PCI_DEVICE_ID_HER_STING,	"Stingray"}, \
+	{0xff,	PCI_VENDOR_ID_ATRONICS,	PCI_DEVICE_ID_ATRONICS_2015,	"IDE-2015PL"}, \
+	{0xff,	PCI_VENDOR_ID_CT,	PCI_DEVICE_ID_CT_65545,		"65545"} \
 }
 
 /* An item of this structure has the following meaning	*/
diff -u --recursive --new-file v1.1.95/linux/include/linux/sched.h linux/include/linux/sched.h
--- v1.1.95/linux/include/linux/sched.h	Fri Feb 24 16:41:01 1995
+++ linux/include/linux/sched.h	Tue Mar  7 14:38:48 1995
@@ -199,6 +199,9 @@
 #define PF_PTRACED	0x00000010	/* set if ptrace (0) has been called. */
 #define PF_TRACESYS	0x00000020	/* tracing system calls */
 
+#define PF_STARTING	0x00000100	/* being created */
+#define PF_EXITING	0x00000200	/* getting shut down */
+
 /*
  * cloning flags:
  */
diff -u --recursive --new-file v1.1.95/linux/include/linux/soundcard.h linux/include/linux/soundcard.h
--- v1.1.95/linux/include/linux/soundcard.h	Sun Nov 27 20:19:54 1994
+++ linux/include/linux/soundcard.h	Mon Mar  6 11:22:08 1995
@@ -348,7 +348,7 @@
  *
  * This driver uses just the numbers 0 to 31 to store both
  * the LSB and MSB. The controller value is a unsigned short
- * and it's valid range is between 0 and 16383 (0x0000 to 0x3fff).
+ * and its valid range is between 0 and 16383 (0x0000 to 0x3fff).
  * The driver sends the controller value using two messages when
  * necessary.
  */
diff -u --recursive --new-file v1.1.95/linux/kernel/exit.c linux/kernel/exit.c
--- v1.1.95/linux/kernel/exit.c	Wed Feb  1 09:19:36 1995
+++ linux/kernel/exit.c	Tue Mar  7 14:41:56 1995
@@ -380,6 +380,7 @@
 		intr_count = 0;
 	}
 fake_volatile:
+	current->flags |= PF_EXITING;
 	sem_exit();
 	exit_mmap(current);
 	free_page_tables(current);
diff -u --recursive --new-file v1.1.95/linux/kernel/sys.c linux/kernel/sys.c
--- v1.1.95/linux/kernel/sys.c	Wed Mar  1 13:31:54 1995
+++ linux/kernel/sys.c	Sun Mar  5 00:16:36 1995
@@ -172,12 +172,8 @@
 {
 	if (C_A_D)
 		hard_reset_now();
-	else {
-		int i;
+	else
 		send_sig(SIGINT,task[1],1);
-		for (i = 2; i < NR_TASKS; i++)
-			send_sig(SIGHUP,task[i],1);
-	}
 }
 	
 
diff -u --recursive --new-file v1.1.95/linux/mm/swap.c linux/mm/swap.c
--- v1.1.95/linux/mm/swap.c	Wed Mar  1 13:32:36 1995
+++ linux/mm/swap.c	Tue Mar  7 14:35:17 1995
@@ -340,12 +340,13 @@
 	if (pte_dirty(pte)) {
 		if (mem_map[MAP_NR(page)] != 1)
 			return 0;
-		vma->vm_task->mm->rss--;
-		if (vma->vm_ops && vma->vm_ops->swapout)
+		if (vma->vm_ops && vma->vm_ops->swapout) {
+			vma->vm_task->mm->rss--;
 			vma->vm_ops->swapout(vma, address-vma->vm_start, page_table);
-		else {
+		} else {
 			if (!(entry = get_swap_page()))
 				return 0;
+			vma->vm_task->mm->rss--;
 			pte_val(*page_table) = entry;
 			invalidate();
 			write_swap_page(entry, (char *) page);
diff -u --recursive --new-file v1.1.95/linux/net/inet/af_inet.c linux/net/inet/af_inet.c
--- v1.1.95/linux/net/inet/af_inet.c	Thu Feb 23 14:02:24 1995
+++ linux/net/inet/af_inet.c	Tue Mar  7 14:43:50 1995
@@ -270,7 +270,7 @@
 
   	sk->inuse = 1;			/* just to be safe. */
 
-  	/* Incase it's sleeping somewhere. */
+  	/* In case it's sleeping somewhere. */
   	if (!sk->dead) 
   		sk->write_space(sk);
 
@@ -778,9 +778,12 @@
 	 * If linger is set, we don't return until the close
 	 * is complete.  Other wise we return immediately. The
 	 * actually closing is done the same either way.
+	 *
+	 * If the close is due to the process exiting, we never
+	 * linger..
 	 */
 
-	if (sk->linger == 0) 
+	if (sk->linger == 0 || (current->flags & PF_EXITING))
 	{
 		sk->prot->close(sk,0);
 		sk->dead = 1;
@@ -1019,7 +1022,7 @@
 	/*
 	 * We've been passed an extra socket.
 	 * We need to free it up because the tcp module creates
-	 * it's own when it accepts one.
+	 * its own when it accepts one.
 	 */
 	if (newsock->data)
 	{
diff -u --recursive --new-file v1.1.95/linux/net/inet/datagram.c linux/net/inet/datagram.c
--- v1.1.95/linux/net/inet/datagram.c	Sat Jan  7 12:57:54 1995
+++ linux/net/inet/datagram.c	Mon Mar  6 11:22:08 1995
@@ -155,7 +155,7 @@
 		return;
 	}
 	/* See if it needs destroying */
-	if(!skb->next && !skb->prev)	/* Been dequeued by someone - ie its read */
+	if(!skb->next && !skb->prev)	/* Been dequeued by someone - ie it's read */
 		kfree_skb(skb,FREE_READ);
 	restore_flags(flags);
 }
diff -u --recursive --new-file v1.1.95/linux/net/inet/dev.c linux/net/inet/dev.c
--- v1.1.95/linux/net/inet/dev.c	Wed Feb 15 21:31:24 1995
+++ linux/net/inet/dev.c	Mon Mar  6 11:22:08 1995
@@ -417,7 +417,7 @@
 	}
 
 	/*
-	 *	Transmission failed, put skb back into a list. Once on the list its safe and
+	 *	Transmission failed, put skb back into a list. Once on the list it's safe and
 	 *	no longer device locked (it can be freed safely from the device queue)
 	 */
 	cli();
diff -u --recursive --new-file v1.1.95/linux/net/inet/devinet.c linux/net/inet/devinet.c
--- v1.1.95/linux/net/inet/devinet.c	Thu Jan  5 13:55:40 1995
+++ linux/net/inet/devinet.c	Mon Mar  6 11:22:08 1995
@@ -181,7 +181,7 @@
 /*
  *	Find an interface that can handle addresses for a certain address. 
  *
- *	This needs optimising, since its relatively trivial to collapse
+ *	This needs optimising, since it's relatively trivial to collapse
  *	the two loops into one.
  */
  
diff -u --recursive --new-file v1.1.95/linux/net/inet/icmp.c linux/net/inet/icmp.c
--- v1.1.95/linux/net/inet/icmp.c	Tue Feb  7 18:03:51 1995
+++ linux/net/inet/icmp.c	Mon Mar  6 11:22:08 1995
@@ -742,7 +742,7 @@
 		case ICMP_ADDRESSREPLY:
 			/*
 			 *	We ought to set our netmask on receiving this, but 
-			 *	experience shows its a waste of effort.
+			 *	experience shows it's a waste of effort.
 			 */
 			icmp_statistics.IcmpInAddrMaskReps++;
 			kfree_skb(skb1, FREE_READ);
diff -u --recursive --new-file v1.1.95/linux/net/inet/ip.c linux/net/inet/ip.c
--- v1.1.95/linux/net/inet/ip.c	Fri Feb 24 21:40:16 1995
+++ linux/net/inet/ip.c	Mon Mar  6 11:22:08 1995
@@ -1133,7 +1133,7 @@
 
 	if(mtu<8)
 	{
-		/* It's wrong but its better than nothing */
+		/* It's wrong but it's better than nothing */
 		icmp_send(skb,ICMP_DEST_UNREACH,ICMP_FRAG_NEEDED,dev->mtu, dev);
 		ip_statistics.IpFragFails++;
 		return;
@@ -1145,7 +1145,7 @@
 
 	/*
 	 *	The initial offset is 0 for a complete frame. When
-	 *	fragmenting fragments its wherever this one starts.
+	 *	fragmenting fragments it's wherever this one starts.
 	 */
 
 	if (is_frag & 2)
@@ -1434,7 +1434,7 @@
 			
 			/*
 			 *	Map service types to priority. We lie about
-			 *	throughput being low priority, but its a good
+			 *	throughput being low priority, but it's a good
 			 *	choice to help improve general usage.
 			 */
 			if(iph->tos & IPTOS_LOWDELAY)
diff -u --recursive --new-file v1.1.95/linux/net/inet/ip_fw.c linux/net/inet/ip_fw.c
--- v1.1.95/linux/net/inet/ip_fw.c	Thu Feb 23 13:26:12 1995
+++ linux/net/inet/ip_fw.c	Mon Mar  6 11:22:08 1995
@@ -11,9 +11,9 @@
  *	Zeroing /proc and other additions
  *		Jos Vos 4/Feb/1995.
  *	Merged and included the FreeBSD-Current changes at Ugen's request
- *	(but hey its a lot cleaner now). Ugen would prefer in some ways
+ *	(but hey it's a lot cleaner now). Ugen would prefer in some ways
  *	we waited for his final product but since Linux 1.2.0 is about to
- *	appear its not practical - Read: It works, its not clean but please
+ *	appear it's not practical - Read: It works, it's not clean but please
  *	don't consider it to be his standard of finished work.
  *		Alan Cox 12/Feb/1995
  *
@@ -193,7 +193,7 @@
 			dprintf1("TCP ");
 			src_port=ntohs(tcp->source);
 			dst_port=ntohs(tcp->dest);
-			if(tcp->syn)
+			if(tcp->syn && !tcp->ack)
 				notcpsyn=0; /* We *DO* have SYN, value FALSE */
 			prt=IP_FW_F_TCP;
 			break;
@@ -930,38 +930,23 @@
 
 #ifdef CONFIG_IP_ACCT
 
-int ip_acct_procinfo(char *buffer, char **start, off_t offset, int length)
+int ip_acct_procinfo(char *buffer, char **start, off_t offset, int length, int reset)
 {
-	return ip_chain_procinfo(IP_INFO_ACCT, buffer,start,offset,length,0);
-}
-
-int ip_acct0_procinfo(char *buffer, char **start, off_t offset, int length)
-{
-	return ip_chain_procinfo(IP_INFO_ACCT, buffer,start,offset,length,1);
+	return ip_chain_procinfo(IP_INFO_ACCT, buffer,start,offset,length,reset);
 }
 
 #endif
 
 #ifdef CONFIG_IP_FIREWALL
 
-int ip_fw_blk_procinfo(char *buffer, char **start, off_t offset, int length)
-{
-	return ip_chain_procinfo(IP_INFO_BLK, buffer,start,offset,length,0);
-}
-
-int ip_fw_blk0_procinfo(char *buffer, char **start, off_t offset, int length)
-{
-	return ip_chain_procinfo(IP_INFO_BLK, buffer,start,offset,length,1);
-}
-
-int ip_fw_fwd_procinfo(char *buffer, char **start, off_t offset, int length)
+int ip_fw_blk_procinfo(char *buffer, char **start, off_t offset, int length, int reset)
 {
-	return ip_chain_procinfo(IP_INFO_FWD, buffer,start,offset,length,0);
+	return ip_chain_procinfo(IP_INFO_BLK, buffer,start,offset,length,reset);
 }
 
-int ip_fw_fwd0_procinfo(char *buffer, char **start, off_t offset, int length)
+int ip_fw_fwd_procinfo(char *buffer, char **start, off_t offset, int length, int reset)
 {
-	return ip_chain_procinfo(IP_INFO_FWD, buffer,start,offset,length,1);
+	return ip_chain_procinfo(IP_INFO_FWD, buffer,start,offset,length,reset);
 }
 
 #endif
diff -u --recursive --new-file v1.1.95/linux/net/inet/proc.c linux/net/inet/proc.c
--- v1.1.95/linux/net/inet/proc.c	Wed Jan 11 08:03:11 1995
+++ linux/net/inet/proc.c	Mon Mar  6 11:22:08 1995
@@ -115,7 +115,7 @@
 				break;
 		}
 		sti();	/* We only turn interrupts back on for a moment, but because the interrupt queues anything built up
-			   before this will clear before we jump back and cli, so its not as bad as it looks */
+			   before this will clear before we jump back and cli, so it's not as bad as it looks */
 		if(pos>offset+length)
 			break;
 	}
diff -u --recursive --new-file v1.1.95/linux/net/inet/rarp.c linux/net/inet/rarp.c
--- v1.1.95/linux/net/inet/rarp.c	Sun Feb  5 14:26:08 1995
+++ linux/net/inet/rarp.c	Mon Mar  6 11:22:08 1995
@@ -152,7 +152,7 @@
 	unsigned char *sha,*tha;            /* s for "source", t for "target" */
   
 /*
- *	If this test doesn't pass, its not IP, or we should ignore it anyway
+ *	If this test doesn't pass, it's not IP, or we should ignore it anyway
  */
 
 	if (rarp->ar_hln != dev->addr_len || dev->type != ntohs(rarp->ar_hrd) 
diff -u --recursive --new-file v1.1.95/linux/net/inet/tcp.c linux/net/inet/tcp.c
--- v1.1.95/linux/net/inet/tcp.c	Thu Feb 23 08:02:30 1995
+++ linux/net/inet/tcp.c	Mon Mar  6 11:22:08 1995
@@ -107,7 +107,7 @@
  *		Alan Cox	:	Spurious resets on shutdown.
  *		Alan Cox	:	Giant 15 minute/60 second timer error
  *		Alan Cox	:	Small whoops in selecting before an accept.
- *		Alan Cox	:	Kept the state trace facility since its
+ *		Alan Cox	:	Kept the state trace facility since it's
  *					handy for debugging.
  *		Alan Cox	:	More reset handler fixes.
  *		Alan Cox	:	Started rewriting the code based on the RFC's
@@ -272,7 +272,7 @@
 	if(sk->debug)
 		printk("TCP sk=%p, State %s -> %s\n",sk, statename[sk->state],statename[state]);
 #endif	
-	/* This is a hack but it doesn't occur often and its going to
+	/* This is a hack but it doesn't occur often and it's going to
 	   be a real        to fix nicely */
 	   
 	if(state==TCP_ESTABLISHED && sk->state==TCP_SYN_RECV)
@@ -1138,7 +1138,7 @@
 	 
 	if (size == sizeof(struct tcphdr)) 
 	{
-		/* If its got a syn or fin its notionally included in the size..*/
+		/* If it's got a syn or fin it's notionally included in the size..*/
 		if(!th->syn && !th->fin) 
 		{
 			printk("tcp_send_skb: attempt to queue a bogon.\n");
@@ -1312,7 +1312,7 @@
 	{
 		/* 
 		 *	Force it to send an ack. We don't have to do this
-		 *	(ACK is unreliable) but its much better use of 
+		 *	(ACK is unreliable) but it's much better use of 
 		 *	bandwidth on slow links to send a spare ack than
 		 *	resend packets. 
 		 */
@@ -1612,7 +1612,7 @@
 		if (copy < sk->mss && !(flags & MSG_OOB)) 
 		{
 			/*
-			 *	We will release the socket incase we sleep here. 
+			 *	We will release the socket in case we sleep here. 
 			 */
 			release_sock(sk);
 			/*
@@ -1626,7 +1626,7 @@
 		else 
 		{
 			/*
-			 *	We will release the socket incase we sleep here. 
+			 *	We will release the socket in case we sleep here. 
 			 */
 			release_sock(sk);
 			skb = prot->wmalloc(sk, copy + prot->max_header , 0, GFP_KERNEL);
@@ -2413,7 +2413,7 @@
 		return;
 	 
 	/*
-	 *	If we've already sent a FIN, or its a closed state
+	 *	If we've already sent a FIN, or it's a closed state
 	 */
 	 
 	if (sk->state == TCP_FIN_WAIT1 ||
@@ -3355,7 +3355,7 @@
 			
 		/*
 		 *	If our packet is before the ack sequence we can
-		 *	discard it as its confirmed to have arrived the other end.
+		 *	discard it as it's confirmed to have arrived the other end.
 		 */
 		 
 		if (before(sk->send_head->h.seq, ack+1)) 
@@ -3837,13 +3837,13 @@
 		 *	cope with it.
 		 */
 
-		if(skb->len)	/* We don't care if its just an ack or
+		if(skb->len)	/* We don't care if it's just an ack or
 				   a keepalive/window probe */
 		{
 			new_seq= th->seq + skb->len + th->syn;	/* Right edge of _data_ part of frame */
 			
 			/* Do this the way 4.4BSD treats it. Not what I'd
-			   regard as the meaning of the spec but its what BSD
+			   regard as the meaning of the spec but it's what BSD
 			   does and clearly they know everything 8) */
 
 			/*
@@ -4537,7 +4537,7 @@
 	sk = get_sock(&tcp_prot, th->dest, saddr, th->source, daddr);
 
 	/*
-	 *	If this socket has got a reset its to all intents and purposes 
+	 *	If this socket has got a reset it's to all intents and purposes 
   	 *	really dead. Count closed sockets as dead.
   	 *
   	 *	Note: BSD appears to have a bug here. A 'closed' TCP in BSD
@@ -4698,7 +4698,7 @@
 			/* Crossed SYN or previous junk segment */
 			if(th->ack)
 			{
-				/* We got an ack, but its not a good ack */
+				/* We got an ack, but it's not a good ack */
 				if(!tcp_ack(sk,th,saddr,len))
 				{
 					/* Reset the ack - its an ack from a 
@@ -4721,7 +4721,7 @@
 					return 0;
 				}
 				/*
-				 *	Ok.. its good. Set up sequence numbers and
+				 *	Ok.. it's good. Set up sequence numbers and
 				 *	move to established.
 				 */
 				syn_ok=1;	/* Don't reset this connection for the syn */
diff -u --recursive --new-file v1.1.95/linux/net/socket.c linux/net/socket.c
--- v1.1.95/linux/net/socket.c	Thu Feb 23 13:26:45 1995
+++ linux/net/socket.c	Mon Mar  6 11:22:08 1995
@@ -406,7 +406,7 @@
 	}
 
 	/*
-	 *	We can't return errors to select, so its either yes or no. 
+	 *	We can't return errors to select, so it's either yes or no. 
 	 */
 
 	if (sock->ops && sock->ops->select)
@@ -719,7 +719,7 @@
 
 
 /*
- *	Bind a name to a socket. Nothing much to do here since its
+ *	Bind a name to a socket. Nothing much to do here since it's
  *	the protocol's responsibility to handle the local address.
  *
  *	We move the socket address to kernel space before we call
diff -u --recursive --new-file v1.1.95/linux/net/unix/sock.c linux/net/unix/sock.c
--- v1.1.95/linux/net/unix/sock.c	Thu Jan 12 11:37:34 1995
+++ linux/net/unix/sock.c	Mon Mar  6 11:22:08 1995
@@ -330,7 +330,7 @@
 	upd->protocol = protocol;
 	upd->socket = sock;
 	UN_DATA(sock) = upd;
-	upd->refcnt = 1;	/* Now its complete - bgm */
+	upd->refcnt = 1;	/* Now it's complete - bgm */
 	return(0);
 }
 
@@ -430,7 +430,7 @@
 			i=-EADDRINUSE;
 		return(i);
 	}
-	upd->sockaddr_len = sockaddr_len;	/* now its legal */
+	upd->sockaddr_len = sockaddr_len;	/* now it's legal */
 	
 	return(0);
 }
