On 2018/6/5 17:06, Thierry Reding wrote: > On Tue, Jun 05, 2018 at 04:54:17PM +0800, gengdongjiu wrote: >> >> >> On 2018/6/5 16:40, Greg KH wrote: >>> On Wed, Jun 06, 2018 at 12:35:00AM +0800, Dongjiu Geng wrote: >>>> Initialize the 'err' variate to remove the build warning, >>>> the warning is shown as below: >>>> >>>> drivers/usb/host/xhci-tegra.c: In function ‘tegra_xusb_mbox_thread’: >>>> drivers/usb/host/xhci-tegra.c:552:6: warning: ‘err’ may be used uninitialized in this function [-Wuninitialized] >>>> drivers/usb/host/xhci-tegra.c:482:6: note: ‘err’ was declared here >>>> >>>> Signed-off-by: Dongjiu Geng <gengdongjiu@xxxxxxxxxx> >>>> --- >>> >>> Any hint as to what commit caused this warning to show up? >> >> It seems below commit: >> >> commit e84fce0f8837496a48d11086829bdbe170358b7a >> Author: Thierry Reding <treding@xxxxxxxxxx> >> Date: Thu Feb 11 18:10:48 2016 +0100 >> >> usb: xhci: Add NVIDIA Tegra XUSB controller driver >> >> Add support for the on-chip XUSB controller present on Tegra SoCs. This >> controller, when loaded with external firmware, exposes an interface >> compliant with xHCI. This driver loads the firmware, starts the >> controller, and is able to service host-specific messages sent by the >> controller's firmware. >> >> The controller also supports USB device mode as well as powergating >> of the SuperSpeed and host-controller logic when not in use, but >> support for these is not yet implemented. >> >> Based on work by: >> Ajay Gupta <ajayg@xxxxxxxxxx> >> Bharath Yadav <byadav@xxxxxxxxxx> >> Andrew Bresticker <abrestic@xxxxxxxxxxxx> >> >> Cc: Mathias Nyman <mathias.nyman@xxxxxxxxx> >> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >> Acked-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> >> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > > I've never seen this warning before. It's also a false positive in that > technically the mailbox message will always have at least one bit set in > "mask". However, I don't see how the compiler could know about it, given > that the data comes from an external source, so I think this makes sense > as a hint to the compiler. So: > > Acked-by: Thierry Reding <treding@xxxxxxxxxx> > > Can you provide more detail on what exact version of which compiler you > used that triggered this? I wonder why it's never presented itself with > the compiler that I use. Below is the detailed version of compiler that I used. $ sudo lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty $ arm-linux-gnueabi-gcc -v Using built-in specs. COLLECT_GCC=arm-linux-gnueabi-gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/lto-wrapper Target: arm-linux-gnueabi Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.3-12ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.7.3 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-gnu-unique-object --disable-libmudflap --disable-libitm --enable-plugin --with-system-zlib --enable-objc-gc --with-cloog --enable-cloog-backend=ppl --disable-cloog-version-check --disable-ppl-version-check --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv5t --with-float=soft --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-linux-gnueabi --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include Thread model: posix gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) > > Thierry > ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥