*BSD News Article 10380


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA26 ; Wed, 27 Jan 93 13:10:57 EST
Path: sserve!manuel.anu.edu.au!munnari.oz.au!sgiblab!spool.mu.edu!agate!usenet.ins.cwru.edu!gatech!udel!sbcs.sunysb.edu!stark.UUCP!gene
From: gene@stark.uucp (Gene Stark)
Newsgroups: comp.unix.bsd
Subject: Busmouse and patch00061 (FIX)
Date: 26 Jan 93 08:52:24
Organization: Gene Stark's home system
Lines: 79
Distribution: world
Message-ID: <GENE.93Jan26085224@stark.stark.uucp>
NNTP-Posting-Host: stark.uucp

These diffs are for Rick Macklem's 386bsd-busmouse driver, which can be
found at host snowhite.cis.uoguelph.ca.  There are some prior minor fixes it
needed to work with a Microsoft bus mouse.  I posted such fixes a few months
ago, but I don't know if they got incorporated into his sourcs.

You MUST apply these diffs if you have installed patch00061 in patchkit-0.2.
DON'T apply them if you didn't install that patch.


*** /sys/i386/isa/mse.c.pl1	Sun Nov  1 01:13:00 1992
--- /sys/i386/isa/mse.c	Tue Jan 26 07:48:14 1993
***************
*** 51,57 ****
  struct mse_softc {
  	int	sc_flags;
  	int	sc_mousetype;
! 	struct	proc *sc_selp;
  	u_int	sc_port;
  	void	(*sc_enablemouse)();
  	void	(*sc_disablemouse)();
--- 51,57 ----
  struct mse_softc {
  	int	sc_flags;
  	int	sc_mousetype;
! 	pid_t	sc_selp;
  	u_int	sc_port;
  	void	(*sc_enablemouse)();
  	void	(*sc_disablemouse)();
***************
*** 289,295 ****
  	 * Since this is an exclusive open device, any previous proc.
  	 * pointer is trash now, so we can just assign it.
  	 */
! 	sc->sc_selp = p;
  	splx(s);
  	return (0);
  }
--- 289,295 ----
  	 * Since this is an exclusive open device, any previous proc.
  	 * pointer is trash now, so we can just assign it.
  	 */
! 	sc->sc_selp = p->p_pid;
  	splx(s);
  	return (0);
  }
***************
*** 301,307 ****
  	int unit;
  {
  	register struct mse_softc *sc = &mse_sc[unit];
! 	struct proc *p;
  
  #ifdef DEBUG
  	static int mse_intrcnt = 0;
--- 301,307 ----
  	int unit;
  {
  	register struct mse_softc *sc = &mse_sc[unit];
! 	pid_t p;
  
  #ifdef DEBUG
  	static int mse_intrcnt = 0;
***************
*** 324,330 ****
  		}	
  		if (sc->sc_selp) {	
  			p = sc->sc_selp;	
! 			sc->sc_selp = (struct proc *)0;	
  			selwakeup(p, 0);	
  		}	
  	}
--- 324,330 ----
  		}	
  		if (sc->sc_selp) {	
  			p = sc->sc_selp;	
! 			sc->sc_selp = (pid_t)0;	
  			selwakeup(p, 0);	
  		}	
  	}