Depending on a device firmware version, the compare_firmware() function may not always detect correctly that the current installed FW version is the latest version.
For example my 14G server has PERC FW 50.0.1-0639 installed, but in compare_firmware() it thinks it's only 50.0.1, so when it compares to the latest FW available (50.0.1-0639) it tries to install again.
Issue could be related to the extra versioning with the dash ("-").
Depending on a device firmware version, the compare_firmware() function may not always detect correctly that the current installed FW version is the latest version.
For example my 14G server has PERC FW 50.0.1-0639 installed, but in compare_firmware() it thinks it's only 50.0.1, so when it compares to the latest FW available (50.0.1-0639) it tries to install again.
Issue could be related to the extra versioning with the dash ("-").