Code 2796 is "Electronic Throttle Controller Adaptation Wrong"
Here is a PDF Service Bulletin related to it: E46Fanatics - View Single Post - OBD II code 2796 - Electronic throttle controller adaption wrong
Here is another service bulletin relating to Code 28B2:
SIB # 12 49 06
This Service Information bulletin supersedes S.I. B12 49 06 dated November 2006.
designates changes to this revision
DME MS45 - FC28B2, 28AA, 28AC; Internal RAM Faults
E46 M54 with MS45.1 from 9/00 to 7/06
E83 M54 with MS45.0/MS45.1 from 9/03 to 9/06
E85 M54 with MS45.0 from 10/04 to 1/06
E60 M54 with MS45.1 from 9/03 to 3/05
Customers may complain about a crank/no start or a rough start situation. The "Service Engine Soon
Light" or the DSC light is illuminated, and one of the 3 scenarios may apply:
1. FC 28B2 "rpm limiting reset " is stored in the DME together with one, or more of the following
faults which are caused by the 28B2:
***56256;***56443; FC 28AC - "nominal torque",
***56256;***56443; FC 2796 - "throttle flap: adaptation wrong",
***56256;***56443; FC 27A1 - "throttle flap: start check",
***56256;***56443; FC 2869 - "DME self diagnostic: RAM check failed".
2. FC 28AA "idle speed regulator" is stored in the DME.
3. FC 28AC "nominal torque" is stored in the DME.
Fault codes 28B2, 28AA and 28AC indicate an internal DME RAM fault.
Perform the appropriate DIS/GT1 test modules for the 28B2, 28AA or 28AC.
Replace the DME if prompted by the DIS/GT1 test module results.
Important: Do not replace the throttle body for the throttle faults, stored in conjunction with FC28B2,
even when the test plan recommends to do so.
From the second bulletin it sounds like a software reset is required.