did u recently get gas before the light came on? subarus have a vacuum sensor on the fill tube that lights the check engine light if you didnt tighten the cap all the way, if the car runs fine then just disconnect the negative terminal on your battery let it sit for 5 minutes, put it back on if the light is still on its something else, but if its for the vacuum sensor...PROBLEM SOLVED