net: korina: Fix NAPI versus resources freeing
authorFlorian Fainelli <f.fainelli@gmail.com>
Sat, 24 Dec 2016 03:56:56 +0000 (19:56 -0800)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 23 Jul 2017 03:04:56 +0000 (03:04 +0000)
commit03216d7092d0727af39d214739c170d3d8497e23
treebb8c242c28e768e62f99269c40392e3fa681ad77
parenta2484564cd4726ff709b4e370b974d905bc8fe04
net: korina: Fix NAPI versus resources freeing

commit e6afb1ad88feddf2347ea779cfaf4d03d3cd40b6 upstream.

Commit beb0babfb77e ("korina: disable napi on close and restart")
introduced calls to napi_disable() that were missing before,
unfortunately this leaves a small window during which NAPI has a chance
to run, yet we just freed resources since korina_free_ring() has been
called:

Fix this by disabling NAPI first then freeing resource, and make sure
that we also cancel the restart task before doing the resource freeing.

Fixes: beb0babfb77e ("korina: disable napi on close and restart")
Reported-by: Alexandros C. Couloumbis <alex@ozo.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/korina.c