I had that with my EJ22 in the L. I think its the throttle position sensor or the air idle control valve. I'm not sure exactly what it is as I've got a list of sensors as long as my arm that are not working properly now. She's a bitch to start when cold which is a real problem when you live in the snow!
Have a go at checking the codes - you'll have to located the two black connectors under the dash, I'm not sure where these are exactly on a liberty. You need to connect these two plugs then turn the ignition to the ON position WITHOUT the engine running. Watch the check engine light for the codes. Long flashes =10, short flashes =1. It will flash long then short, if or when it flashes another long it is the start of a new code or it has looped back to the start. You can write these down like morse code then "translate" them after.
There's a good thread [url=
http://www.ausubaru.com.au/showthread.php?t=14372here[/url] about the codes and their meanings.
Cheers
Bennie