[S390] Fix broken logic, SIGA flags must be bitwise ORed
authorJan Glauber <jan.glauber@de.ibm.com>
Tue, 17 Jul 2007 11:36:09 +0000 (13:36 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 17 Jul 2007 11:36:20 +0000 (13:36 +0200)
Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/qdio.c

index ae43732..ed026a1 100644 (file)
@@ -2306,8 +2306,8 @@ qdio_get_ssqd_information(struct qdio_irq *irq_ptr)
        if (!ssqd_area) {
                QDIO_PRINT_WARN("Could not get memory for chsc. Using all " \
                                "SIGAs for sch x%x.\n", irq_ptr->schid.sch_no);
-               irq_ptr->qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY ||
-                                 CHSC_FLAG_SIGA_OUTPUT_NECESSARY ||
+               irq_ptr->qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY |
+                                 CHSC_FLAG_SIGA_OUTPUT_NECESSARY |
                                  CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */
                irq_ptr->is_qebsm = 0;
                irq_ptr->sch_token = 0;
@@ -2328,8 +2328,8 @@ qdio_get_ssqd_information(struct qdio_irq *irq_ptr)
                QDIO_PRINT_WARN("CHSC returned cc %i. Using all " \
                                "SIGAs for sch 0.%x.%x.\n", result,
                                irq_ptr->schid.ssid, irq_ptr->schid.sch_no);
-               qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY ||
-                       CHSC_FLAG_SIGA_OUTPUT_NECESSARY ||
+               qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY |
+                       CHSC_FLAG_SIGA_OUTPUT_NECESSARY |
                        CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */
                irq_ptr->is_qebsm  = 0;
                goto out;
@@ -2340,8 +2340,8 @@ qdio_get_ssqd_information(struct qdio_irq *irq_ptr)
                                "is 0x%x. Using all SIGAs for sch 0.%x.%x.\n",
                                ssqd_area->response.code,
                                irq_ptr->schid.ssid, irq_ptr->schid.sch_no);
-               qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY ||
-                       CHSC_FLAG_SIGA_OUTPUT_NECESSARY ||
+               qdioac = CHSC_FLAG_SIGA_INPUT_NECESSARY |
+                       CHSC_FLAG_SIGA_OUTPUT_NECESSARY |
                        CHSC_FLAG_SIGA_SYNC_NECESSARY; /* all flags set */
                irq_ptr->is_qebsm  = 0;
                goto out;