diff options
author | Valentina Fernandez <valentina.fernandezalanis@microchip.com> | 2024-11-18 15:53:54 +0000 |
---|---|---|
committer | Conor Dooley <conor.dooley@microchip.com> | 2024-12-05 15:08:51 +0000 |
commit | 48808b55b07c3cea64805267a5547f03e6452a9f (patch) | |
tree | c8f848aea813dc32685af17584d05aefdc4c0853 | |
parent | 40384c840ea1944d7c5a392e8975ed088ecf0b37 (diff) | |
download | lwn-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.c | 4 |
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; |