merged Linux 3.4.104 from kernel.org