From e996efa8ed2634ba6aee56315093bbedf2877831 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 3 Nov 2013 02:09:04 -0800 Subject: [PATCH] monitor: Fix decoding of link policy values --- monitor/packet.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/monitor/packet.c b/monitor/packet.c index 94c0cc150..ac219f679 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -887,7 +887,23 @@ static void print_scan_enable(uint8_t scan_enable) static void print_link_policy(uint16_t link_policy) { - print_field("Link policy: 0x%4.4x", btohs(link_policy)); + uint16_t policy = btohs(link_policy); + + print_field("Link policy: 0x%4.4x", policy); + + if (policy == 0x0000) { + print_field(" Disable All Modes"); + return; + } + + if (policy & 0x0001) + print_field(" Enable Role Switch"); + if (policy & 0x0002) + print_field(" Enable Hold Mode"); + if (policy & 0x0004) + print_field(" Enable Sniff Mode"); + if (policy & 0x0008) + print_field(" Enabled Park State"); } static void print_air_mode(uint8_t mode) -- 2.47.3