All of lore.kernel.org
 help / color / mirror / Atom feed
* PPPoA driver calls ppp_unregister_channel from invalid context
@ 2004-07-29 19:54 Till Immanuel Patzschke
  2004-07-29 21:44 ` Michal Ostrowski
  0 siblings, 1 reply; 2+ messages in thread
From: Till Immanuel Patzschke @ 2004-07-29 19:54 UTC (permalink / raw)
  To: linux-ppp

Hi,

in case a VCC is being closed, pppoatm calls pppoatm_unassign_vcc (from 
pppoatm_push), which calls ppp_unregister_channel.  However the context 
pppoatm_push is running in is not "process context" as demanded by 
ppp_unregister_channel, resulting in (valid) warning messages, like the 
one below.
The kernel is 2.6.7, the ATM card is a Fore HE155 (which shouldn't 
matter since pppoatm_push is definitely not "process context".

What would be the right way of unregistering the channel in case the VCC 
is being closed (or imagine a native PPPoEoA driver [yes, not using 
br2684...]) receiving a PADT, so one has to initiate an unregister from 
the driver?

Rganks for the help,

Immanuel


Jul 28 16:09:34 ipat06 kernel: Debug: sleeping function called from 
invalid context at include/linux/rwsem.h:66
Jul 28 16:09:34 ipat06 kernel: in_atomic():1, irqs_disabled():1
Jul 28 16:09:34 ipat06 kernel:  [dump_stack+30/32] dump_stack+0x1e/0x20
Jul 28 16:09:34 ipat06 kernel:  [<c01080de>] dump_stack+0x1e/0x20
Jul 28 16:09:34 ipat06 kernel:  [__might_sleep+199/224] 
__might_sleep+0xc7/0xe0
Jul 28 16:09:34 ipat06 kernel:  [<c011ff57>] __might_sleep+0xc7/0xe0
Jul 28 16:09:34 ipat06 kernel:  [pg0+945292153/1068032000] 
ppp_unregister_channel+0x39/0x3e0 [ppp_generic]
Jul 28 16:09:34 ipat06 kernel:  [<f8af0379>] 
ppp_unregister_channel+0x39/0x3e0 [ppp_generic]
...

-- 
Till Immanuel Patzschke, CTO
Q Inc




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: PPPoA driver calls ppp_unregister_channel from invalid context
  2004-07-29 19:54 PPPoA driver calls ppp_unregister_channel from invalid context Till Immanuel Patzschke
@ 2004-07-29 21:44 ` Michal Ostrowski
  0 siblings, 0 replies; 2+ messages in thread
From: Michal Ostrowski @ 2004-07-29 21:44 UTC (permalink / raw)
  To: linux-ppp

[-- Attachment #1: Type: text/plain, Size: 1805 bytes --]

This was an issue at one point with the PPPoE driver.  The solution,
IIRC, was to mark the socket connection as having received a PADT and
unregister it next time an operation was performed from process context.


-- 
Michal Ostrowski <mostrows@earthlink.net>

On Thu, 2004-07-29 at 12:54 -0700, Till Immanuel Patzschke wrote:
> Hi,
> 
> in case a VCC is being closed, pppoatm calls pppoatm_unassign_vcc (from 
> pppoatm_push), which calls ppp_unregister_channel.  However the context 
> pppoatm_push is running in is not "process context" as demanded by 
> ppp_unregister_channel, resulting in (valid) warning messages, like the 
> one below.
> The kernel is 2.6.7, the ATM card is a Fore HE155 (which shouldn't 
> matter since pppoatm_push is definitely not "process context".
> 
> What would be the right way of unregistering the channel in case the VCC 
> is being closed (or imagine a native PPPoEoA driver [yes, not using 
> br2684...]) receiving a PADT, so one has to initiate an unregister from 
> the driver?
> 
> Rganks for the help,
> 
> Immanuel
> 
> 
> Jul 28 16:09:34 ipat06 kernel: Debug: sleeping function called from 
> invalid context at include/linux/rwsem.h:66
> Jul 28 16:09:34 ipat06 kernel: in_atomic():1, irqs_disabled():1
> Jul 28 16:09:34 ipat06 kernel:  [dump_stack+30/32] dump_stack+0x1e/0x20
> Jul 28 16:09:34 ipat06 kernel:  [<c01080de>] dump_stack+0x1e/0x20
> Jul 28 16:09:34 ipat06 kernel:  [__might_sleep+199/224] 
> __might_sleep+0xc7/0xe0
> Jul 28 16:09:34 ipat06 kernel:  [<c011ff57>] __might_sleep+0xc7/0xe0
> Jul 28 16:09:34 ipat06 kernel:  [pg0+945292153/1068032000] 
> ppp_unregister_channel+0x39/0x3e0 [ppp_generic]
> Jul 28 16:09:34 ipat06 kernel:  [<f8af0379>] 
> ppp_unregister_channel+0x39/0x3e0 [ppp_generic]
> ...


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-07-29 21:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-29 19:54 PPPoA driver calls ppp_unregister_channel from invalid context Till Immanuel Patzschke
2004-07-29 21:44 ` Michal Ostrowski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.