On Wed, 28 Sep 2011 12:30:59 +0300 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Cc: "John W. Linville" <linville@xxxxxxxxxxxxx> Tested-by: Pavel Roskin <proski@xxxxxxx> > --- > drivers/net/wireless/at76c50x-usb.c | 18 ++++++++---------- > 1 files changed, 8 insertions(+), 10 deletions(-) > > diff --git a/drivers/net/wireless/at76c50x-usb.c > b/drivers/net/wireless/at76c50x-usb.c index 2986014..39322d4 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; > } -- Regards, Pavel Roskin -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html