Singer Frank Ocean learned an important lesson on New Year's Eve -- don't speed when you got pot in your pocket ... and now, he's paying the price.
Law enforcement tells TMZ, Ocean was pulled over in Mono County, CA for going roughly 90 in a 65 -- and when officers approached his black BMW, they smelled the odor of marijuana emanating from his vehicle.
According to law enforcement, cops searched Ocean and found a small bag of pot on his person.
We're told Ocean was cited for marijuana possession, driving on a suspended license, and tinted windows.
Ocean was released on the spot, but his passenger had to drive him home -- because cops confiscated Ocean's license.
Calls to Ocean's camp weren't returned.