Perfect title, have a look at this:
/usr/src/linux/Documentation/applying-patches.txt
For you:
Code:
$ cd ~/linux-2.6.15.4 # change into the kernel source dir
$ patch -p1 -R < ../patch-2.6.15.4 # revert the 2.6.15.4 patch
$ patch -p1 < ../patch-2.6.15.5 # apply the new 2.6.12.5 patch
$ cd ..
$ mv linux-2.6.15.4 linux-2.6.15.5 # rename the kernel source dir
You should never have a to answer such a question for official patches, they are always perfect. It always means you did an error.
In your case, 2.6.15.5 is not incremental from 2.6.15.4, it is to apply on 2.6.15!! Not Logic you would say? Imagine if you want to go from 2.6.15.3 to 2.6.15.5. kernel.org would have to handle a looot of files!