Date: Thu, 22 Apr 1999 10:07:56 +0200 (MET DST) From: Nick Hibma <nick.hibma@jrc.it> To: Amancio Hasty <hasty@rah.star-gate.com> Cc: FreeBSD current mailing list <freebsd-current@freebsd.org> Subject: Re: USB keyboard attach function? Message-ID: <Pine.GSO.3.95q.990422100405.28487W-100000@elect8> In-Reply-To: <199904220758.AAA09090@rah.star-gate.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Not quite a fix however the following patches fixes disconnect /reconnect
> problems with my USB mouse and the 3com USB modem . This is a
> bandage please don't commit is just that right if I diconnect my usb
> modem or usb mouse my system panics hence the following simple patch.
That looks like a proper hack. I'll have to sort out something more
reliable than that :-)
> Disconnected and reconnected my mouse several times and got no
> panic plus every time someone calls here the USB modem does
> not crash my system 8)
:-) You can quitely answer the phone while your system is doing an fsck
of a 18Gb disk that is 80% full...
> One thing though someone ought to fix moused so that if
> it is talking to a usb mouse which gets disconnected and
> then reconnected to enable again the mouse. I managed
> to get back my mouse operational by sending a "HUP"
> signal to moused.
One of the things we might to have a daemon do. Another option would be
to just reconnect the mouse to the same open file descriptor, but I
don't know whether this is possible.
The following is no longer necessary (I think). I fixed that yesterday.
diff -r -c usb/usb_port.h usb.new/usb_port.h
*** usb/usb_port.h Wed Apr 21 15:33:44 1999
--- usb.new/usb_port.h Wed Apr 21 18:29:20 1999
***************
*** 202,208 ****
((dev)->softc = device_get_softc(bdev)) : 0)
/* conversion from one type of queue to the other */
! #define SIMPLEQ_REMOVE_HEAD STAILQ_REMOVE_HEAD
#define SIMPLEQ_INSERT_HEAD STAILQ_INSERT_HEAD
#define SIMPLEQ_INSERT_TAIL STAILQ_INSERT_TAIL
#define SIMPLEQ_NEXT STAILQ_NEXT
--- 202,216 ----
((dev)->softc = device_get_softc(bdev)) : 0)
/* conversion from one type of queue to the other */
! /* #define SIMPLEQ_REMOVE_HEAD STAILQ_REMOVE_HEAD */
! #define SIMPLEQ_REMOVE_HEAD(head, field) do {
\
! if ((head)->stqh_first != NULL ) {
\
! if (((head)->stqh_first =
\
! (head)->stqh_first->field.stqe_next) == NULL)
\
! (head)->stqh_last = &(head)->stqh_first;
\
! }
\
! } while (0)
!
#define SIMPLEQ_INSERT_HEAD STAILQ_INSERT_HEAD
#define SIMPLEQ_INSERT_TAIL STAILQ_INSERT_TAIL
#define SIMPLEQ_NEXT STAILQ_NEXT
--
ISIS/STA, T.P.270, Joint Research Centre, 21020 Ispra, Italy
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.95q.990422100405.28487W-100000>
