diff options
| author | Fabian Frederick <fabf@skynet.be> | 2015-03-03 13:38:46 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2015-03-03 14:22:11 -0500 |
| commit | bcc90e3fb132f009e647c9032eab4fedb6399339 (patch) | |
| tree | 0657a5a7430e93e67783bc800692c66cbbb1e7b6 /net/atm | |
| parent | b898441f4ece44933af90b116b467f7864dd1ae7 (diff) | |
net/atm/signaling.c: remove WAIT_FOR_DEMON code
WAIT_FOR_DEMON code is directly undefined at the beginning
of signaling.c since initial git version and thus never compiled.
This also removes buggy current->state direct access.
Suggested-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/atm')
| -rw-r--r-- | net/atm/signaling.c | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/net/atm/signaling.c b/net/atm/signaling.c index 523bce72f698..4fd6af47383a 100644 --- a/net/atm/signaling.c +++ b/net/atm/signaling.c | |||
| @@ -19,36 +19,15 @@ | |||
| 19 | #include "resources.h" | 19 | #include "resources.h" |
| 20 | #include "signaling.h" | 20 | #include "signaling.h" |
| 21 | 21 | ||
| 22 | #undef WAIT_FOR_DEMON /* #define this if system calls on SVC sockets | ||
| 23 | should block until the demon runs. | ||
| 24 | Danger: may cause nasty hangs if the demon | ||
| 25 | crashes. */ | ||
| 26 | |||
| 27 | struct atm_vcc *sigd = NULL; | 22 | struct atm_vcc *sigd = NULL; |
| 28 | #ifdef WAIT_FOR_DEMON | ||
| 29 | static DECLARE_WAIT_QUEUE_HEAD(sigd_sleep); | ||
| 30 | #endif | ||
| 31 | 23 | ||
| 32 | static void sigd_put_skb(struct sk_buff *skb) | 24 | static void sigd_put_skb(struct sk_buff *skb) |
| 33 | { | 25 | { |
| 34 | #ifdef WAIT_FOR_DEMON | ||
| 35 | DECLARE_WAITQUEUE(wait, current); | ||
| 36 | |||
| 37 | add_wait_queue(&sigd_sleep, &wait); | ||
| 38 | while (!sigd) { | ||
| 39 | set_current_state(TASK_UNINTERRUPTIBLE); | ||
| 40 | pr_debug("atmsvc: waiting for signaling daemon...\n"); | ||
| 41 | schedule(); | ||
| 42 | } | ||
| 43 | current->state = TASK_RUNNING; | ||
| 44 | remove_wait_queue(&sigd_sleep, &wait); | ||
| 45 | #else | ||
| 46 | if (!sigd) { | 26 | if (!sigd) { |
| 47 | pr_debug("atmsvc: no signaling daemon\n"); | 27 | pr_debug("atmsvc: no signaling daemon\n"); |
| 48 | kfree_skb(skb); | 28 | kfree_skb(skb); |
| 49 | return; | 29 | return; |
| 50 | } | 30 | } |
| 51 | #endif | ||
| 52 | atm_force_charge(sigd, skb->truesize); | 31 | atm_force_charge(sigd, skb->truesize); |
| 53 | skb_queue_tail(&sk_atm(sigd)->sk_receive_queue, skb); | 32 | skb_queue_tail(&sk_atm(sigd)->sk_receive_queue, skb); |
| 54 | sk_atm(sigd)->sk_data_ready(sk_atm(sigd)); | 33 | sk_atm(sigd)->sk_data_ready(sk_atm(sigd)); |
| @@ -261,8 +240,5 @@ int sigd_attach(struct atm_vcc *vcc) | |||
| 261 | vcc_insert_socket(sk_atm(vcc)); | 240 | vcc_insert_socket(sk_atm(vcc)); |
| 262 | set_bit(ATM_VF_META, &vcc->flags); | 241 | set_bit(ATM_VF_META, &vcc->flags); |
| 263 | set_bit(ATM_VF_READY, &vcc->flags); | 242 | set_bit(ATM_VF_READY, &vcc->flags); |
| 264 | #ifdef WAIT_FOR_DEMON | ||
| 265 | wake_up(&sigd_sleep); | ||
| 266 | #endif | ||
| 267 | return 0; | 243 | return 0; |
| 268 | } | 244 | } |
