diff options
| author | Holger Dengler <hd@linux.vnet.ibm.com> | 2012-07-02 12:39:59 +0200 | 
|---|---|---|
| committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2012-07-16 10:53:38 +0200 | 
| commit | 8738e07d5c9b5b02f113c7e0ba67f0d8d6a5b23c (patch) | |
| tree | 58f3ce1f7e6d22a02aa43bdaa07f28c4b997baa6 /drivers/s390/crypto | |
| parent | c960bec4fe5c58c288ea206061a40fbb0b28e768 (diff) | |
s390/ap: resend enable adapter interrupt request.
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>
Diffstat (limited to 'drivers/s390/crypto')
| -rw-r--r-- | drivers/s390/crypto/ap_bus.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c index b987d4619586..fa5f05c643cb 100644 --- a/drivers/s390/crypto/ap_bus.c +++ b/drivers/s390/crypto/ap_bus.c @@ -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: | 
