A Delta flight from Fort Lauderdale to LaGuardia made an emergency landing in Charleston, South Carolina, after a mechanical issue caused the cabin to fill with smoke, authorities said Thursday.

The Boeing MD-88 left Fort Lauderdale at 3 p.m. and made the emergency landing at 4:40 p.m. at Charleston International Airport after one of plane's two engines experienced a "performance issue," Delta said in a statement.

One passenger said he was asleep on the plane and awoke to a "surreal" experience as the cabin was filled with smoke.

"At first I was like 'Is the A/C on?'," Fabio Dias, who was heading to New York on business, told NBC 4 New York. "It was this huge haze. [It] took me a couple seconds to realize what was really going on. There was no big noise, nothing beyond the sight of seeing smoke. It was kind of scary for a few minutes."

Dias said pilots told passengers that oil was somehow getting into the engine, causing the smoky condition and forcing the crew to shut it down.

Rosalind Urbont said it was "almost like you're there but you're not there."

"White smoke came up in the front and when I turned around, the smoke was black," she said.

The Delta crew was calm and orderly and some passengers were holding hands and crying as the plane made a safe landing, Dias said.

A new plane left Charleston shortly after 7 p.m.., and it arrived at LaGuardia around 10 p.m., Delta said.