A NACK requires the applicable acknowledgement clock with SDA released high. A clock that never rises is a different observation and needs line/timing investigation.
Common trap: Giving a generic fix without identifying the boundary and unmet obligation in this example.
Check the address and strap state, power/reset/readiness, supported bus mode, pull-ups, rise/fall timing and whether the ninth clock really contains a NACK. A controller timeout while SCL is held low is a different observation from an address NACK. Capture SDA/SCL and the controller status before assigning the fault to software or hardware.
Common trap: Only checking software address once.