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>