绛州稷山(今山西绛州)人。元和二年平定李锜叛乱后擢任沁州刺史,迁卫尉少卿,自请为河东令,元和四年任费州刺史,约五年任蕲州刺史,八年任安南都护,十二年任桂管观察使,任中讨黄家洞叛乱。十五年再任安南都护,七月卒。《新唐书》卷129有传。