Hi,
QJo is a fine hand to isolate a limper, preflop is fine.
On the flop when an unknown donkbet smallish, he either
- has no idea what he is doing and is betting his made hand's strength with some kind of arbitrary values ("i have bottom pair, it's only worth 1/5 pot" / "i have top pair, i'm all-in" )
or
- he is blockbetting to draw cheaply (and will call any raise anyway, paying even more than if he had check/called).
On both cases the correct response is to raise for value in position with TPGK.
On the turn it's trickier because you are ~170bb deep or so. I'd expect weaker made hands then yours to shutdown after your raise tho, so i think he mostly has a draw when he donks smallish again.
- If you had 100bb stacks i would shove over his weak donk for value, he might call with a worse made hand and he might also call with a draw, these players try to draw cheaply but that doesn't mean they can lay it down even if it becomes very expensive.
- With 170bb stacks however, you probably don't want to go broke right here, and folding would be too weak as he rarely has you beat on the turn. I would just call and look for a safe river.
The Q river is interesting, as it completes some draws (98, K9) while giving a top pair to another draw (KQ), and bad players might very well shove "for value" all those hands on that particular card. However, since we can account for two Q already, 98/K9 are more likely than KQ.
You have 20% equity against { KQ, K9, 98 }, which means you need 4:1 odds to make the call. I think you should lay it down since you're getting even less than 2:1 pot odds, as even accounting for the difference by putting more marginal hands in his range would be difficult.
Hope it helps.