Again just wanting to note that i am an actual carpet cleaner insured and all. Your right to a point, fabreeze is an odor neutralizer, but when fabreeze fades the scent lingers because of oils *in your case the oils in your pot leaves* and these cling to walls carpet, anything in the room. Only way to actually get the smell off is to remove the oils by thee "complicated methods"
1) acid rinse *like the vinegar solution*
2) repainting walls to cover the oils
3) OZONE Machine like i suggested *the extra oxygen in the room will eat away at the smoke smell and neutralize the oils based on how atoms especially like oxygen like to bond with other atoms. Changing chemical composition entirely.*