Sparse reports a size mismatch in the endian swap. The Opal
implementation[1] passes the value as a __be64, and the receiving
variable out_qsize is a u64, so the use of be32_to_cpu() appears to be
an error.

[1]: https://github.com/open-power/skiboot/blob/80e2b1dc73/hw/xive.c#L3854

Fixes: 88ec6b93c8e7 ("powerpc/xive: add OPAL extensions for the XIVE native 
exploitation support")
Signed-off-by: Benjamin Gray <bg...@linux.ibm.com>
---
 arch/powerpc/sysdev/xive/native.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/sysdev/xive/native.c 
b/arch/powerpc/sysdev/xive/native.c
index 9f0af4d795d8..f1c0fa6ece21 100644
--- a/arch/powerpc/sysdev/xive/native.c
+++ b/arch/powerpc/sysdev/xive/native.c
@@ -802,7 +802,7 @@ int xive_native_get_queue_info(u32 vp_id, u32 prio,
        if (out_qpage)
                *out_qpage = be64_to_cpu(qpage);
        if (out_qsize)
-               *out_qsize = be32_to_cpu(qsize);
+               *out_qsize = be64_to_cpu(qsize);
        if (out_qeoi_page)
                *out_qeoi_page = be64_to_cpu(qeoi_page);
        if (out_escalate_irq)
-- 
2.39.2

Reply via email to