pmap_pv uses a spin lock so we can't sleep with this lock held. Especially, make sure pv operations won't sleep on the pm_lock:
Try harder to not return error in pmap_ctor() if we're allowed to sleep.