On my Thinkpad x220 when I am running on battery under Ubuntu 11.10 and I do a normal shutdown, the system shuts down correctly, but it reboots after 1 sec. This only happens when i am on battery.
I found that it is related to the module e1000e, for example when i do
sudo rmmod e1000e
before the shutdown no automatic reboot is done.

I have the same problem with my X220 with debian. However removing the e1000e module did not solve the problem.
However removing the ehci_hcd module did.
See this web page
http://www.thinkwiki.org/wiki/How_to_make_ACPI_work
Troubleshooting
Machine reboots after shutting down
Try removing ehci_hcd before shutting down, eg, add the following line to rc.local.shutdown
rmmod ehci_hcd
Hi Mitchell,
thanks for your message. It seems you are right and my previous message was just a coincidence…
rmmod ehci_hcd
is the way to fix the problem