Hyundai recalls 978,000 cars