D94001 is a fault stored in your BMW's memory (an ISTA fault code, not a standard OBD-II P-code).
What it means: The body controller (BDC) received an invalid checksum for the Drive train data 2 packet (0x3F9) from the engine module DME/DDE over PT-CAN. May cause a no-crank, being stuck in P, or stalling when engaging a gear. Most often a weak or unregistered battery, an aftermarket immobiliser, moisture near the BDC or damaged CAN wiring.