diff options
author | Jan Glauber <jan.glauber@de.ibm.com> | 2007-07-17 07:36:09 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-07-17 07:36:20 -0400 |
commit | a07a5b336f699e21d405764931a9d5426dc4f945 (patch) | |
tree | a5e3f31026d0125e021e4d301cbcd7eff4f59964 | |
parent | 086a6c6249995e49db0f7196d59f69dc3a1e1ef8 (diff) |
[S390] Fix broken logic, SIGA flags must be bitwise ORed
Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | drivers/s390/cio/qdio.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/s390/cio/qdio.c b/drivers/s390/cio/qdio.c index ae437322c9ca..ed026a1dc324 100644 --- a/drivers/s390/cio/qdio.c +++ b/drivers/s390/cio/qdio.c | |||
@@ -2306,8 +2306,8 @@ qdio_get_ssqd_information(struct qdio_irq *irq_ptr) | |||
2306 | if (!ssqd_area) { | 2306 | if (!ssqd_area) { |
2307 | QDIO_PRINT_WARN("Could not get memory for chsc. Using all " \ | 2307 | QDIO_PRINT_WARN("Could not get memory for chsc. Using all " \ |
2308 | "SIGAs for sch x%x.\n", irq_ptr->schid.sch_no); | 2308 | "SIGAs for sch x%x.\n", irq_ptr->schid.sch_no); |
2309 | irq_ptr->qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY || | 2309 | irq_ptr->qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY | |
2310 | CHSC_FLAG_SIGA_OUTPUT_NECESSARY || | 2310 | CHSC_FLAG_SIGA_OUTPUT_NECESSARY | |
2311 | CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */ | 2311 | CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */ |
2312 | irq_ptr->is_qebsm = 0; | 2312 | irq_ptr->is_qebsm = 0; |
2313 | irq_ptr->sch_token = 0; | 2313 | irq_ptr->sch_token = 0; |
@@ -2328,8 +2328,8 @@ qdio_get_ssqd_information(struct qdio_irq *irq_ptr) | |||
2328 | QDIO_PRINT_WARN("CHSC returned cc %i. Using all " \ | 2328 | QDIO_PRINT_WARN("CHSC returned cc %i. Using all " \ |
2329 | "SIGAs for sch 0.%x.%x.\n", result, | 2329 | "SIGAs for sch 0.%x.%x.\n", result, |
2330 | irq_ptr->schid.ssid, irq_ptr->schid.sch_no); | 2330 | irq_ptr->schid.ssid, irq_ptr->schid.sch_no); |
2331 | qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY || | 2331 | qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY | |
2332 | CHSC_FLAG_SIGA_OUTPUT_NECESSARY || | 2332 | CHSC_FLAG_SIGA_OUTPUT_NECESSARY | |
2333 | CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */ | 2333 | CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */ |
2334 | irq_ptr->is_qebsm = 0; | 2334 | irq_ptr->is_qebsm = 0; |
2335 | goto out; | 2335 | goto out; |
@@ -2340,8 +2340,8 @@ qdio_get_ssqd_information(struct qdio_irq *irq_ptr) | |||
2340 | "is 0x%x. Using all SIGAs for sch 0.%x.%x.\n", | 2340 | "is 0x%x. Using all SIGAs for sch 0.%x.%x.\n", |
2341 | ssqd_area->response.code, | 2341 | ssqd_area->response.code, |
2342 | irq_ptr->schid.ssid, irq_ptr->schid.sch_no); | 2342 | irq_ptr->schid.ssid, irq_ptr->schid.sch_no); |
2343 | qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY || | 2343 | qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY | |
2344 | CHSC_FLAG_SIGA_OUTPUT_NECESSARY || | 2344 | CHSC_FLAG_SIGA_OUTPUT_NECESSARY | |
2345 | CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */ | 2345 | CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */ |
2346 | irq_ptr->is_qebsm = 0; | 2346 | irq_ptr->is_qebsm = 0; |
2347 | goto out; | 2347 | goto out; |