"There's a child in there and a man I believe," said a woman who called 911. "I see black smoke."
The call came in just after 12:30 p.m. Monday from the 200 block of Lumber Street in Nashville.
Police said Joseph Christopher Williams, 53, was taken from the fire scene to Nash General Hospital where he later died. The boy - Bobby - was also rushed to Nash General and then transferred to the Jaycee Burn Clinic at UNC Hospitals in Chapel Hill, where he died.
The child's age was first reported to be 13, but police later corrected that to 10.
Police said an autopsy was planned for Williams, who appeared to have both a self-inflicted gunshot wound and burn injuries.
The medical examiner in Raleigh conducted an autopsy on the son Tuesday. It was determined that he died from injuries sustained in the fire and multiple gunshot wounds.
The Nashville Police department and the Nash County Sheriff's Office are investigating.
The Williams family had legal problems, which began last year when deputies raided their home and seized their dogs. Criminal charges were dropped but neighbors and sources told ABC11 that the family had been struggling.