this is link for official Canon upgrade for EOS 40D.
http://web.canon.jp/imaging/eosd/eos40d/eos40d-firmware-e.htmlFirmware changes:
1. Fixes a malfunction that in rare occurrence causes a low battery indication to be displayed when using the EF 85mm F1.2L II USM lens. Depending on the battery check timing of the camera, the battery level displayed on the camera's LCD data panel may shows Battery will be exhausted soon or Battery must be recharged, even though the battery capacity is sufficient.
2. Fixes a malfunction that in rare occurrence causes an Err 06 Self Cleaning Sensor malfunction to appear on the camera's LCD monitor and LCD data panel, even when the Self Cleaning Sensor Unit is operating normally. This message may appear depending on the timing of when the camera is switch to the ON position.
3. Fixes a malfunction that prevents correct colors from being printed when direct printing. RAW images captured using the camera's custom Picture Styles (Emerald, etc.), which have been downloaded from Canon's Web site and registered under User Def. 2 or User Def. 3.
4. Modifies the level of subject brightness that causes the AF-assist beam to fire when using an external Speedlite.
5. Enables an external flash connected to the camera's synchro terminal to fire even when the camera's built-in flash is popped up.