summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2017-07-24 11:30:15 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-09-20 18:15:36 +0200
commit8306ed46d771cc3cda353d296ba54d366b400b64 (patch)
tree622728a2c59d8938b31af6598d7ba807dd699278
parent668ddb921800228092508554df853d62d8255cf0 (diff)
tegra_udc.c: fix compilation with gcc 7
With gcc 7 the following compile time error occurs: | .../drivers/usb/gadget/tegra_udc.c:2565:17: error: 'out' directive writing 3 bytes into a region of size between 2 and 11 [-Werror=format-overflow=] | sprintf(name, "ep%dout", i); | ^~~~~~~~~ | .../drivers/usb/gadget/tegra_udc.c:2565:3: note: 'sprintf' output between 7 and 16 bytes into a destination of size 14 | sprintf(name, "ep%dout", i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ The last end point will never be greater than 32 but the compiler can not find this out from the code. Work around this by passing a format specifier to interpreat i as a signed char. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--drivers/usb/gadget/tegra_udc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/gadget/tegra_udc.c b/drivers/usb/gadget/tegra_udc.c
index d8efe20d5bb8..0fd68f7bfb4b 100644
--- a/drivers/usb/gadget/tegra_udc.c
+++ b/drivers/usb/gadget/tegra_udc.c
@@ -2790,9 +2790,9 @@ static int tegra_udc_ep_setup(struct tegra_udc *udc)
for (i = 1; i < (int)(udc->max_ep / 2); i++) {
char name[14];
- sprintf(name, "ep%dout", i);
+ sprintf(name, "ep%hhdout", i);
struct_ep_setup(udc, i * 2, name, 1);
- sprintf(name, "ep%din", i);
+ sprintf(name, "ep%hhdin", i);
struct_ep_setup(udc, i * 2 + 1, name, 1);
}