net: korina: Fix NAPI versus resources freeing
authorFlorian Fainelli <f.fainelli@gmail.com>
Sat, 24 Dec 2016 03:56:56 +0000 (19:56 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 16 Mar 2017 02:18:33 +0000 (02:18 +0000)
commited409706870914d500a16dc70432e515c91a641c
tree5e2bd75c63ee55aa55228033659d0f727ea3a7c2
parentc0b1db91aa4ef62bc16b4b63ee48cb2e76bf0982
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: Ben Hutchings <ben@decadent.org.uk>
drivers/net/ethernet/korina.c