[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bluetooth-dev] ppp over axis stack in 2.4 kernel



>>Kah Wai wrote:

>> Hi, Has anyone manage to port the axis stack over to the 2.4 version
>> kernel and run pppd?

>>Thanks,Kah Wai

>Gordon wrote:
>Yes.

>But, I had to modify linux/include/spinlock.h to get it to work. In that
>file, if you are not configured in SMP mode, then you must define
>DEBUG_SPINLOCKS to be 1 or higher. By default it is 0, and as you can
>see in that file, all the spin_lock macros are defined to do nothing.
>I think this must be a mistake, but I've sent mail to linux-arm-kernel
>and the author of PPP and nobody else seems to be interested.

>One thing we should do is modify the bluetooth.c to function like
>serial.c so that regardless of the condition of spin_lock macros this
>problem does not appear. Specifically, in bt_write_lower_driver, we
>should not call ldisc.write_wakeup directly. Instead, we should defer it
>to a work queue for execution in another context. The fact that we
>don't, and that the spin_locks used by PPP by default do nothing in 2.4,
>is causing problems.

Ah, I see. I'm kinda new to this linux kernel thingy so I don't have much
clue what are spinlocks. But I'll be getting up to speed on that soon.

>Also, you will need a modified bluetooth stack to even compile under 2.4
>-- but I assume that you got that far or you wouldn't be having problems
>with PPP.

That I have attempted to do with some success. No wonder my pppd kept
hanging my system after like 3 negotiations. I had to reboot everytime.

>--Gordon

Thanks, now I can start looking in the right direction.

Best regards,
Kah Wai