Checking for other kernel modules on load

Kostik Belousov kostikbel at gmail.com
Wed Dec 28 15:00:28 UTC 2011


On Wed, Dec 28, 2011 at 02:53:42PM +0000, Chris Rees wrote:
> 2011/12/28 Kostik Belousov <kostikbel at gmail.com>:
> > On Wed, Dec 28, 2011 at 12:23:58PM +0000, Chris Rees wrote:
> >> On 28 December 2011 12:21, Daniel O'Connor <doconnor at gsoft.com.au> wrote:
> >> >
> >> > On 28/12/2011, at 22:07, Chris Rees wrote:
> >> >> Is there a simple way to check for existence of a driver?  I could
> >> >> even check for /dev/sndstat, though that doesn't seem elegant to me...
> >> >
> >> > kldstat -v, but really /dev/sndstat seems simpler and just as effective.
> >> >
> >>
> >> Cheers-- I was thinking of a kernel-level function though.
> >>
> >> cognet@ suggested using modfind("sound"), I'll go with that.
> > Obvious question is what the panic is. Checking for modules loaded is
> > papering over some issue.
> 
> True, although I figured that it was a simple conflict, possibly to do
> with sndstat.
> 
> Also, I'm getting panics with the following patch, whether sound is
> loaded or not :)
> 
> +  if (modfind("sound") >= 0)
> +    {
> +      cmn_err (CE_WARN, "A conflicting sound driver is already loaded");
> +      return EBUSY;
> +    }
> +
> 
> Is there a better way to handle such conflicts?

You have missed the point. There is some bug in oss driver that causing
the panic. Presumed 'conflict' cannot cause the harm itself, besides not
allowing second driver to attach to the same device, and should not result
in panic. Trying to implement a half-measure that only covers the problem
you do a mis-service.

And you still did not provided the panic message.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20111228/cf08bbab/attachment.pgp


More information about the freebsd-hackers mailing list