[PATCH] info to atm layer about broken connection
duncan.sands at math.u-psud.fr
Mon Oct 31 03:55:43 EST 2005
> Hi Duncan
> > Hi Staszek, thanks for the patch, however I think this is the
> > wrong approach. The right thing to do is to go through the list
> > of vccs and do vcc_release_async() on each one.
> vcc_release_async() don't work with pppoatm, I don't know why,
> simply after disconnect modem, ppp demon still works
> and ifconfig command show me connection is ok.
> Using vcc->push(vcc, NULL) kill pppd with
> Modem hangup message in logs.
that sounds like a bug in the pppoatm driver. I will look into this.
> > Also, as far as I can see the use of try_module_get is pointless. Why do
> > you think it is needed?
> It depends on approach, someone would like to finish connection when
> net driver module is unloaded, other one would like to prevent unloading
> module. I preffer second approach as is in (for example) pppoatm .
> Adding try_module_get and module_put pair in subdriver atm_start() and atm_stop()
> propably block unload module anyway.
It would, which is why I don't want it. Can you please explain why it is
useful to have the connection be gone before the module unload completes?
I don't really have anything against it, except that this kind of
synchronous unloading can easily cause rmmod to hang indefinitely (for
example: the output of rmmod is piped to a socket that goes through the
ATM device; I don't know if this is really possible, just giving you
the idea), so better to avoid it if possible. For example, the proc
filesystem entries /proc/net/atm/speed* can also continue to exist after
the speedtch module is unloaded, or the device is removed, because it
would be much harder to do it differently.
More information about the Usbatm