diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2007-10-26 07:23:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-10-26 07:23:22 -0400 |
commit | 43cc7380eced27ee9cafdf89fa32333dc3884e8b (patch) | |
tree | 31a051c83d664f0b602d45c3d6599028a0d59dbb | |
parent | 8ad7c62b752483982a678c78a52a70f498b84cbb (diff) |
[NET] napi: use non-interruptible sleep in napi_disable
The current napi_disable() uses msleep_interruptible() but doesn't
(and can't) exit in case there's a signal, thus ending up doing a
hot spin without a cpu_relax. Use uninterruptible sleep instead.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/netdevice.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 811024e311bd..9b0c8f12373e 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -390,7 +390,7 @@ static inline void napi_complete(struct napi_struct *n) | |||
390 | static inline void napi_disable(struct napi_struct *n) | 390 | static inline void napi_disable(struct napi_struct *n) |
391 | { | 391 | { |
392 | while (test_and_set_bit(NAPI_STATE_SCHED, &n->state)) | 392 | while (test_and_set_bit(NAPI_STATE_SCHED, &n->state)) |
393 | msleep_interruptible(1); | 393 | msleep(1); |
394 | } | 394 | } |
395 | 395 | ||
396 | /** | 396 | /** |