Re: [PATCH 1/2] usb: gadget: f_midi: refactor state machine

2015-12-23 Thread Clemens Ladisch
Felipe Ferreri Tonello wrote: >> Running status is feature. > >What do you mean by that? That this behavior is intended, and required. > I don't qualify writing a *wrong* MIDI-USB >packet because of a previous MIDI message as a feature. The MIDI Specification qualifies Running Status as a featur

Re: [PATCH 1/2] usb: gadget: f_midi: refactor state machine

2015-12-23 Thread Felipe Ferreri Tonello
Hi Clemens, On 22/12/15 17:10, Clemens Ladisch wrote: > Felipe F. Tonello wrote: >> This refactor includes the following: >> * Cleaner state machine code; > > It does not correctly handle system real time messages inserted between > the status and data bytes of other messages. True, thanks for

Re: [PATCH 1/2] usb: gadget: f_midi: refactor state machine

2015-12-23 Thread Felipe Ferreri Tonello
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Hi Balbi, On 22/12/15 17:49, Felipe Balbi wrote: > > Hi, > > "Felipe F. Tonello" writes: >> This refactor includes the following: * Cleaner state machine >> code; * Reset state if MIDI message parsed is non-conformant; * >> Fixed bug when a confo

Re: [PATCH 1/2] usb: gadget: f_midi: refactor state machine

2015-12-22 Thread Felipe Balbi
Hi, "Felipe F. Tonello" writes: > This refactor includes the following: > * Cleaner state machine code; > * Reset state if MIDI message parsed is non-conformant; > * Fixed bug when a conformant MIDI message was followed by a non-conformant >causing the MIDI-USB message to use old temporar

Re: [PATCH 1/2] usb: gadget: f_midi: refactor state machine

2015-12-22 Thread Clemens Ladisch
Felipe F. Tonello wrote: > This refactor includes the following: > * Cleaner state machine code; It does not correctly handle system real time messages inserted between the status and data bytes of other messages. > * Reset state if MIDI message parsed is non-conformant; Why? In a byte stream

[PATCH 1/2] usb: gadget: f_midi: refactor state machine

2015-12-22 Thread Felipe F. Tonello
This refactor includes the following: * Cleaner state machine code; * Reset state if MIDI message parsed is non-conformant; * Fixed bug when a conformant MIDI message was followed by a non-conformant causing the MIDI-USB message to use old temporary data (port->data[0..1]), thus packing a