summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/at76c50x-usb.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-10-11 15:39:21 -0400
committerDavid S. Miller <davem@davemloft.net>2011-10-11 15:39:21 -0400
commit9687c637388f63b87fcc18eee6e65bcfca4f49ca (patch)
tree0929bb8dc602c4f86b6b2e95bca94015de2b0868 /drivers/net/wireless/at76c50x-usb.c
parent258daca2bc9f97ace65c9480c901fddfce1e20cf (diff)
parent094daf7db7c47861009899ce23f9177d761e20b0 (diff)
Merge branch 'for-davem' of git://git.infradead.org/users/linville/wireless-next
Diffstat (limited to 'drivers/net/wireless/at76c50x-usb.c')
-rw-r--r--drivers/net/wireless/at76c50x-usb.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/net/wireless/at76c50x-usb.c b/drivers/net/wireless/at76c50x-usb.c
index 298601436ee2..39322d4121b7 100644
--- a/drivers/net/wireless/at76c50x-usb.c
+++ b/drivers/net/wireless/at76c50x-usb.c
@@ -500,10 +500,9 @@ exit:
#define HEX2STR_BUFFERS 4
#define HEX2STR_MAX_LEN 64
-#define BIN2HEX(x) ((x) < 10 ? '0' + (x) : (x) + 'A' - 10)
/* Convert binary data into hex string */
-static char *hex2str(void *buf, int len)
+static char *hex2str(void *buf, size_t len)
{
static atomic_t a = ATOMIC_INIT(0);
static char bufs[HEX2STR_BUFFERS][3 * HEX2STR_MAX_LEN + 1];
@@ -514,18 +513,17 @@ static char *hex2str(void *buf, int len)
if (len > HEX2STR_MAX_LEN)
len = HEX2STR_MAX_LEN;
- if (len <= 0) {
- ret[0] = '\0';
- return ret;
- }
+ if (len == 0)
+ goto exit;
while (len--) {
- *obuf++ = BIN2HEX(*ibuf >> 4);
- *obuf++ = BIN2HEX(*ibuf & 0xf);
+ obuf = pack_hex_byte(obuf, *ibuf++);
*obuf++ = '-';
- ibuf++;
}
- *(--obuf) = '\0';
+ obuf--;
+
+exit:
+ *obuf = '\0';
return ret;
}