]> git.baikalelectronics.ru Git - kernel.git/commit
via-velocity: fix netif_receive_skb use in irq disabled section.
authorfrançois romieu <romieu@fr.zoreil.com>
Mon, 25 Nov 2013 23:40:58 +0000 (00:40 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Nov 2013 23:43:35 +0000 (18:43 -0500)
commit696cee29764b525da35b4824e6fe236b9bdd4164
treefbc7e299b017b0ac3857fcb795bada64e57ca21e
parenta7ffb5125146e3e0489ca114830b18d8bec0e5e2
via-velocity: fix netif_receive_skb use in irq disabled section.

ce295d2fbea235b2e0a3e57df9249c386c0015c1 ("via-velocity.c: update napi
implementation") overlooked an irq disabling spinlock when the Rx part
of the NAPI poll handler was converted from netif_rx to netif_receive_skb.

NAPI Rx processing can be taken out of the locked section with a pair of
napi_{disable / enable} since it only races with the MTU change function.

An heavier rework of the NAPI locking would be able to perform NAPI Tx
before Rx where I simply removed one of velocity_tx_srv calls.

References: https://bugzilla.redhat.com/show_bug.cgi?id=1022733
Fixes: ce295d2fbea2 (via-velocity.c: update napi implementation)
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Tested-by: Alex A. Schmidt <aaschmidt1@gmail.com>
Cc: Jamie Heilman <jamie@audible.transient.net>
Cc: Michele Baldessari <michele@acksyn.org>
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/via/via-velocity.c