Kernel Loadable Driver vs. Custom Compiled Driver Question

Paul B. Mahol onemda at gmail.com
Thu Jun 4 20:37:40 UTC 2009


On 6/4/09, AJ Shipley <aric.shipley at gmail.com> wrote:
> Hi,
>
> I am in the process of integrating a 3rd party HW vendor's driver into
> our FreeBSD code base.  The driver works when it is loaded as a KLM
> using kldload -v <driver_name> but when I modified the kernel using
> config and compiled the driver into the kernel, it does not work.  The
> kernel builds and installs fine, but the driver does not load
> correctly.
>
> I was able to verify that the first 10 steps of the driver works
> during load in both cases and that the driver is loading the device
> into the same PCI memory range (it's a PCI based HW card).  However,
> at a critical step in the driver, it polls an ISR register waiting for
> a bit to toggle high indicating that the board is ready and out of
> reset and it never does, and eventually hits the driver timeout and
> aborts its load.
>
> Why would a driver work as a KLM but not statically compiled into the
> kernel?

Races?

-- 
Paul


More information about the freebsd-drivers mailing list