diff mbox series

[v4,02/16] pci/shpc: change shpc_get_status() return type to uint8_t

Message ID 20230213140103.1518173-3-vsementsov@yandex-team.ru
State New
Headers show
Series pci hotplug tracking | expand

Commit Message

Vladimir Sementsov-Ogievskiy Feb. 13, 2023, 2 p.m. UTC
The result of the function is always one byte. The result is always
assigned to uint8_t variable. Also, shpc_get_status() should be
symmetric to shpc_set_status() which has uint8_t value argument.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
---
 hw/pci/shpc.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Anton Kuchin Feb. 14, 2023, 7:32 p.m. UTC | #1
On 13/02/2023 16:00, Vladimir Sementsov-Ogievskiy wrote:
> The result of the function is always one byte. The result is always
> assigned to uint8_t variable. Also, shpc_get_status() should be
> symmetric to shpc_set_status() which has uint8_t value argument.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
> ---
>   hw/pci/shpc.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/hw/pci/shpc.c b/hw/pci/shpc.c
> index 1b3f619dc9..5d71569b13 100644
> --- a/hw/pci/shpc.c
> +++ b/hw/pci/shpc.c
> @@ -123,10 +123,13 @@
>   #define SHPC_PCI_TO_IDX(pci_slot) ((pci_slot) - 1)
>   #define SHPC_IDX_TO_PHYSICAL(slot) ((slot) + 1)
>   
> -static uint16_t shpc_get_status(SHPCDevice *shpc, int slot, uint16_t msk)
> +static uint8_t shpc_get_status(SHPCDevice *shpc, int slot, uint16_t msk)
>   {
>       uint8_t *status = shpc->config + SHPC_SLOT_STATUS(slot);
> -    return (pci_get_word(status) & msk) >> ctz32(msk);
> +    uint16_t result = (pci_get_word(status) & msk) >> ctz32(msk);
> +
> +    assert(result <= UINT8_MAX);
> +    return result;
>   }
>   
>   static void shpc_set_status(SHPCDevice *shpc,
Reviewed-by: Anton Kuchin <antonkuchin@yandex-team.ru>
diff mbox series

Patch

diff --git a/hw/pci/shpc.c b/hw/pci/shpc.c
index 1b3f619dc9..5d71569b13 100644
--- a/hw/pci/shpc.c
+++ b/hw/pci/shpc.c
@@ -123,10 +123,13 @@ 
 #define SHPC_PCI_TO_IDX(pci_slot) ((pci_slot) - 1)
 #define SHPC_IDX_TO_PHYSICAL(slot) ((slot) + 1)
 
-static uint16_t shpc_get_status(SHPCDevice *shpc, int slot, uint16_t msk)
+static uint8_t shpc_get_status(SHPCDevice *shpc, int slot, uint16_t msk)
 {
     uint8_t *status = shpc->config + SHPC_SLOT_STATUS(slot);
-    return (pci_get_word(status) & msk) >> ctz32(msk);
+    uint16_t result = (pci_get_word(status) & msk) >> ctz32(msk);
+
+    assert(result <= UINT8_MAX);
+    return result;
 }
 
 static void shpc_set_status(SHPCDevice *shpc,