This is a restriction documented in the release notes: http://tools.cisco.com/squish/2A9c2
Here is how to upgrade a single phone, or a single phone type when applying a firmware upgrade to CallManager system. Sometimes the patch applies for both 7945 and 7965 and you don't want to reset the entire collection.
Components for this specific howto:
- A CD where the firmware image will be stored, or FreeFTPD (free FTP server: http://www.freesshd.com/?ctt=download)
An IP Phone 7975G, 7971G-GE, 7970G, 7965G, 7962G, 7961G-GE, 7961G, 7945G, 7942G, 7941G-GE, 7941G, 7931G, 7911G, or 7906G
Steps:
- Download fimware load version 8.4.4 for your IP Phone model, for example cmterm-7911_7906-sccp.8-4-4.cop.sgn
- Place the firmware file inside the FTP directory of your FreeFTPD server, or burn it to a CD
- Go to Cisco OS Administration from your CallManager's administration interface Navigation drop down menu on the top right corner

- Go to Software Upgrades > Install/Upgrade
- If you choose to use a CD, fill the blanks as follows

- If you choose FTP then fill in the necessary information

- The Directory field is where you have the file stored in your FTP server, if it is in the root folder of the user account you will use, then just put a forward slash(/). If it is stored deeper into the filesystem, start with / and then the folder path where it should be. Some Linux based FTPs appreciated using a dotSlash format instead: ./folder1/folder2
- The Server field is the IP address of the computer that acts as a server, your laptop where FreeFTPD is installed for example
- The User and Password fields are the strings saved in your FreeFTPD server configuration
- The Transfer Protocl field dictates wheter your FTP server will use security or not
- Click Next
- If the system successfully connected to the FTP server and found valid firmware files, a screen similar to this will show up:

- In this case I will choose cmterm-7941_7961-sccp.8-4-4.cop.sgn
- The screen will change

- Validate the MD5 string that is listed in this screen, against the value found in the firmware download page

- Wait for the upgrade to finish

- Once done, the TFTP server within CallManager needs to be restarted if you would like to push the recently installed firmware to your phones. In our case we just want to push it to one phone, or one phone type
- Go to Cisco Unified CM Administration > Device > Device Settings > Device Defaults, and locate the model or phone type that the upgrade SHOULD NOT affect, you will see that the new firmware name is listed there. Change it to the string that your phones are currently using. In my case the 7941s are using 8.5.2, so I will change SCCP41.8-4-4S to SCCP41.8-5-2S

- This way we stop the system to push t he load to both 7941s and 7961s, and only transmit it to the model/type we want
- If what you need is to push the firmware to an entire device model/type, then you can go ahead and restart the TFTP service, and then the entire set of IP Phones of the model you want to upgrade. After restarting, the CallManager will tell them to load firmware 8.4.4
- If what you need is to push the load to a single device, or few devices, correct the firmware string back to what the phones are currently running as in step 14, but in both fields, for example the fields of the 7941 and the 7961 models. This way the phones won't notice there was a new firmware installed and won't be instructed to upgrade
- Restart the TFTP service in CallManager
- Now lets tell those few phones only that they need to load a new software image
- Go to Device > Phones, Find the devices and locate a field in their configuration pages called "Phone Load Name", and enter SCCP41.8-4-4S.
- Restart the phone
- Now they should take 8.4.4 withouth any issues
- Go back to their configuration page, and clear the "Phone Load Name" field
- Restart the phone again
- Now it should be able to jump from 8.4.4 to 8.5.X without the Auth Fail error, and we didn't affect the entire collection of phones
Notes
Another document on how to "Upgrade IP Phone Firmware Individually"