Fix the ARM64 build, include the necessary <sys/mutex.h> header.
While here, call device_delete_children() to detach and dealloc all the
existent children and handle the child's detach errors properly.
Reported by: jenkins, hselasky, ian
Sponsored by: Rubicon Communications, LLC (Netgate)