Skip to content

Commit 48808b5

Browse files
vfalanisConchuOD
authored andcommitted
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 <[email protected]> Signed-off-by: Conor Dooley <[email protected]>
1 parent 40384c8 commit 48808b5

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/firmware/microchip/mpfs-auto-update.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -402,10 +402,10 @@ static int mpfs_auto_update_available(struct mpfs_auto_update_priv *priv)
402402
return -EIO;
403403

404404
/*
405-
* Bit 5 of byte 1 is "UL_Auto Update" & if it is set, Auto Update is
405+
* Bit 5 of byte 1 is "UL_IAP" & if it is set, Auto Update is
406406
* not possible.
407407
*/
408-
if (response_msg[1] & AUTO_UPDATE_FEATURE_ENABLED)
408+
if ((((u8 *)response_msg)[1] & AUTO_UPDATE_FEATURE_ENABLED))
409409
return -EPERM;
410410

411411
return 0;

0 commit comments

Comments
 (0)