Why is the check engine light still on in my 2017 Holden Trax LTZ with fault code P0171, even after fitting a new cylinder head and PCV valve?
Fault code PO171 usually indicates a lean air:fuel mixture entering the engine. As in there’s too much air and not enough fuel. This creates all sort of problems including poor running, but it could also lead to engine damage in the longer term.
Experience suggests that in this particular engine, this problem is often caused by a vacuum leak, and, in turn, that’s often caused by the PCV (positive crankcase ventilation). Since you’ve changed your PCV (presumably for a band-new one) that probably rules that out, but it would still be worth a check. After that, you need to start looking for leaks in the various vacuum hoses around the engine, and don’t forget to make sure that the dipstick and the oil filler car are both sealing, as these can lead to vacuum leaks, too.
If none of that identifies the problem, you may need to check and clean the air flow sensor. If this is giving false readings, the mixture will be wrong as the engine’s computer is getting poor quality information.
But before any of that, did you reset the check engine light after performing the repairs you’ve mentioned? It could be that simple.