Could be carb, timing, valve adjustment, .........a good overall tuneup rules out a major problem.
...But I've got an CB125S which acted the same way. Would not idle at all and the lowest I could get it too was about 2000 rpm. Ran it for a little while then the problem got much worse.....Turns out a piston ring was broken all along.
Won't run without a lot of noise now
Try a tune up, but that didn't fix mine.
Matt.