Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Oct 2019 07:58:57 -0500
From:      Kyle Evans <kevans@freebsd.org>
Cc:        Hans Petter Selasky <hselasky@freebsd.org>, src-committers <src-committers@freebsd.org>,  svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r338679 - head/lib/libusb
Message-ID:  <CACNAnaHnQcYvhwvVmNXdC6oHC77r%2BvRbDOe6sSPX5RGvaMmiLg@mail.gmail.com>
In-Reply-To: <CACNAnaHeNc74Mvsp6Nxi4PvPYxRQW=w30i26OhC%2B42_YBf8-WQ@mail.gmail.com>
References:  <201809141341.w8EDfbtO070815@repo.freebsd.org> <CACNAnaHeNc74Mvsp6Nxi4PvPYxRQW=w30i26OhC%2B42_YBf8-WQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 2, 2019 at 7:55 AM Kyle Evans <kevans@freebsd.org> wrote:
>
> On Fri, Sep 14, 2018 at 8:41 AM Hans Petter Selasky
> <hselasky@freebsd.org> wrote:
> >
> > Author: hselasky
> > Date: Fri Sep 14 13:41:37 2018
> > New Revision: 338679
> > URL: https://svnweb.freebsd.org/changeset/base/338679
> >
> > Log:
> >   Improve LibUSB debugging by simultaneously allowing both function
> >   and transfer prints. Make sure the debug level comes from the
> >   correct USB context.
> >
> >   Found by:             Ludovic Rousseau <ludovic.rousseau+freebsd@gmail.com>
> >   PR:                   231264
> >   MFC after:            1 week
> >   Approved by:          re (kib)
> >   Sponsored by:         Mellanox Technologies
> >
> > Modified:
> >   head/lib/libusb/libusb10.h
> >   head/lib/libusb/libusb10_io.c
> >
> > Modified: head/lib/libusb/libusb10.h
> > ==============================================================================
> > --- head/lib/libusb/libusb10.h  Fri Sep 14 01:52:34 2018        (r338678)
> > +++ head/lib/libusb/libusb10.h  Fri Sep 14 13:41:37 2018        (r338679)
> > @@ -41,22 +41,24 @@
> >  #define        HOTPLUG_LOCK(ctx) pthread_mutex_lock(&(ctx)->hotplug_lock)
> >  #define        HOTPLUG_UNLOCK(ctx) pthread_mutex_unlock(&(ctx)->hotplug_lock)
> >
> > -#define        DPRINTF(ctx, dbg, format, args...) do { \
> > -    if ((ctx)->debug == dbg) {                 \
> > -       switch (dbg) {                          \
> > -       case LIBUSB_DEBUG_FUNCTION:             \
> > -               printf("LIBUSB_FUNCTION: "      \
> > -                   format "\n", ## args);      \
> > -               break;                          \
> > -       case LIBUSB_DEBUG_TRANSFER:             \
> > -               printf("LIBUSB_TRANSFER: "      \
> > -                   format "\n", ## args);      \
> > -               break;                          \
> > -       default:                                \
> > -               break;                          \
> > -       }                                       \
> > -    }                                          \
> > -} while(0)
> > +#define        DPRINTF(ctx, dbg, format, ...) do {                     \
> > +       switch (dbg) {                                          \
> > +       case LIBUSB_DEBUG_FUNCTION:                             \
> > +               if ((ctx)->debug & LIBUSB_DEBUG_FUNCTION) {     \
> > +                       printf("LIBUSB_FUNCTION: "              \
> > +                              format "\n", ## __VA_ARGS__);    \
> > +               }                                               \
> > +               break;                                          \
> > +       case LIBUSB_DEBUG_TRANSFER:                             \
> > +               if ((ctx)->debug & LIBUSB_DEBUG_TRANSFER) {     \
> > +                       printf("LIBUSB_TRANSFER: "              \
> > +                              format "\n", ## __VA_ARGS__);    \
> > +               }                                               \
> > +               break;                                          \
> > +       default:                                                \
> > +               break;                                          \
> > +       }                                                       \
> > +} while (0)
> >
> >  /* internal structures */
> >
>
> Hi,
>
> How are people/users of libusb supposed to disable these messages
> after this? The only thing stopping them was the debug level in the
> context, I guess, because DPRINTF is always compiled to this and the
> users of DPRINTF are just invoking it all willy-nilly.
>

Sorry, I missed that the (ctx)->debug checks just moved a little
further in... debugging a little better, because LIBUSB_DEBUG=0
doesn't seem to do the trick for this person.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaHnQcYvhwvVmNXdC6oHC77r%2BvRbDOe6sSPX5RGvaMmiLg>