]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.39/patches.arch/s390-06-03-dasd_sim_sense_condition.patch
Imported linux-2.6.27.39 suse/xen patches.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.arch / s390-06-03-dasd_sim_sense_condition.patch
diff --git a/src/patches/suse-2.6.27.39/patches.arch/s390-06-03-dasd_sim_sense_condition.patch b/src/patches/suse-2.6.27.39/patches.arch/s390-06-03-dasd_sim_sense_condition.patch
new file mode 100644 (file)
index 0000000..401967f
--- /dev/null
@@ -0,0 +1,26 @@
+From: Gerald Schaefer <geraldsc@de.ibm.com>
+Subject: Fix unsolicited SIM sense condition.
+References: bnc#458339
+
+Symptom:     SIM reported via unsolicited interrupt are not shown.
+Problem:     SIMs are alway 32 bit sense data so byte 27 bit 0 has not to
+            be set. This was mixed up.
+Solution:    Negate condition for byte 27 bit 0.
+
+Acked-by: John Jolly <jjolly@suse.de>
+
+---
+ drivers/s390/block/dasd_eckd.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/s390/block/dasd_eckd.c
++++ b/drivers/s390/block/dasd_eckd.c
+@@ -1494,7 +1494,7 @@ static void dasd_eckd_handle_unsolicited
+       /* service information message SIM */
+-      if (irb->esw.esw0.erw.cons && (irb->ecw[27] & DASD_SENSE_BIT_0) &&
++      if (irb->esw.esw0.erw.cons && !(irb->ecw[27] & DASD_SENSE_BIT_0) &&
+           ((irb->ecw[6] & DASD_SIM_SENSE) == DASD_SIM_SENSE)) {
+               dasd_3990_erp_handle_sim(device, irb->ecw);
+               dasd_schedule_device_bh(device);