On Wed, Dec 05, 2018 at 11:10:46AM +0200, Felipe Balbi wrote:
> Andy Shevchenko <andriy.shevche...@linux.intel.com> writes:
> 
> > The missed break statement in the outer switch makes the code fall through
> > always and thus always same value will be printed.
> >
> > Besides that, compiler warns about missed fall through marker:
> >
> > drivers/usb/dwc3/./trace.h: In function ‘trace_raw_output_dwc3_log_trb’:
> > drivers/usb/dwc3/./trace.h:246:4: warning: this statement may fall through 
> > [-Wimplicit-fallthrough=]
> >     switch (pcm) {
> >     ^~~~~~
> >
> > Refactor nested switch statements to work correctly without
> > compilation warnings.
> >
> > Fixes: fa8d965d736b ("usb: dwc3: trace: pretty print high-bandwidth 
> > transfers too")
> > Cc: Felipe Balbi <felipe.ba...@linux.intel.com>
> > Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
> > ---
> >  drivers/usb/dwc3/trace.h | 4 +---
> >  1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/drivers/usb/dwc3/trace.h b/drivers/usb/dwc3/trace.h
> > index f22714cce070..8e1625a6c19f 100644
> > --- a/drivers/usb/dwc3/trace.h
> > +++ b/drivers/usb/dwc3/trace.h
> > @@ -238,7 +238,7 @@ DECLARE_EVENT_CLASS(dwc3_log_trb,
> >     ),
> >     TP_printk("%s: trb %p buf %08x%08x size %s%d ctrl %08x 
> > (%c%c%c%c:%c%c:%s)",
> >             __get_str(name), __entry->trb, __entry->bph, __entry->bpl,
> > -           ({char *s;
> > +           ({ char *s = "";
> >             int pcm = ((__entry->size >> 24) & 3) + 1;
> >             switch (__entry->type) {
> >             case USB_ENDPOINT_XFER_INT:
> > @@ -254,8 +254,6 @@ DECLARE_EVENT_CLASS(dwc3_log_trb,
> >                             s = "3x ";
> >                             break;
> >                     }
> 
> easier to add "break" here, no? That would be the minimal fix.

No. Then you would need to add same default to the inner switch.


-- 
With Best Regards,
Andy Shevchenko


Reply via email to