The 26-year-old was already on probation in a previous drug case.
Authorities said police pulled O'Neal over after he ran a red light in the 600 block of Olympic Boulevard at about 8:15 a.m. After he consented to a search of his car, police found the drugs.
O'Neal was arrested and taken to Santa Monica Jail, where he was booked for felony possession of a controlled substance, possession of marijuana in a vehicle, red light violation and violation of his probation. He is being held without bail pending arraignment.
O'Neal has a history of substance abuse problems. He completed a drug diversion program last year and was on probation for bringing drugs to the L.A. County Jail in 2009.