s390/hypfs_sprp: fix virtual vs physical address confusion
authorHeiko Carstens <hca@linux.ibm.com>
Wed, 17 Jan 2024 14:35:16 +0000 (15:35 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Fri, 9 Feb 2024 12:58:13 +0000 (13:58 +0100)
Add missing virt_to_phys() translation to __hypfs_sprp_diag304().
This doesn't fix a bug since virtual and physical addresses are
currently the same.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/hypfs/hypfs_sprp.c

index f5f7e78ddc0c8deee7795818c2633c227f4f427c..e66b4de8913f07ea67ba54993a25e2f757c2439d 100644 (file)
@@ -25,7 +25,7 @@
 
 static inline unsigned long __hypfs_sprp_diag304(void *data, unsigned long cmd)
 {
-       union register_pair r1 = { .even = (unsigned long)data, };
+       union register_pair r1 = { .even = virt_to_phys(data), };
 
        asm volatile("diag %[r1],%[r3],0x304\n"
                     : [r1] "+&d" (r1.pair)