Commit e43ace89 authored by David Vrabel's avatar David Vrabel

uwb: use print_hex_dump()

Use print_hex_dump() instead of the home-grown dump_bytes().
Signed-off-by: default avatarDavid Vrabel <david.vrabel@csr.com>
parent bce83697
...@@ -51,13 +51,18 @@ ...@@ -51,13 +51,18 @@
#include <linux/uwb.h> #include <linux/uwb.h>
#include <linux/usb/wusb.h> #include <linux/usb/wusb.h>
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/uwb/debug.h>
static int debug_crypto_verify = 0; static int debug_crypto_verify = 0;
module_param(debug_crypto_verify, int, 0); module_param(debug_crypto_verify, int, 0);
MODULE_PARM_DESC(debug_crypto_verify, "verify the key generation algorithms"); MODULE_PARM_DESC(debug_crypto_verify, "verify the key generation algorithms");
static void wusb_key_dump(const void *buf, size_t len)
{
print_hex_dump(KERN_ERR, " ", DUMP_PREFIX_OFFSET, 16, 1,
buf, len, 0);
}
/* /*
* Block of data, as understood by AES-CCM * Block of data, as understood by AES-CCM
* *
...@@ -396,14 +401,14 @@ static int wusb_oob_mic_verify(void) ...@@ -396,14 +401,14 @@ static int wusb_oob_mic_verify(void)
"mismatch between MIC result and WUSB1.0[A2]\n"); "mismatch between MIC result and WUSB1.0[A2]\n");
hs_size = sizeof(stv_hsmic_hs) - sizeof(stv_hsmic_hs.MIC); hs_size = sizeof(stv_hsmic_hs) - sizeof(stv_hsmic_hs.MIC);
printk(KERN_ERR "E: Handshake2 in: (%zu bytes)\n", hs_size); printk(KERN_ERR "E: Handshake2 in: (%zu bytes)\n", hs_size);
dump_bytes(NULL, &stv_hsmic_hs, hs_size); wusb_key_dump(&stv_hsmic_hs, hs_size);
printk(KERN_ERR "E: CCM Nonce in: (%zu bytes)\n", printk(KERN_ERR "E: CCM Nonce in: (%zu bytes)\n",
sizeof(stv_hsmic_n)); sizeof(stv_hsmic_n));
dump_bytes(NULL, &stv_hsmic_n, sizeof(stv_hsmic_n)); wusb_key_dump(&stv_hsmic_n, sizeof(stv_hsmic_n));
printk(KERN_ERR "E: MIC out:\n"); printk(KERN_ERR "E: MIC out:\n");
dump_bytes(NULL, mic, sizeof(mic)); wusb_key_dump(mic, sizeof(mic));
printk(KERN_ERR "E: MIC out (from WUSB1.0[A.2]):\n"); printk(KERN_ERR "E: MIC out (from WUSB1.0[A.2]):\n");
dump_bytes(NULL, stv_hsmic_hs.MIC, sizeof(stv_hsmic_hs.MIC)); wusb_key_dump(stv_hsmic_hs.MIC, sizeof(stv_hsmic_hs.MIC));
result = -EINVAL; result = -EINVAL;
} else } else
result = 0; result = 0;
...@@ -471,19 +476,16 @@ static int wusb_key_derive_verify(void) ...@@ -471,19 +476,16 @@ static int wusb_key_derive_verify(void)
printk(KERN_ERR "E: WUSB key derivation test: " printk(KERN_ERR "E: WUSB key derivation test: "
"mismatch between key derivation result " "mismatch between key derivation result "
"and WUSB1.0[A1] Errata 2006/12\n"); "and WUSB1.0[A1] Errata 2006/12\n");
printk(KERN_ERR "E: keydvt in: key (%zu bytes)\n", printk(KERN_ERR "E: keydvt in: key\n");
sizeof(stv_key_a1)); wusb_key_dump(stv_key_a1, sizeof(stv_key_a1));
dump_bytes(NULL, stv_key_a1, sizeof(stv_key_a1)); printk(KERN_ERR "E: keydvt in: nonce\n");
printk(KERN_ERR "E: keydvt in: nonce (%zu bytes)\n", wusb_key_dump( &stv_keydvt_n_a1, sizeof(stv_keydvt_n_a1));
sizeof(stv_keydvt_n_a1)); printk(KERN_ERR "E: keydvt in: hnonce & dnonce\n");
dump_bytes(NULL, &stv_keydvt_n_a1, sizeof(stv_keydvt_n_a1)); wusb_key_dump(&stv_keydvt_in_a1, sizeof(stv_keydvt_in_a1));
printk(KERN_ERR "E: keydvt in: hnonce & dnonce (%zu bytes)\n",
sizeof(stv_keydvt_in_a1));
dump_bytes(NULL, &stv_keydvt_in_a1, sizeof(stv_keydvt_in_a1));
printk(KERN_ERR "E: keydvt out: KCK\n"); printk(KERN_ERR "E: keydvt out: KCK\n");
dump_bytes(NULL, &keydvt_out.kck, sizeof(keydvt_out.kck)); wusb_key_dump(&keydvt_out.kck, sizeof(keydvt_out.kck));
printk(KERN_ERR "E: keydvt out: PTK\n"); printk(KERN_ERR "E: keydvt out: PTK\n");
dump_bytes(NULL, &keydvt_out.ptk, sizeof(keydvt_out.ptk)); wusb_key_dump(&keydvt_out.ptk, sizeof(keydvt_out.ptk));
result = -EINVAL; result = -EINVAL;
} else } else
result = 0; result = 0;
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
*/ */
#include <linux/workqueue.h> #include <linux/workqueue.h>
#include <linux/ctype.h> #include <linux/ctype.h>
#include <linux/uwb/debug.h>
#include "wa-hc.h" #include "wa-hc.h"
#include "wusbhc.h" #include "wusbhc.h"
...@@ -139,13 +139,10 @@ static void wa_notif_dispatch(struct work_struct *ws) ...@@ -139,13 +139,10 @@ static void wa_notif_dispatch(struct work_struct *ws)
/* FIXME: unimplemented WA NOTIFs */ /* FIXME: unimplemented WA NOTIFs */
/* fallthru */ /* fallthru */
default: default:
if (printk_ratelimit()) {
dev_err(dev, "HWA: unknown notification 0x%x, " dev_err(dev, "HWA: unknown notification 0x%x, "
"%zu bytes; discarding\n", "%zu bytes; discarding\n",
notif_hdr->bNotifyType, notif_hdr->bNotifyType,
(size_t)notif_hdr->bLength); (size_t)notif_hdr->bLength);
dump_bytes(dev, notif_hdr, 16);
}
break; break;
} }
} }
...@@ -160,12 +157,9 @@ static void wa_notif_dispatch(struct work_struct *ws) ...@@ -160,12 +157,9 @@ static void wa_notif_dispatch(struct work_struct *ws)
* discard the data, as this should not happen. * discard the data, as this should not happen.
*/ */
exhausted_buffer: exhausted_buffer:
if (!printk_ratelimit())
goto out;
dev_warn(dev, "HWA: device sent short notification, " dev_warn(dev, "HWA: device sent short notification, "
"%d bytes missing; discarding %d bytes.\n", "%d bytes missing; discarding %d bytes.\n",
missing, (int)size); missing, (int)size);
dump_bytes(dev, itr, size);
goto out; goto out;
} }
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
* *
* Copyright (C) 2005-2006 Intel Corporation * Copyright (C) 2005-2006 Intel Corporation
* Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
* Copyright (C) 2008 Cambridge Silicon Radio Ltd.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version * modify it under the terms of the GNU General Public License version
...@@ -36,26 +37,6 @@ ...@@ -36,26 +37,6 @@
#include "uwb-internal.h" #include "uwb-internal.h"
void dump_bytes(struct device *dev, const void *_buf, size_t rsize)
{
const char *buf = _buf;
char line[32];
size_t offset = 0;
int cnt, cnt2;
for (cnt = 0; cnt < rsize; cnt += 8) {
size_t rtop = rsize - cnt < 8 ? rsize - cnt : 8;
for (offset = cnt2 = 0; cnt2 < rtop; cnt2++) {
offset += scnprintf(line + offset, sizeof(line) - offset,
"%02x ", buf[cnt + cnt2] & 0xff);
}
if (dev)
dev_info(dev, "%s\n", line);
else
printk(KERN_INFO "%s\n", line);
}
}
EXPORT_SYMBOL_GPL(dump_bytes);
/* /*
* Debug interface * Debug interface
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment