Hi Lucas, On Mon, Aug 1, 2011 at 5:11 PM, Lucas De Marchi <lucas.demarchi@xxxxxxxxxxxxxx> wrote: > On Mon, Aug 1, 2011 at 5:42 AM, Luiz Augusto von Dentz > <luiz.dentz@xxxxxxxxx> wrote: >> From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> >> >> --- >> parser/avrcp.c | 3 +++ >> 1 files changed, 3 insertions(+), 0 deletions(-) >> >> diff --git a/parser/avrcp.c b/parser/avrcp.c >> index ff6862d..a1768e3 100644 >> --- a/parser/avrcp.c >> +++ b/parser/avrcp.c >> @@ -347,6 +347,9 @@ static void avrcp_pdu_dump(int level, struct frame *frm, uint8_t ctype) >> return; >> } >> >> + if (ctype == AVC_CTYPE_NOT_IMPLEMENTED) >> + return; >> + > > From my reading of the spec, this check should be in avrcp_dump() > function -- like you did for skipping non-panel subunit packets. This > is because in the not-implemented case, only the avctp + avrcp headers > are sent, with no operands inside. > In AVRCP 1.3, section 4.3.4: > > "All of the operands are optional and are defined based on the values > of ctype, subunit_type, and opcode." > > In case ctype == NOT_IMPLEMENTED, there isn't any operand. But apparently the avrcp header indicates it length wrong (!= 0), also avrcp_pdu_dump is called to print the avrcp header but perhaps the header itself is already considered an operand and in that should not even that should be present in the response. -- Luiz Augusto von Dentz -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html