diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/csr.h | 3 | ||||
-rw-r--r-- | tools/hciconfig.c | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/tools/csr.h b/tools/csr.h index b96dd0f7..f29fc764 100644 --- a/tools/csr.h +++ b/tools/csr.h @@ -31,6 +31,9 @@ #define CSR_VARID_CHIPREV 0x281b #define CSR_VARID_MAX_CRYPT_KEY_LENGTH 0x282c +#define CSR_VARID_PANIC_ARG 0x6805 +#define CSR_VARID_FAULT_ARG 0x6806 + #define CSR_PSKEY_HOSTIO_MAP_SCO_PCM 0x01ab char *csr_buildidtostr(uint16_t id); diff --git a/tools/hciconfig.c b/tools/hciconfig.c index d8c40e8f..defe59c9 100644 --- a/tools/hciconfig.c +++ b/tools/hciconfig.c @@ -974,7 +974,7 @@ static void print_rev_ericsson(int dd) static void print_rev_csr(int dd, uint16_t rev) { - uint16_t buildid, chipver, chiprev, maxkeylen, mapsco; + uint16_t buildid, chipver, chiprev, maxkeylen, mapsco, error; if (csr_read_varid_uint16(dd, 0, CSR_VARID_BUILDID, &buildid) < 0) { printf("\t%s\n", csr_buildidtostr(rev)); @@ -994,6 +994,16 @@ static void print_rev_csr(int dd, uint16_t rev) if (!csr_read_pskey_uint16(dd, 4, CSR_PSKEY_HOSTIO_MAP_SCO_PCM, &mapsco)) printf("\tSCO mapping: %s\n", mapsco ? "PCM" : "HCI"); + + if (!csr_read_varid_uint16(dd, 5, CSR_VARID_PANIC_ARG, &error)) { + if (error < 0x0100) + printf("\tPanic code: 0x%02x\n", error); + } + + if (!csr_read_varid_uint16(dd, 6, CSR_VARID_FAULT_ARG, &error)) { + if (error < 0x0100) + printf("\tFault code: 0x%02x\n", error); + } } static void print_rev_digianswer(int dd) |