I just had my p0420 fixed about a month ago, dealer did not charge me anything.. If your CEL was on for that long and thats the code it was throwin' , you should bring it to the dealer and get it fixed(for free),of course they are gonna try n sucker you into some scheduled maintanence or somethin to try n get some money outta you..