From owner-cvs-all Sat Oct 13 3:28: 7 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 5F99337B407; Sat, 13 Oct 2001 03:28:03 -0700 (PDT) Received: (from yokota@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f9DAS3x82894; Sat, 13 Oct 2001 03:28:03 -0700 (PDT) (envelope-from yokota) Message-Id: <200110131028.f9DAS3x82894@freefall.freebsd.org> From: Kazutaka YOKOTA Date: Sat, 13 Oct 2001 03:28:03 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/isa psm.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG yokota 2001/10/13 03:28:03 PDT Modified files: sys/isa psm.c Log: Hack for the "out-of-sync" error. - Count the number of this error. - When the error is detected for the first time, the psm driver will throw few data bytes (up to entire packet size) and see if it can get back to sync. - If the error still persists, the psm driver disable/enable the mouse and see if it works. - If the error still persists and the count goes up to 20, the psm driver reset and reinitialize the mouse. The counter is reset to zero. - It also discards an incomplete data packet when the interval between two consequtive bytes are longer than pre-defined timeout (2 seconds). The last byte which arrived late will be regarded as the first byte of a new packet. This is louie's idea. You may see the following error logs during the above operations: "psmintr: delay too long; resetting byte count" "psmintr: out of sync (%04x != %04x)" "psmintr: discard a byte (%d)" "psmintr: re-enable the mouse" "psmintr: reset the mouse" MFC after: 1 month Revision Changes Path 1.42 +153 -110 src/sys/isa/psm.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message