r8152: avoid to call napi_disable twice
authorHayes Wang <hayeswang@realtek.com>
Fri, 22 Nov 2019 08:21:09 +0000 (16:21 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 Nov 2019 18:07:44 +0000 (10:07 -0800)
commit5b1d9c17a3e0c16e1c9adf9c8a89f2735cb6dff8
treee3e2eb7b94cf7be4ec0886ca20fe4b125e2ed991
parent068299374cc4ef9a1990adda2d66c4afcacd5277
r8152: avoid to call napi_disable twice

Call napi_disable() twice would cause dead lock. There are three situations
may result in the issue.

1. rtl8152_pre_reset() and set_carrier() are run at the same time.
2. Call rtl8152_set_tunable() after rtl8152_close().
3. Call rtl8152_set_ringparam() after rtl8152_close().

For #1, use the same solution as commit 84811412464d ("r8152: Re-order
napi_disable in rtl8152_close"). For #2 and #3, add checking the flag
of IFF_UP and using napi_disable/napi_enable during mutex.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/r8152.c