[Asterisk-Dev] Re: wcusb & 2.6

creslin at digium.com creslin at digium.com
Mon Nov 1 17:00:55 MST 2004


On Mon, Nov 01, 2004 at 11:32:48PM +0000, Jonathan McDowell wrote:
> On Mon, Nov 01, 2004 at 07:38:18PM +0000, Jonathan McDowell wrote:
> > I've been trying to get my FXS USB device running under 2.6; I thought
> > this wouldn't be a problem given the existance of the driver in CVS, but
> > have discovered that it refuses to load.
> 
> Further to this I've taken Wichert Akkerman's patch from June, fixed it
> up a little (wasn't initializing the datawrite urb), added setting of
> the interval and initialization of the urb spinlock. This gets me
> further, as I get output like:
> 
> Zapata Telephony Interface Registered on major 196
> DEBUG: Entering wc_usb_probe
> Device slot 0 is free 
> wcusb: wc_detect_device
> Second exit
> Init Indirect Registers completed successfully.
> DC Cal x=19
> wcusb: Setting correct interfaces.
> About to register span WCUSB/0
> wcusb: Found a Wildcard S100U USB FXS Interface (WCUSB/0)
> Really setting hook state to 0
> Hook transition complete to 0 
> Read hook state as 00 
> usbcore: registered new driver wcusb
> Wildcard USB FXS Interface driver registered
> 
> However that's ignoring all the tracebacks I get, usually starting with:
> 
> Badness in kref_get at lib/kref.c:32
> 
> And the fact the machine crashes shortly afterwards.
> 
> My ugly patch is at:
> 
> http://the.earth.li/~noodles/wcusb/wcusb-26.diff
> 
> And the kernel output I manage to get saved to syslog before the crash
> at:
> 
> http://the.earth.li/~noodles/wcusb/wcusb-crash.log
> 
> I'm guessing some more locking might be in order?
> 
> J.

Probably, I suspect that there have been some race conditions in the
driver that have not creeped up until some of the newer kernels because
of a lot of the new features such as fully-preemptible kernel and other
things.  I have heard that quite a few developers had to do some cleanup
on old drivers, etc, that didn't have problems because of the less fine
grained locking mechanisms present in the older kernels.

You'll probably have quite an adventure hunting it down though.

Good Hunting :-)

Matthew Fredrickson



More information about the asterisk-dev mailing list