Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756474AbcKESUc (ORCPT ); Sat, 5 Nov 2016 14:20:32 -0400 Received: from mout.gmx.net ([212.227.15.19]:54338 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755515AbcKESU2 (ORCPT ); Sat, 5 Nov 2016 14:20:28 -0400 Subject: Re: [PATCH 1/1] watchdog: pcipcwd_show_card_info: wrong format string To: Guenter Roeck , Wim Van Sebroeck References: <20161105145028.4894-1-xypron.glpk@gmx.de> <87276aec-7040-798e-fd91-1d0e616db303@roeck-us.net> Cc: linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org From: Heinrich Schuchardt Message-ID: <041ea1cf-f0ef-febf-4ae2-c00f615d6bf1@gmx.de> Date: Sat, 5 Nov 2016 19:19:34 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 In-Reply-To: <87276aec-7040-798e-fd91-1d0e616db303@roeck-us.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:Z4DI88u+qFgG00cf78PFk1U3pyRgQojJ5osLR5NEdzxsV/IJmbZ qTh3C/rMJs7M937a+OFAgSe3Egksy4gmX2/Vb9Dqje1uI3IckLUtlr93i3zJDBAhBfjEo92 djH0sgf6LEiN07tmNwtg3D3nEAn0NqKBK6uZlLTBRy5qMIucIBmIfxBdAxDgyJNozv8zKRI Ep0xd4qHFzhVbDuPRlndQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:afCgCePg4Zo=:97lmI7eG/ngPdFx8FeKKj+ TjHS9a5wlV4kyN16/bj9RCXn9jQjADHdh5qHr8xIa+rnLyIvo7A0OB9q1or1z1Vx2BYdWHqFU ddz+CtjFlVWB4bl0NKfKVvYzhIcAUMJYgFyBVLzcwBaFF6HtfLYQXTsNfw5x2ybnRlAppR58M W0a/6HmKGSIfCD+ph+665RpGwtBMtmREAWU4QQVbeA0ewmpp++1IY5yNZ8rO1It/Kp6M6bjQZ qBubQ59koWgb0wK4mF6fqdd5YXQE3Q1m48tZU8E+77nVksheRLfEFJtvw4NZ60Wgh7jb283Yg UxpwH5Ttw8/Bkgrcu5MhlO69aJmz8+ANfDnTxQRde/0+tiyqxL5wCtfvdUw+nSDEnzmGz3sTG 2AonrRVxjFmTyUpTR/dSuJRq5jUAqWqhd0kVGoT/3rzzmyxRn8hFtQ7b8adlOb1mx/8X0KMv3 UrIpAS/vnz+maoiuuzJUp/NdglEi8XOa7I0Qs6cC9MOBSmNp4Hyb32pY5shXjOt2gBAw2wg2H EzGQwVQ5TpFOIlj4NDbGYn9SBQ3tSxnlFBBuJ9otFkV6vWbcKk48JF6gmXT/GN0M2/3Y4D/bx oWr3xzDgDTY9hBpQWtSnUqm73829HOy3hKLOyx4A+gjvh9Ny46vUZ28AXE89w2TK77IYFzbxf KvFJarlhzf6Uu9o/zRXK3TaEHbFyHdfS1gBTgvb7XICZtOQjBwsypXWPrKGGQul7i5zmROMmN c2nLublQV/CbPyK2KQS78jlbtSh9ds9cDnKBVXKuEGu2gB+YlmZ2ewu9OYdnxyXMJCHTK/i2B BzOu5N2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1475 Lines: 41 On 11/05/2016 04:29 PM, Guenter Roeck wrote: > On 11/05/2016 07:50 AM, Heinrich Schuchardt wrote: >> fw_rev_major and fw_rev_minor are defined as int. >> Use %d to print them. >> >> Signed-off-by: Heinrich Schuchardt >> --- >> drivers/watchdog/pcwd_pci.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/watchdog/pcwd_pci.c b/drivers/watchdog/pcwd_pci.c >> index c0d07ee..e1fbbf6 100644 >> --- a/drivers/watchdog/pcwd_pci.c >> +++ b/drivers/watchdog/pcwd_pci.c >> @@ -234,7 +234,7 @@ static void pcipcwd_show_card_info(void) >> got_fw_rev = send_command(CMD_GET_FIRMWARE_VERSION, &fw_rev_major, >> &fw_rev_minor); >> if (got_fw_rev) >> - sprintf(fw_ver_str, "%u.%02u", fw_rev_major, fw_rev_minor); >> + sprintf(fw_ver_str, "%d.%02d", fw_rev_major, fw_rev_minor); >> else >> sprintf(fw_ver_str, ""); >> >> > Hmm ... I don't think that a negative version number makes much sense. > Turns out inb() returns a char on some architectures, meaning it is signed, > meaning it _could_ return a negative number if the version number is 128 > or above. I don't want to risk us reporting version number -128.-110 just > to make compilers happy. send_command uses inb_p to read single bytes. The signature of inb_p is u8 inb_p(unsigned long addr) So fw_rev_major and fw_rev_minor should always be in the range of 0..255. Regards Heinrich