Commit bcc90e3f authored by Fabian Frederick's avatar Fabian Frederick Committed by David S. Miller

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: default avatarChas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: default avatarFabian Frederick <fabf@skynet.be>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b898441f
...@@ -19,36 +19,15 @@ ...@@ -19,36 +19,15 @@
#include "resources.h" #include "resources.h"
#include "signaling.h" #include "signaling.h"
#undef WAIT_FOR_DEMON /* #define this if system calls on SVC sockets
should block until the demon runs.
Danger: may cause nasty hangs if the demon
crashes. */
struct atm_vcc *sigd = NULL; struct atm_vcc *sigd = NULL;
#ifdef WAIT_FOR_DEMON
static DECLARE_WAIT_QUEUE_HEAD(sigd_sleep);
#endif
static void sigd_put_skb(struct sk_buff *skb) static void sigd_put_skb(struct sk_buff *skb)
{ {
#ifdef WAIT_FOR_DEMON
DECLARE_WAITQUEUE(wait, current);
add_wait_queue(&sigd_sleep, &wait);
while (!sigd) {
set_current_state(TASK_UNINTERRUPTIBLE);
pr_debug("atmsvc: waiting for signaling daemon...\n");
schedule();
}
current->state = TASK_RUNNING;
remove_wait_queue(&sigd_sleep, &wait);
#else
if (!sigd) { if (!sigd) {
pr_debug("atmsvc: no signaling daemon\n"); pr_debug("atmsvc: no signaling daemon\n");
kfree_skb(skb); kfree_skb(skb);
return; return;
} }
#endif
atm_force_charge(sigd, skb->truesize); atm_force_charge(sigd, skb->truesize);
skb_queue_tail(&sk_atm(sigd)->sk_receive_queue, skb); skb_queue_tail(&sk_atm(sigd)->sk_receive_queue, skb);
sk_atm(sigd)->sk_data_ready(sk_atm(sigd)); sk_atm(sigd)->sk_data_ready(sk_atm(sigd));
...@@ -261,8 +240,5 @@ int sigd_attach(struct atm_vcc *vcc) ...@@ -261,8 +240,5 @@ int sigd_attach(struct atm_vcc *vcc)
vcc_insert_socket(sk_atm(vcc)); vcc_insert_socket(sk_atm(vcc));
set_bit(ATM_VF_META, &vcc->flags); set_bit(ATM_VF_META, &vcc->flags);
set_bit(ATM_VF_READY, &vcc->flags); set_bit(ATM_VF_READY, &vcc->flags);
#ifdef WAIT_FOR_DEMON
wake_up(&sigd_sleep);
#endif
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment