Here's a good trick that's works in many cases. You'll be using Fireworks to open, and re-save the Photoshop file. This will fix most corruptions.
Open the corrupt Photoshop file in Fireworks.
Use Fireworks to save it as a .psd Photoshop file. (Important: Do Not save it as a Fireworks file or another extension, because Photoshop may not recognize the layers, or you could lose data.)
Remember to give your file a different name when saving, so you won't overwrite your original. (A good idea would be to create a backup of your original before trying this procedure.)
Open your newly created file in Photoshop.
Remember that many effects will not show in Fireworks, but should show up in the Photoshop layers.
If it doesnt work, try to look at the answer here: http://www.filerepairforum.com/forum/adobe/adobe-aa/photoshop/590-restoring-a-corrupted-psd-file
Try some repair tool:
PSD Repair Kit is the ultimate Adobe PSD repair tool that is a must-have for any digital artist, photographer or other professional working with numerous PSD files.
For more information: http://www.psd.repair/