On Mon, Aug 1, 2011 at 12:25 PM, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > 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 You should not be reading this field because: > 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. And it's not in the response as far as I could check. Lucas De Marchi -- 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