The device at this point is not initiliazed yet, so there is no fear of
concurrent access. This also fixes a WITNESS error where we keep holding
the lock during mpu401_pause():
Sleeping on "mpusetup" with the following non-sleepable locks held:
exclusive sleep mutex raw midi (raw midi) r = 0 (0xfffff80003373608) locked @ /mnt/src/sys/dev/sound/midi/midi.c:131
stack backtrace:
#0 0xffffffff80bbc105 at witness_debugger+0x65
#1 0xffffffff80bbd273 at witness_warn+0x403
#2 0xffffffff80b4fefa at _sleep+0x5a
#3 0xffffffff80b50690 at pause_sbt+0x80
#4 0xffffffff82d3aceb at mpu401_waitforack+0x4b
#5 0xffffffff82d3aa2a at mpu401_minit+0x6a
#6 0xffffffff82d39874 at midi_init+0x1e4
#7 0xffffffff82d3a74d at mpu401_init+0x7d
#8 0xffffffff82d15239 at dummy_attach+0x189
#9 0xffffffff80b815a4 at device_attach+0x464
#10 0xffffffff80b83430 at bus_generic_driver_added+0x90
#11 0xffffffff80b7ea69 at devclass_driver_added+0x39
#12 0xffffffff80b7e978 at devclass_add_driver+0x138
#13 0xffffffff80b1add0 at module_register_init+0xb0
#14 0xffffffff80b0938d at linker_load_module+0xc5d
#15 0xffffffff80b0b12f at kern_kldload+0x16f
#16 0xffffffff80b0b23c at sys_kldload+0x5c
#17 0xffffffff810a3b7c at amd64_syscall+0x16c
Sponsored by: The FreeBSD Foundation
MFC after: 1 week