How to build 4.1.12-ti-r29 kernel source to be identical with "linux-image-4.1.12-ti-r29"?

I met a problem about ALSA’s aplay. When we apt-get “linux-image-4.1.12-ti-r29”, the problem is gone.
So I get kernel source of 4.1.12-ti-r29 from https://github.com/beagleboard/linux/tree/4.1.12-ti-r29 and build it.
But when I put updated zImage and /lib/modules/4.1.12/ on our system, the problem appears again.
How can I build 4.1.12-ti-r29 kernel source to be identical with “linux-image-4.1.12-ti-r29”?

PS: the problem is that while aplay xxx.wav at first time is ok, but failed on playing again

I met a problem about ALSA's aplay. When we apt-get
"linux-image-4.1.12-ti-r29", the problem is gone.
So I get kernel source of 4.1.12-ti-r29 from
GitHub - beagleboard/linux at 4.1.12-ti-r29 and build it.
But when I put updated zImage and /lib/modules/4.1.12/ on our system, the
problem appears again.
How can I build 4.1.12-ti-r29 kernel source to be identical with
"linux-image-4.1.12-ti-r29"?

LOCALVERSION=-ti-r29

PS: the problem is that while aplay xxx.wav at first time is ok, but failed
on playing again

sounds like a gcc bug, the version in apt was built with the native gcc..

Regards,