Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ae9538d authored by Peter Oberparleiter's avatar Peter Oberparleiter Committed by Linus Torvalds
Browse files

[PATCH] s390: cio non-unique path group ids



From: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>

The path grouping can fail due to non-unique pathgroup-IDs.  The source for
the CPU-ID part of the ID was incorrectly specified on 64 bit systems.
Additionally, the length of the ID was too large due to incorrect data packing
declaration.  Fix CPU-ID lowcore address and add missing packing declaration.

Signed-off-by: default avatarPeter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent e0ec5749
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -45,11 +45,11 @@ struct pgid {
	union {
	union {
		__u8 fc;   	/* SPID function code */
		__u8 fc;   	/* SPID function code */
		struct path_state ps;	/* SNID path state */
		struct path_state ps;	/* SNID path state */
	} inf;
	} __attribute__ ((packed)) inf;
	union {
	union {
		__u32 cpu_addr	: 16;	/* CPU address */
		__u32 cpu_addr	: 16;	/* CPU address */
		struct extended_cssid ext_cssid;
		struct extended_cssid ext_cssid;
	} pgid_high;
	} __attribute__ ((packed)) pgid_high;
	__u32 cpu_id	: 24;	/* CPU identification */
	__u32 cpu_id	: 24;	/* CPU identification */
	__u32 cpu_model : 16;	/* CPU model */
	__u32 cpu_model : 16;	/* CPU model */
	__u32 tod_high;		/* high word TOD clock */
	__u32 tod_high;		/* high word TOD clock */
+2 −2
Original line number Original line Diff line number Diff line
@@ -98,8 +98,8 @@
#define __LC_KERNEL_ASCE		0xD58
#define __LC_KERNEL_ASCE		0xD58
#define __LC_USER_ASCE			0xD60
#define __LC_USER_ASCE			0xD60
#define __LC_PANIC_STACK                0xD68
#define __LC_PANIC_STACK                0xD68
#define __LC_CPUID                      0xD90
#define __LC_CPUID			0xD80
#define __LC_CPUADDR                    0xD98
#define __LC_CPUADDR			0xD88
#define __LC_IPLDEV                     0xDB8
#define __LC_IPLDEV                     0xDB8
#define __LC_JIFFY_TIMER		0xDC0
#define __LC_JIFFY_TIMER		0xDC0
#define __LC_CURRENT			0xDD8
#define __LC_CURRENT			0xDD8