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>