Re: [PATCH] Request xc3028_release symbol when CONFIG_DVB_CORE_ATTACH is defined

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

 



On Sun, 2007-05-06 at 11:40 -0700, Trent Piepho wrote:
> The kernel reference counting is done at the module level, not the symbol
> level.
> 
> Normally what happens is that when dvb_attach() is used to, it does a
> symbol_get() on the attach_XXX() function.  At release time, the symbol_put()
> is done on at the release_XXX() function.  Since both functions should be in
> the same module, it has the desired effect.
> 
> If you're seeing the counter wrap around, dvb_attach() was probably not used
> in the first place, or the is an extra symbol_put() in there some place.

Hi Trent,

The way that I understand it, dvb_attach() does a
symbol_request(xc3028_attach), executes xc3028_attach and then does a
symbol_put(xc3028_attach) if the function returns 0. Then, later, when
we try to do a symbol_put_addr on xc3028_release, the module reference
count is 0 and it will then go negative.

I think that the bug is that xc3028_attach is returning 0 to indicate
success whereas dvb_attach() is treating 0 as failure?

Daniel

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux