The singer told the crowd about his medical condition as he finished his set at British Summer Time Hyde Park.
He said he had found a donor and would perform three more shows before the operation in September, saying: “I’m all good, I’m all good.”
Fans greeted the news with a loud, supportive cheer, applauding the singer as he left the stage.
He had just finished playing the song Superstition when he told the crowd he wanted to prevent “rumours” spreading about his health.
The 69-year-old said: “I’m all good, I’m all good, all good, I have a donor and it’s all good.
“I want you to know, I came here to give you my love and thank you for your love. I love you and God bless you.”