Shutting off Compass Calibration in Location Services can stop iPhone 4 and iPhone 4S on iOS5 from sucking battery life and running hot.

I have an iPhone 4 and fwiw, mine was losing 10% per 2 hours and running warm as soon as I upgraded to iOS 5. In my case the culprit was quite easy to track-down. The new OS Location Services has a new sub menu: System Services. These services by default do not show the familiar arrow icon at the top right of the status bar. However, a new setting allows System Services location usage to be displayed. Just as well as in my case (I hasten to add that your mileage might vary) the culprit was ‘Compass Calibration’ which was perpetually holding on to Location Services even through restarts. Switching the blighter off cured the problem. What’s odd is that I have tentatively switched it back on since and it no longer activates Location Services. Very odd, but there’s my tale.

via Troubleshooting a battery-sucking iPhone 4S | Macworld By flyperson 4:48:54 PM PDT Oct 24, 2011