Heating make Bad AHRS and no pwm output

Version:AP 3.6
the Mission Planner shows “Bad AHRS” and “(Safe)”, and there is no output in servo but we set BRD_SAFETYENABLE to 0.we find that maybe the weather is too hot cause baro temp is unnormal, if we make pixhawk board cool, there is no “(Safe)” in MP and the pwm output is in normal.

we check the code maybe Bad AHRS cause PWM_SERVO_SET_FORCE_SAFETY_ON because the MAVLINK message in MP is
// saftey switch
if (armed && sensors_enabled.motor_control == false && sensors_enabled.seen)
{
messageHigh = “(SAFE)”;
messageHighTime = DateTime.Now;
}

so it looks like that motor control is be set false.

Does anybody know how to modify the code to approval the pwm output even bad AHRS, we no clear what happened make motor control to fail.

Here is some motors not work about heating.
http://discuss.ardupilot.org/t/gimbal-motors-not-working-after-snow-landing/4793/15
we also find that if we change the flight mode to ‘auto’, it will automatic switch to ‘rtl’ even we close all failsafe function.
it looks like that chip heating cause pixhawk stop motor or servo working, but we don’t know whether pixhawk have some temperature protected function ?

It looks like some error of the baro. (MS5611), because pixhawk get temperature information form baro.
in normal, we check the GND_TEMP is above 40 degree in C, the servo is ok, but somtimes the GND_TEMP is 25 degree and pixhawk will lock the motor in safe. we think that 25 is abnormal, so we guess maybe some error in baro.
we will try to replace it!

finally,that is the issue of hardware of stm32103