Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Fabian Frederick and committed by
David S. Miller
bcc90e3f b898441f

-24
-24
net/atm/signaling.c
··· 19 19 #include "resources.h" 20 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 22 struct atm_vcc *sigd = NULL; 28 - #ifdef WAIT_FOR_DEMON 29 - static DECLARE_WAIT_QUEUE_HEAD(sigd_sleep); 30 - #endif 31 23 32 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 26 if (!sigd) { 47 27 pr_debug("atmsvc: no signaling daemon\n"); 48 28 kfree_skb(skb); 49 29 return; 50 30 } 51 - #endif 52 31 atm_force_charge(sigd, skb->truesize); 53 32 skb_queue_tail(&sk_atm(sigd)->sk_receive_queue, skb); 54 33 sk_atm(sigd)->sk_data_ready(sk_atm(sigd)); ··· 240 261 vcc_insert_socket(sk_atm(vcc)); 241 262 set_bit(ATM_VF_META, &vcc->flags); 242 263 set_bit(ATM_VF_READY, &vcc->flags); 243 - #ifdef WAIT_FOR_DEMON 244 - wake_up(&sigd_sleep); 245 - #endif 246 264 return 0; 247 265 }