Es problema de hardware, a algunos aquí en el foro les paso lo mismo y aparentemente no encontraron solución (al menos por software). Si lo golpeas y funciona entonces es 101% problema de hardware.
A mi me funcionaba perfecto en ICS, y estoy en JB y anda igual perfecto, te mintieron...
Otra cosa bajaste de JB a ICS, que método utilizaste?
NO utilices RSD ni actualices por OTA. Igualmente no descarto que te salga el cartel de "code corrupt" y no tenga más solución (vas a tener que recurrir a garantía y prenderle una vela a un santo para que te lo cambien por uno nuevo).
La próxima hay que leer un poco mas antes de meterle mano.
Suerte!