Re: [PATCH -mm 5/5] usbnet: printk format warning

From: Andrew Morton
Date: Mon Aug 07 2006 - 23:27:28 EST


On Mon, 7 Aug 2006 15:56:40 -0700
"Randy.Dunlap" <rdunlap@xxxxxxxxxxxx> wrote:

> Fix printk format warning(s):
> drivers/usb/net/usbnet.c:654: warning: int format, different type arg (arg 3)
>
> Can't say that I understand this one...
>
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
> ---
> drivers/usb/net/usbnet.c | 2 +-
> 1 files changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-2618-rc3mm2.orig/drivers/usb/net/usbnet.c
> +++ linux-2618-rc3mm2/drivers/usb/net/usbnet.c
> @@ -652,7 +652,7 @@ static int usbnet_open (struct net_devic
> framing = "simple";
>
> devinfo (dev, "open: enable queueing "
> - "(rx %d, tx %d) mtu %d %s framing",
> + "(rx %ld, tx %d) mtu %u %s framing",
> RX_QLEN (dev), TX_QLEN (dev), dev->net->mtu,
> framing);

Your compiler wasn't very helpful. Or maybe we get better diagnostics with
a 64-bit compiler:



From: Randy Dunlap <rdunlap@xxxxxxxxxxxx>

Fix printk format warning(s):

drivers/usb/net/usbnet.c: In function 'usbnet_open':
drivers/usb/net/usbnet.c:654: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'

The fact that rx_urb_size happens to be a size_t has propagated all the way
back to this printk. It's fragile to be using %z in this case - let's just
typecast the args instead.

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

drivers/usb/net/usbnet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/usb/net/usbnet.c~usbnet-printk-format-warning drivers/usb/net/usbnet.c
--- a/drivers/usb/net/usbnet.c~usbnet-printk-format-warning
+++ a/drivers/usb/net/usbnet.c
@@ -653,7 +653,7 @@ static int usbnet_open (struct net_devic

devinfo (dev, "open: enable queueing "
"(rx %d, tx %d) mtu %d %s framing",
- RX_QLEN (dev), TX_QLEN (dev), dev->net->mtu,
+ (int)RX_QLEN(dev), (int)TX_QLEN(dev), dev->net->mtu,
framing);
}

_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/