kern/56250: ums doesn't work with MCT based PS/2 converters

Walter C. Pelissero walter at pelissero.de
Sun Aug 31 13:10:10 PDT 2003


>Number:         56250
>Category:       kern
>Synopsis:       ums doesn't work with MCT based PS/2 converters
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 31 13:10:07 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Walter C. Pelissero
>Release:        FreeBSD 4.9-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD hyde.home.loc 4.9-PRERELEASE FreeBSD 4.9-PRERELEASE #28: Sun Aug 31 14:33:47 CEST 2003 root at hyde.home.loc:/.amd_mnt/daemon/host/usr/src/sys/compile/PCG-XG9 i386


>Description:
	Mice connected to a MCT Corp PS/2 converter don't work.  This
	seems to be due to a test in ums.c.  Changing the test the
	device works.
>How-To-Repeat:
	Connect to a MCT based USB->PS/2 converter a PS/2 mouse and
	try to use it.
>Fix:

	The following patch solves the problem, but the possible side
	effects are unknown to me.  For instance, what happens if
	sc->sc_ibuf[0] != sc->sc_iid ?

--- /sys/dev/usb/ums.c	Wed Nov  6 21:23:50 2002
+++ ums.c	Sun Aug 31 15:08:52 2003
@@ -428,10 +428,8 @@
 	}
 
 	ibuf = sc->sc_ibuf;
-	if (sc->sc_iid) {
-		if (*ibuf++ != sc->sc_iid)
-			return;
-	}
+	if (sc->sc_iid)
+		ibuf++;
 
 	dx =  hid_get_data(ibuf, &sc->sc_loc_x);
 	dy = -hid_get_data(ibuf, &sc->sc_loc_y);
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list