Granted I have an older 3GS (purchased Sep 09)... it probably has the old bootrom (i supposed). But anyhow, to encourage who did accidentally upgraded (or had to for apple store reason), you can re-JB your phone!! Unfortunately, the baseband will remain 5.12.1.
Here are the steps that I took:
1) Added the server line in the host file. Visit
Saurak site for detail instruction.
2) Enter DFU mode (hold both home & lock button for 10 sec and then release lock button but hold home button). iTunes recognized my iPhone in recovery mode but the phone screen is completely blank.
3) Restore using 3.1.2 FW.
4) It will "almost" finish but then 1015 error will occur. Press OK. The phone will then be at recovery mode (USB cable to iTune logo).
5) Restore using the same 3.1.2 FW again. I encountered the same 1015 error again and the phone is now in recovery mode.
6) Run Blackra1n. The phone is JB but it is not activated. Unplug phone from USB.
7) Run latest Pwnage. Deselect "Activate Phone" in option and create custom ISPW. When finished creating custom ISPW, select phone has not been pwned.
8) Put phone into recovery mode (turn off phone. hold home button while re-plugging in your phone)
9) Back in Pwnage, select the option where the phone has never been pwned. Pwnage will then load the JB software again (with Cydia) and move the phone to recovery mode again.
10) In iTunes, restore now with the custom built 3.1.2 FW.
11) After restoring, your phone should now be fully jailbroken and activated!! You can now restore the backup from iTune and Cydia.