This method is for users that were using custom ROM before ICS, by using custom ROM you’ll not be able to update to ICS over the air (using KIES).

1. Get official ICS firmware
Go to SamMobile Firmware Page and download latest ICS ROM. For Malaysia latest version is I9100GDXLP6 as the writing. Once downloaded, extract it and you’ll find I9100GDXLP6_I9100GOLBLP6_I9100GDXLP6_HOME.tar.md5 file.

2. Get ODIN
Download ODIN from here.

3. Download Mode
Start ODIN. Turn off your phone and go to Download Mode. Press and hold down Volume Down + Home + Power buttons at the same time. Odin download mode will be loaded.

4. Start flashing
In ODIN, select PDA and select I9100GDXLP6_I9100GOLBLP6_I9100GDXLP6_HOME.tar.md5 file. Do not tick anything other than this!

Remove USB cable from your phone when you see green PASS! at Odin3. That’s all and enjoys new firmware.

p/s: Do not wait too long between getting download mode and starting up ODIN.