Fire not burning properly?
A fire that does not burn properly or more or less constantly trickles smoke back into the room is generally the result of Inadequate maintenance or a flaw in the design
Has the chimney been swept recently? If not, why not try this first its cheaper than many of the alternative solutions!
If you are satisfied that the flue is clear and not obstructed by either deteriorating internal masonry or by soot, then you need to start looking at the design of the fireplace/chimney itself. See a flaw in the design.