MCAS failures must not occur in future operations
The MCAS did not fail. It did exactly what it was expected to do. The issue was that it was sent erroneous data from the AoA vane. There is where the weak link lies. A single failed vane was able to trigger a "correct" response from MCAS.
MCAS does not need fixing, the data supplied to it needs to be robustly cross checked or discarded.