----- Original Message ----- > I've been testing some enhancements to mfiutil so compiled
> kernel in debug with:-
> options INVARIANTS
> options INVARIANT_SUPPORT
> options DDB
> options MFI_DEBUG
>
> After doing that and running mfiutil to import a foreign
> config I get a panic with:-
> Lock MFI config not exclusively locked @ /usr/src/sys/dev/mfi/mfi.c:1001
>
> Looking at the code this was trigged by the mfi_ldprobe from
> mfi_check_command_post which doesn't do any locking.
>
> Is the correct fix for this to wrap all the calls to mfi_ldprobe
> with config and io lock as per mfi_startup e.g.
> sx_xlock(&sc->mfi_config_lock);
> mtx_lock(&sc->mfi_io_lock);
> mfi_ldprobe(sc);
> mtx_unlock(&sc->mfi_io_lock);
> sx_xunlock(&sc->mfi_config_lock);
Replying to my own posts again, but just spotted mfi_config_lock
method and seems its just missing MFI_DCMD_CFG_FOREIGN_IMPORT
which is required for user commands.
Adding it fixes this panic :)
Regards
Steve
===============================================This e.mail is private and
confidential between Multiplay (UK) Ltd. and the person or entity to whom it is
addressed. In the event of misdirection, the recipient is prohibited from using,
copying, printing or otherwise disseminating it or any information contained in
it.
In the event of misdirection, illegible or incomplete transmission please
telephone +44 845 868 1337
or return the E.mail to postmaster@multiplay.co.uk.