* [HELP] Failed check_irq_holder() -> ???
@ 2002-03-01 1:12 Jean Tourrilhes
0 siblings, 0 replies; only message in thread
From: Jean Tourrilhes @ 2002-03-01 1:12 UTC (permalink / raw)
To: Dag Brattli, Linux kernel mailing list, Alan Cox
Hi,
Trying to validate IrDA with 2.5.6-pre1 (I guess, that's my
job). I got some socket OOPS in a place where everything was smooth
before.
It seems that check_irq_holder() in include/asm/smplock.h is
failing and generate the Oops. Basically, it complain when
interruptible_sleep_on() is called with interrupts disabled (fair
enough).
The offending code in net/irda/af_irda.c look like this :
--------------------------------------
cli(); /* To avoid races on the sleep */
/* A Connect Ack with Choke or timeout or failed routing will go to
* closed. */
while (sk->state == TCP_SYN_SENT) {
interruptible_sleep_on(sk->sleep);
if (signal_pending(current)) {
sti();
return -ERESTARTSYS;
}
}
if (sk->state != TCP_ESTABLISHED) {
sti();
sock->state = SS_UNCONNECTED;
return sock_error(sk); /* Always set at this point */
}
sock->state = SS_CONNECTED;
sti();
--------------------------------------
Wow ! This is far beyond my usual level of evil !
My guess is that this was a cut'n'paste of some TCP code (or
else), and while this other code was fixed/cleaned up, IrDA kept the
old version.
So, if anybody remember having seen that and could tell me how
it was fixed, that would make my day...
Thanks...
Jean
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-03-01 1:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-01 1:12 [HELP] Failed check_irq_holder() -> ??? Jean Tourrilhes
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®