Front-load washers are terrible at getting smells out of clothing unless you mask it with perfume.
One thing I've used for a while to get grease spots out:
Mix a couple tablespoons of blue Dawn dishwashing liquid with about 1/4 cup of baking soda to get a mintyblue paste. Slap that on to grease spots with a spoon and work it in to the fabric. Let sit for a while and wash as normal. You may need to wash a couple times as the baking soda can leave white debris behind.
Seems to work on all but the most stubborn, old spots.
... only problem is Dawn is heavily perfumed, so you smell like dishwashing soap. Only wash the stuff you're cleaning when you do this unless you like your shorts and pants to smell like freshly laundered dinner plates.