This fixes some hangs reported by Peter, caused by
malloc_domain(M_WAITOK) blocking indefinitely. In
particular, with this change we will fall back to other domains
if the requested domain is depleted. Since the allocations
modified in this review occur during device/subsystem
initialization, I don't believe this will have much effect in
general.
See D17417 and D17418 for some background.