早年是昭义节度使薛嵩的裨将。大历年间，奉诏屯田普润（今陕西凤翔北），防遏吐蕃。建中四年，爆发朱泚之乱，率麾下四十骑奔往奉天（今陕西干县）勤王。德宗嘉许他，封东阳郡王，为“奉天定难功臣”。后守梁州（今陕西汉中），曾被俘，系长安狱。乱平后，李晟释之，荐于浑瑊，累迁定平镇（今甘肃宁县东南）都虞候。宪宗时，授御史大夫，再拔擢为泾源（今甘肃泾川北）四镇节度使，赐名忠亮。元和八年（813年）十月十二日，卒。赠尚书左仆射。