From: Tedd Ho-Jeong An Date: Fri, 19 Jun 2020 18:34:56 +0000 (-0700) Subject: midi: Fix random empty timestamp_high value X-Git-Tag: submit/tizen/20210606.232858~66 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ba48aaabfa497560aeae97ef54c078ab4ed32549;p=platform%2Fupstream%2Fbluez.git midi: Fix random empty timestamp_high value The timestamp_high value is assigned from the monotonic time but there is a chance that the value becomes zero because it reads the value between bit8 and bit13. This patch makes sure the timestamp_high value get a non-zero value. Signed-off-by: Anuj Jain Signed-off-by: Ayush Garg --- diff --git a/profiles/midi/libmidi.c b/profiles/midi/libmidi.c index 18506c69..cd25992a 100644 --- a/profiles/midi/libmidi.c +++ b/profiles/midi/libmidi.c @@ -77,8 +77,13 @@ inline static void append_timestamp_high_maybe(struct midi_write_parser *parser) if (midi_write_has_data(parser)) return; - parser->rtime = g_get_monotonic_time() / 1000; /* convert µs to ms */ - timestamp_high |= (parser->rtime & 0x1F80) >> 7; + /* Make sure timesampt_high is assigned a non-zero value */ + do { + /* convert µs to ms */ + parser->rtime = g_get_monotonic_time() / 1000; + timestamp_high |= (parser->rtime & 0x1F80) >> 7; + } while (timestamp_high == 0x80); + /* set timestampHigh */ buffer_append_byte(&parser->midi_stream, timestamp_high); }