patch from linux-next, can be feeded to stable once hit linux-2.6. discovered on linux-2.6.32 F12 branch. svn path=/dists/trunk/linux-2.6/; revision=15176