diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-11-12 18:09:25 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-11-12 18:09:25 -0800 |
commit | 62768e28d606c10ba54217f908123de34dad9374 (patch) | |
tree | e245674de36746c80ec9ddd62e821d2244fbea5b /net/socket.c | |
parent | cd228d5458186f66bc36c4884f4f26ed955c5945 (diff) |
[SUNGEM]: Fix suspend regression due to NAPI changes.
Commit bea3348e (the NAPI changes) made sungem unconditionally enable
NAPI when resuming and unconditionally disable when suspending, this,
however, makes napi_disable() hang when suspending when the interface
was taken down before suspend because taking the interface down also
disables NAPI. This patch makes touching the napi struct in
suspend/resume code paths depend on having the interface up, thereby
fixing the hang on suspend.
The patch also moves the napi_disable() in gem_close() under the lock so
that the NAPI state is always modified atomically together with the
"opened" variable.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/socket.c')
0 files changed, 0 insertions, 0 deletions