linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] dvb-usb: use %*ph to dump small buffers
@ 2012-08-07 22:56 Antti Palosaari
  2012-08-07 22:56 ` [PATCH 2/2] dvb_usb_v2: use %*ph to dump usb xfer debugs Antti Palosaari
  0 siblings, 1 reply; 4+ messages in thread
From: Antti Palosaari @ 2012-08-07 22:56 UTC (permalink / raw)
  To: linux-media; +Cc: Andy Shevchenko, Antti Palosaari

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

[crope@iki.fi: fix trivial merge conflict]
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Antti Palosaari <crope@iki.fi>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/dvb/dvb-usb-v2/af9015.c | 3 +--
 drivers/media/dvb/dvb-usb-v2/af9035.c | 3 +--
 drivers/media/dvb/dvb-usb/pctv452e.c  | 7 +++----
 3 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb-v2/af9015.c b/drivers/media/dvb/dvb-usb-v2/af9015.c
index 10363f6..e77429b 100644
--- a/drivers/media/dvb/dvb-usb-v2/af9015.c
+++ b/drivers/media/dvb/dvb-usb-v2/af9015.c
@@ -1199,8 +1199,7 @@ static int af9015_rc_query(struct dvb_usb_device *d)
 
 	/* Only process key if canary killed */
 	if (buf[16] != 0xff && buf[0] != 0x01) {
-		deb_rc("%s: key pressed %02x %02x %02x %02x\n", __func__,
-			buf[12], buf[13], buf[14], buf[15]);
+		deb_rc("%s: key pressed %*ph\n", __func__, 4, buf + 12);
 
 		/* Reset the canary */
 		ret = af9015_write_reg(d, 0x98e9, 0xff);
diff --git a/drivers/media/dvb/dvb-usb-v2/af9035.c b/drivers/media/dvb/dvb-usb-v2/af9035.c
index 79197f4..bb90b87 100644
--- a/drivers/media/dvb/dvb-usb-v2/af9035.c
+++ b/drivers/media/dvb/dvb-usb-v2/af9035.c
@@ -290,8 +290,7 @@ static int af9035_identify_state(struct dvb_usb_device *d, const char **name)
 	if (ret < 0)
 		goto err;
 
-	pr_debug("%s: reply=%02x %02x %02x %02x\n", __func__,
-		rbuf[0], rbuf[1], rbuf[2], rbuf[3]);
+	pr_debug("%s: reply=%*ph\n", __func__, 4, rbuf);
 	if (rbuf[0] || rbuf[1] || rbuf[2] || rbuf[3])
 		ret = WARM;
 	else
diff --git a/drivers/media/dvb/dvb-usb/pctv452e.c b/drivers/media/dvb/dvb-usb/pctv452e.c
index f526eb0..02e8785 100644
--- a/drivers/media/dvb/dvb-usb/pctv452e.c
+++ b/drivers/media/dvb/dvb-usb/pctv452e.c
@@ -136,8 +136,8 @@ static int tt3650_ci_msg(struct dvb_usb_device *d, u8 cmd, u8 *data,
 	return 0;
 
 failed:
-	err("CI error %d; %02X %02X %02X -> %02X %02X %02X.",
-	     ret, SYNC_BYTE_OUT, id, cmd, buf[0], buf[1], buf[2]);
+	err("CI error %d; %02X %02X %02X -> %*ph.",
+	     ret, SYNC_BYTE_OUT, id, cmd, 3, buf);
 
 	return ret;
 }
@@ -556,8 +556,7 @@ static int pctv452e_rc_query(struct dvb_usb_device *d)
 		return ret;
 
 	if (debug > 3) {
-		info("%s: read: %2d: %02x %02x %02x: ", __func__,
-				ret, rx[0], rx[1], rx[2]);
+		info("%s: read: %2d: %*ph: ", __func__, ret, 3, rx);
 		for (i = 0; (i < rx[3]) && ((i+3) < PCTV_ANSWER_LEN); i++)
 			info(" %02x", rx[i+3]);
 
-- 
1.7.11.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] dvb_usb_v2: use %*ph to dump usb xfer debugs
  2012-08-07 22:56 [PATCH 1/2] dvb-usb: use %*ph to dump small buffers Antti Palosaari
@ 2012-08-07 22:56 ` Antti Palosaari
  2012-08-08  4:16   ` Andy Shevchenko
  0 siblings, 1 reply; 4+ messages in thread
From: Antti Palosaari @ 2012-08-07 22:56 UTC (permalink / raw)
  To: linux-media; +Cc: Antti Palosaari, Andy Shevchenko

Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c b/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c
index 5f5bdd0..0431bee 100644
--- a/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c
+++ b/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c
@@ -21,7 +21,6 @@
 
 #include "dvb_usb_common.h"
 
-#undef DVB_USB_XFER_DEBUG
 int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
 		u16 rlen)
 {
@@ -37,10 +36,8 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
 	if (ret < 0)
 		return ret;
 
-#ifdef DVB_USB_XFER_DEBUG
-	print_hex_dump(KERN_DEBUG, KBUILD_MODNAME ": >>> ", DUMP_PREFIX_NONE,
-			32, 1, wbuf, wlen, 0);
-#endif
+	dev_dbg(&d->udev->dev, "%s: >>> %*ph\n", __func__, wlen, wbuf);
+
 	ret = usb_bulk_msg(d->udev, usb_sndbulkpipe(d->udev,
 			d->props->generic_bulk_ctrl_endpoint), wbuf, wlen,
 			&actual_length, 2000);
@@ -64,11 +61,8 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
 			dev_err(&d->udev->dev, "%s: 2nd usb_bulk_msg() " \
 					"failed=%d\n", KBUILD_MODNAME, ret);
 
-#ifdef DVB_USB_XFER_DEBUG
-		print_hex_dump(KERN_DEBUG, KBUILD_MODNAME ": <<< ",
-				DUMP_PREFIX_NONE, 32, 1, rbuf, actual_length,
-				0);
-#endif
+		dev_dbg(&d->udev->dev, "%s: <<< %*ph\n", __func__,
+				actual_length, rbuf);
 	}
 
 	mutex_unlock(&d->usb_mutex);
-- 
1.7.11.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] dvb_usb_v2: use %*ph to dump usb xfer debugs
  2012-08-07 22:56 ` [PATCH 2/2] dvb_usb_v2: use %*ph to dump usb xfer debugs Antti Palosaari
@ 2012-08-08  4:16   ` Andy Shevchenko
  2012-08-08  9:37     ` Antti Palosaari
  0 siblings, 1 reply; 4+ messages in thread
From: Andy Shevchenko @ 2012-08-08  4:16 UTC (permalink / raw)
  To: Antti Palosaari; +Cc: linux-media, Andy Shevchenko

On Wed, Aug 8, 2012 at 1:56 AM, Antti Palosaari <crope@iki.fi> wrote:
> diff --git a/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c b/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c
> index 5f5bdd0..0431bee 100644
> --- a/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c
> +++ b/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c

> @@ -37,10 +36,8 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
>         if (ret < 0)
>                 return ret;
>
> -#ifdef DVB_USB_XFER_DEBUG
> -       print_hex_dump(KERN_DEBUG, KBUILD_MODNAME ": >>> ", DUMP_PREFIX_NONE,
> -                       32, 1, wbuf, wlen, 0);
> -#endif
> +       dev_dbg(&d->udev->dev, "%s: >>> %*ph\n", __func__, wlen, wbuf);
> +
>         ret = usb_bulk_msg(d->udev, usb_sndbulkpipe(d->udev,
>                         d->props->generic_bulk_ctrl_endpoint), wbuf, wlen,
>                         &actual_length, 2000);
> @@ -64,11 +61,8 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
>                         dev_err(&d->udev->dev, "%s: 2nd usb_bulk_msg() " \
>                                         "failed=%d\n", KBUILD_MODNAME, ret);
>
> -#ifdef DVB_USB_XFER_DEBUG
> -               print_hex_dump(KERN_DEBUG, KBUILD_MODNAME ": <<< ",
> -                               DUMP_PREFIX_NONE, 32, 1, rbuf, actual_length,
> -                               0);
> -#endif
> +               dev_dbg(&d->udev->dev, "%s: <<< %*ph\n", __func__,
> +                               actual_length, rbuf);
>         }
>
Antti, I didn't check how long buffer could be in above cases, but be
aware that %*ph prints up to 64 bytes only. Is it enough here?

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] dvb_usb_v2: use %*ph to dump usb xfer debugs
  2012-08-08  4:16   ` Andy Shevchenko
@ 2012-08-08  9:37     ` Antti Palosaari
  0 siblings, 0 replies; 4+ messages in thread
From: Antti Palosaari @ 2012-08-08  9:37 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-media, Andy Shevchenko

On 08/08/2012 07:16 AM, Andy Shevchenko wrote:
> On Wed, Aug 8, 2012 at 1:56 AM, Antti Palosaari <crope@iki.fi> wrote:
>> diff --git a/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c b/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c
>> index 5f5bdd0..0431bee 100644
>> --- a/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c
>> +++ b/drivers/media/dvb/dvb-usb-v2/dvb_usb_urb.c
>
>> @@ -37,10 +36,8 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
>>          if (ret < 0)
>>                  return ret;
>>
>> -#ifdef DVB_USB_XFER_DEBUG
>> -       print_hex_dump(KERN_DEBUG, KBUILD_MODNAME ": >>> ", DUMP_PREFIX_NONE,
>> -                       32, 1, wbuf, wlen, 0);
>> -#endif
>> +       dev_dbg(&d->udev->dev, "%s: >>> %*ph\n", __func__, wlen, wbuf);
>> +
>>          ret = usb_bulk_msg(d->udev, usb_sndbulkpipe(d->udev,
>>                          d->props->generic_bulk_ctrl_endpoint), wbuf, wlen,
>>                          &actual_length, 2000);
>> @@ -64,11 +61,8 @@ int dvb_usbv2_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
>>                          dev_err(&d->udev->dev, "%s: 2nd usb_bulk_msg() " \
>>                                          "failed=%d\n", KBUILD_MODNAME, ret);
>>
>> -#ifdef DVB_USB_XFER_DEBUG
>> -               print_hex_dump(KERN_DEBUG, KBUILD_MODNAME ": <<< ",
>> -                               DUMP_PREFIX_NONE, 32, 1, rbuf, actual_length,
>> -                               0);
>> -#endif
>> +               dev_dbg(&d->udev->dev, "%s: <<< %*ph\n", __func__,
>> +                               actual_length, rbuf);
>>          }
>>
> Antti, I didn't check how long buffer could be in above cases, but be
> aware that %*ph prints up to 64 bytes only. Is it enough here?

It is correct behavior. I saw from the LKML patch limit was selected 
using min_t() not causing any other side effect than cut print length.

For some cases it could be more than 64 here, likely for the firmware 
download packed. I suspect, situation where control message is longer 
than 64 byte does not exist in real life as USB1.1 BULK max is 64. And 
even such case exists, we are not interested those not printed bytes.

regards
Antti

-- 
http://palosaari.fi/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-08-08  9:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-07 22:56 [PATCH 1/2] dvb-usb: use %*ph to dump small buffers Antti Palosaari
2012-08-07 22:56 ` [PATCH 2/2] dvb_usb_v2: use %*ph to dump usb xfer debugs Antti Palosaari
2012-08-08  4:16   ` Andy Shevchenko
2012-08-08  9:37     ` Antti Palosaari

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).