summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentina Fernandez <valentina.fernandezalanis@microchip.com>2024-11-18 15:53:54 +0000
committerConor Dooley <conor.dooley@microchip.com>2024-12-05 15:08:51 +0000
commit48808b55b07c3cea64805267a5547f03e6452a9f (patch)
treec8f848aea813dc32685af17584d05aefdc4c0853
parent40384c840ea1944d7c5a392e8975ed088ecf0b37 (diff)
downloadlwn-48808b55b07c3cea64805267a5547f03e6452a9f.tar.gz
lwn-48808b55b07c3cea64805267a5547f03e6452a9f.zip
firmware: microchip: fix UL_IAP lock check in mpfs_auto_update_state()
To verify that Auto Update is possible, the mpfs_auto_update_state() function performs a "Query Security Service Request" to the system controller. Previously, the check was performed on the first element of the response message, which was accessed using a 32-bit pointer. This caused the bitwise operation to reference incorrect data, as the response should be inspected at the byte level. Fixed this by casting the response to a u8 * pointer, ensuring the check correctly inspects the appropriate byte of the response message. Additionally, rename "UL_Auto Update" to "UL_IAP" to match the PolarFire Family System Services User Guide. Signed-off-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
-rw-r--r--drivers/firmware/microchip/mpfs-auto-update.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/firmware/microchip/mpfs-auto-update.c b/drivers/firmware/microchip/mpfs-auto-update.c
index 38a03698cec9..e194f7acb2a9 100644
--- a/drivers/firmware/microchip/mpfs-auto-update.c
+++ b/drivers/firmware/microchip/mpfs-auto-update.c
@@ -402,10 +402,10 @@ static int mpfs_auto_update_available(struct mpfs_auto_update_priv *priv)
return -EIO;
/*
- * Bit 5 of byte 1 is "UL_Auto Update" & if it is set, Auto Update is
+ * Bit 5 of byte 1 is "UL_IAP" & if it is set, Auto Update is
* not possible.
*/
- if (response_msg[1] & AUTO_UPDATE_FEATURE_ENABLED)
+ if ((((u8 *)response_msg)[1] & AUTO_UPDATE_FEATURE_ENABLED))
return -EPERM;
return 0;