svn commit: r242703 - head/sys/dev/usb/serial
Adrian Chadd
adrian at freebsd.org
Wed Nov 7 19:46:36 UTC 2012
Thanks for this. The auto-locking method is .. highly wrong/suspect.
Please don't do that. :)
Adrian
On 7 November 2012 10:59, Hans Petter Selasky <hselasky at freebsd.org> wrote:
> Author: hselasky
> Date: Wed Nov 7 18:59:42 2012
> New Revision: 242703
> URL: http://svnweb.freebsd.org/changeset/base/242703
>
> Log:
> Add lock asserts instead of "auto-locking".
>
> MFC after: 1 weeks
> Suggested by: ed @
>
> Modified:
> head/sys/dev/usb/serial/usb_serial.c
>
> Modified: head/sys/dev/usb/serial/usb_serial.c
> ==============================================================================
> --- head/sys/dev/usb/serial/usb_serial.c Wed Nov 7 18:44:05 2012 (r242702)
> +++ head/sys/dev/usb/serial/usb_serial.c Wed Nov 7 18:59:42 2012 (r242703)
> @@ -788,20 +788,16 @@ ucom_inwakeup(struct tty *tp)
> {
> struct ucom_softc *sc = tty_softc(tp);
> uint16_t pos;
> - int locked;
>
> if (sc == NULL)
> return;
>
> - locked = mtx_owned(sc->sc_mtx);
> + UCOM_MTX_ASSERT(sc, MA_OWNED);
>
> - if (locked == 0)
> - tty_lock(tp);
> + DPRINTF("tp=%p\n", tp);
>
> if (ttydisc_can_bypass(tp) != 0 ||
> (sc->sc_flag & UCOM_FLAG_HL_READY) == 0) {
> - if (locked == 0)
> - tty_unlock(tp);
> return;
> }
>
> @@ -825,9 +821,6 @@ ucom_inwakeup(struct tty *tp)
> if ((sc->sc_jitterbuf_in == pos) &&
> (sc->sc_flag & UCOM_FLAG_RTS_IFLOW))
> ucom_rts(sc, 0);
> -
> - if (locked == 0)
> - tty_unlock(tp);
> }
>
> static int
More information about the svn-src-head
mailing list