]> git.baikalelectronics.ru Git - kernel.git/commit
net: simplify napi_synchronize() to avoid warnings
authorArnd Bergmann <arnd@arndb.de>
Fri, 22 Jan 2016 10:43:44 +0000 (11:43 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Jan 2016 06:19:55 +0000 (22:19 -0800)
commit8729ef1590192060f3cb529f4041fc2cddb3e6a2
treeb2e14a59f14e2f0f5cfacecd74186769c451221e
parent78de8e13ad82c7b7efa1f1e1691a421f83c8f851
net: simplify napi_synchronize() to avoid warnings

The napi_synchronize() function is defined twice: The definition
for SMP builds waits for other CPUs to be done, while the uniprocessor
variant just contains a barrier and ignores its argument.

In the mvneta driver, this leads to a warning about an unused variable
when we lookup the NAPI struct of another CPU and then don't use it:

ethernet/marvell/mvneta.c: In function 'mvneta_percpu_notifier':
ethernet/marvell/mvneta.c:2910:30: error: unused variable 'other_port' [-Werror=unused-variable]

There are no other CPUs on a UP build, so that code never runs, but
gcc does not know this.

The nicest solution seems to be to turn the napi_synchronize() helper
into an inline function for the UP case as well, as that leads gcc to
not complain about the argument being unused. Once we do that, we can
also combine the two cases into a single function definition and use
if(IS_ENABLED()) rather than #ifdef to make it look a bit nicer.

The warning first came up in linux-4.4, but I failed to catch it
earlier.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 13afc819964e ("net: mvneta: Statically assign queues to CPUs")
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h