mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-04 04:02:26 +00:00
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>
This commit is contained in:
parent
b898441f4e
commit
bcc90e3fb1
@ -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)
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user