Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/stp: fix todoff size

The size of the TOD offset field in the stp info response is 64 bits.

Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@de.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>

authored by

Sven Schnelle and committed by
Heiko Carstens
03780c83 39d62336

+3 -5
+2 -2
arch/s390/include/asm/stp.h
··· 44 44 u32 : 32; 45 45 u32 ctnid[3]; 46 46 u32 : 32; 47 - u32 todoff[4]; 48 - u32 rsvd[48]; 47 + u64 todoff; 48 + u32 rsvd[50]; 49 49 } __packed; 50 50 51 51 struct stp_tzib {
+1 -3
arch/s390/kernel/time.c
··· 554 554 while (atomic_read(&sync->cpus) != 0) 555 555 cpu_relax(); 556 556 rc = 0; 557 - if (stp_info.todoff[0] || stp_info.todoff[1] || 558 - stp_info.todoff[2] || stp_info.todoff[3] || 559 - stp_info.tmd != 2) { 557 + if (stp_info.todoff || stp_info.tmd != 2) { 560 558 flags = vdso_update_begin(); 561 559 rc = chsc_sstpc(stp_page, STP_OP_SYNC, 0, 562 560 &clock_delta);