There are two possible causes. It is possible that you're trying to
load a 32 bit driver on a 64 bit kernel; that doesn't work as
32 bit and 64 bit code are not compatible in one address space.
Drivers that use MT-Unsafe interfaces or that claim to be MT-Unsafe
also no longer load in Solaris 7.
In both cases, /var/adm/messages should give a pointer to the actual