Sometimes you can reset the engine warning light by disconnecting the battery for ten minutes or more (be sure you have your stereo unlock code if needed).
That is not a good solution, it is better to diagnose and eventually fix the problem.
Have the car computer scanned with a code reader, the codes you get in return witll tell you exactly where to find the problem.
Here is the code list.
To get the codes the code reader must be connected to the car computer.
sometimes on Bmw you may need a Interface 16 pin Adapter, depending on the code reader.
Here is a home user code reader : PocketScan™ OBD II Code Reader (AXRCP9125 ...Here is a good scaner.
Always better having the job done at a qualified garage.