[linux-dvb] ifconfig locks on down - B2C2 flexcop.
stonewall at inebraska.com
stonewall at inebraska.com
Thu Jul 14 16:51:52 CEST 2005
Johannes - just to make sure I did this correctly; I patched in the below
code, recompiled, rebooted just to make sure I was loading the new modules.
I brought up each interface, then I hit each one with an ifconfig <dev> down,
until it got to the last one, then it hung. I hit Ctrl-C, and then:
# echo $?
130
I looked in syslog as well as dmesg, and found no "ARGH" reference or line.
I did see, however, the following upon creating the dvb0_? interfaces:
Jul 14 14:38:24 beryllium kernel: dvb_net: created network interface dvb0_0
Jul 14 14:38:24 beryllium net.agent[8019]: add event not handled
Jul 14 14:38:25 beryllium net.agent[8029]: add event not handled
Jul 14 14:38:25 beryllium net.agent[8039]: add event not handled
Jul 14 14:38:25 beryllium net.agent[8049]: add event not handled
Jul 14 14:38:25 beryllium kernel: dvb_net: created network interface dvb0_1
Jul 14 14:38:25 beryllium kernel: dvb_net: created network interface dvb0_2
Jul 14 14:38:25 beryllium kernel: dvb_net: created network interface dvb0_3
Jul 14 14:38:25 beryllium net.agent[8059]: add event not handled
And then when I went to bring down:
Jul 14 14:40:43 beryllium net.agent[8280]: remove event not handled
Since I see no ARGH line at console, syslog, or dmesg - can I assume we never
even get to dmx_section_feed_release_filter call?
Stonewall
On Wednesday 13 July 2005 21:45, Johannes Stezenbach wrote:
> Johannes Stezenbach wrote:
> > One thing you could do is to add some debug to
> > dmx_section_feed_release_filter, like:
> >
> > struct dvb_demux_filter *dvbdmxfilter = (struct dvb_demux_filter
> > *) filter, *f; struct dvb_demux_feed *dvbdmxfeed = (struct dvb_demux_feed
> > *) feed; struct dvb_demux *dvbdmx = dvbdmxfeed->demux;
> >
> > if (down_interruptible (&dvbdmx->mutex)) {
> > printk("ARGH: %d\n", atomic_read(dvbdmx->mutex.count));
> > return -ERESTARTSYS;
> > }
> >
> > If the mutex count is something != 0 or 1 the someone trashed
> > the memory.
>
> Could you please try this, and when it hangs at shutdown, ^C ifconfig
> and look if the ARGH line prints 0, 1 or something totally wild.
>
> Thanks,
> Johannes
More information about the linux-dvb
mailing list