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