s390/ap: resend enable adapter interrupt request.
authorHolger Dengler <hd@linux.vnet.ibm.com>
Mon, 2 Jul 2012 10:39:59 +0000 (12:39 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 16 Jul 2012 08:53:38 +0000 (10:53 +0200)
The adapter interrupt for an APQN must be re-enabled after a reset.
This patch sends the interrupt enablement request again, if the APQN
is busy or the reset is still in progress.

Signed-off-by: Holger Dengler <hd@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
drivers/s390/crypto/ap_bus.c

index b987d4619586b0d0337db02691a67a2e1a97a043..fa5f05c643cbebf3995ea16587a7ce80df1c8041 100644 (file)
@@ -338,6 +338,12 @@ static int ap_queue_enable_interruption(ap_qid_t qid, void *ind)
                        break;
                case AP_RESPONSE_RESET_IN_PROGRESS:
                case AP_RESPONSE_BUSY:
+                       if (i < AP_MAX_RESET - 1) {
+                               udelay(5);
+                               status = ap_queue_interruption_control(qid,
+                                                                      ind);
+                               continue;
+                       }
                        break;
                case AP_RESPONSE_Q_NOT_AVAIL:
                case AP_RESPONSE_DECONFIGURED: