HomeFreeBSD

hdac: Handle interrupts racing with device suspend

Description

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.

Approved by: re (gjb)
PR: 261207
Reviewed by: mav, imp
Tested by: uqs
Sponsored by: The FreeBSD Foundation

(cherry picked from commit 077564cfdb7285ff7d256424715e563cbac36f8b)
(cherry picked from commit 18a3bada308d89928f170f4098c85cd3f11db864)

Details

Provenance
markjAuthored on Mar 16 2022, 4:09 PM
Parents
rGca2b1e3480ba: 13.1: update to BETA3
Branches
Unknown
Tags
Unknown