hdac: Handle interrupts racing with device suspend
- Avoid looping forever if a concurrent reset causes a read of the interrupt status register to return all ones.
- Lock the softc before reading the interrupt status, so as to avoid a similar infinite loop in hdac_one_intr().
This fixes suspend-to-S3 on some laptops.
PR: 261207
Reviewed by: mav, imp
Tested by: uqs
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 077564cfdb7285ff7d256424715e563cbac36f8b)