Jeep recalls 340,000 crossovers and SUVs over faulty software