Module Name: src Committed By: martin Date: Wed Feb 22 13:06:42 UTC 2023
Modified Files: src/sys/dev/usb [netbsd-10]: ucom.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #92): sys/dev/usb/ucom.c: revision 1.136 sys/dev/usb/ucom.c: revision 1.135 ucom(4): Nix broken error branch. This error branch was introduced to make the system act, when a USB serial adapter is yanked, as if the other end had spat out a line feed in an attempt to wake any sleeping readers so they will stop using the USB serial port. This is no longer necessary, because ttycancel will wake them anyway, and it is actually harmful because it puts stuff in the output queue (CR LF) that will never be processed, causing subsequent users to hang trying to open the device. Problem found and patch tested by tih@. ucom(4): Missed a spot in previous -- nix now-unused local. To generate a diff of this commit: cvs rdiff -u -r1.134 -r1.134.2.1 src/sys/dev/usb/ucom.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/usb/ucom.c diff -u src/sys/dev/usb/ucom.c:1.134 src/sys/dev/usb/ucom.c:1.134.2.1 --- src/sys/dev/usb/ucom.c:1.134 Wed Oct 26 23:48:43 2022 +++ src/sys/dev/usb/ucom.c Wed Feb 22 13:06:42 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ucom.c,v 1.134 2022/10/26 23:48:43 riastradh Exp $ */ +/* $NetBSD: ucom.c,v 1.134.2.1 2023/02/22 13:06:42 martin Exp $ */ /* * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ucom.c,v 1.134 2022/10/26 23:48:43 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ucom.c,v 1.134.2.1 2023/02/22 13:06:42 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_usb.h" @@ -1435,7 +1435,6 @@ static void ucomreadcb(struct usbd_xfer *xfer, void *p, usbd_status status) { struct ucom_softc *sc = (struct ucom_softc *)p; - struct tty *tp = sc->sc_tty; struct ucom_buffer *ub; uint32_t cc; u_char *cp; @@ -1446,18 +1445,8 @@ ucomreadcb(struct usbd_xfer *xfer, void if (status == USBD_CANCELLED || status == USBD_IOERROR || sc->sc_closing) { - DPRINTF("... done (status %jd closing %jd)", status, sc->sc_closing, 0, 0); - - if (status == USBD_IOERROR || sc->sc_closing) { - /* Send something to wake upper layer */ - (tp->t_linesw->l_rint)('\n', tp); - ttylock(tp); /* XXX */ - ttwakeup(tp); - ttyunlock(tp); /* XXX */ - } - mutex_exit(&sc->sc_lock); return; }