92671745b5
Per Factory First policy, package for SLES12 SP3. Please also make me maintainer of the package in hardware project. Thanks. OBS-URL: https://build.opensuse.org/request/show/483470 OBS-URL: https://build.opensuse.org/package/show/hardware/qclib?expand=0&rev=1
57 lines
1.9 KiB
Diff
57 lines
1.9 KiB
Diff
diff -Naurp qclib-1.2.0-vanilla/query_capacity.c qclib-1.2.0/query_capacity.c
|
|
--- qclib-1.2.0-vanilla/query_capacity.c 2016-06-03 09:14:01.000000000 +0200
|
|
+++ qclib-1.2.0/query_capacity.c 2017-03-21 08:53:50.000000000 +0100
|
|
@@ -96,7 +96,7 @@ static int qc_debug_file_init(void) {
|
|
close(fd);
|
|
goto out_err;
|
|
}
|
|
- qc_debug(NULL, "This is qclib v1.2.0, level a7ecaf7, date 2016-06-03 09:04:14 +0200\n");
|
|
+ qc_debug(NULL, "This is qclib v1.2.0, level e5679bb, date 2017-03-21 08:49:07 +0100\n");
|
|
}
|
|
|
|
return 0;
|
|
diff -Naurp qclib-1.2.0-vanilla/query_capacity_sthyi.c qclib-1.2.0/query_capacity_sthyi.c
|
|
--- qclib-1.2.0-vanilla/query_capacity_sthyi.c 2016-06-03 09:14:01.000000000 +0200
|
|
+++ qclib-1.2.0/query_capacity_sthyi.c 2017-03-21 08:53:50.000000000 +0100
|
|
@@ -65,10 +65,10 @@ static int qc_is_sthyi_available(void) {
|
|
#endif
|
|
}
|
|
|
|
-static int qc_sthyi(char *sthyi_buffer) {
|
|
+static int qc_sthyi(struct sthyi_priv *priv) {
|
|
#if defined __s390x__ || __s390__
|
|
register unsigned long function_code asm("2") = 0;
|
|
- register unsigned long buffer asm("4") = (unsigned long) sthyi_buffer;
|
|
+ register unsigned long buffer asm("4") = (unsigned long) priv->data;
|
|
register unsigned long return_code asm("5");
|
|
int cc = -1;
|
|
|
|
@@ -80,10 +80,11 @@ static int qc_sthyi(char *sthyi_buffer)
|
|
: "memory", "cc");
|
|
if (cc == 0) {
|
|
/* buffer was updated */
|
|
+ priv->avail = STHYI_AVAILABLE;
|
|
return 1;
|
|
}
|
|
- /* if cc==-1: exception. never mind, return 0 */
|
|
- /* if cc==3: never mind, r carries return code */
|
|
+ if (cc == 3 && return_code == 4)
|
|
+ return 1;
|
|
#endif
|
|
|
|
return 0;
|
|
@@ -496,12 +497,11 @@ static int qc_sthyi_open(struct qc_handl
|
|
}
|
|
qc_debug(hdl, "STHYI is available\n");
|
|
/* we assume we are not relocated at this spot, between STFLE and STHYI */
|
|
- if (!qc_sthyi(priv->data)) {
|
|
+ if (!qc_sthyi(priv)) {
|
|
qc_debug(hdl, "Error: STHYI execution failed\n");
|
|
rc = -3;
|
|
goto out;
|
|
}
|
|
- priv->avail = STHYI_AVAILABLE;
|
|
}
|
|
goto out;
|
|
|