diff options
| author | Ingo Tuchscherer <ingo.tuchscherer@de.ibm.com> | 2014-07-14 19:11:48 +0200 | 
|---|---|---|
| committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-07-16 10:48:12 +0200 | 
| commit | 666e68e0dde826ae146b980099f1719f74fa968c (patch) | |
| tree | 5eb5b109401b195ff6f17064a74dcda7b9116b50 | |
| parent | dab6cf55f81a6e16b8147aed9a843e1691dcd318 (diff) | |
s390/zcrypt: improve device probing for zcrypt adapter cards
Improve device probing process for zcrypt adapters to
transmit service request during registration process.
Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| -rw-r--r-- | drivers/s390/crypto/ap_bus.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c index 69ef4f8cfac8..4038437ff033 100644 --- a/drivers/s390/crypto/ap_bus.c +++ b/drivers/s390/crypto/ap_bus.c @@ -901,10 +901,15 @@ static int ap_device_probe(struct device *dev)  	int rc;  	ap_dev->drv = ap_drv; + +	spin_lock_bh(&ap_device_list_lock); +	list_add(&ap_dev->list, &ap_device_list); +	spin_unlock_bh(&ap_device_list_lock); +  	rc = ap_drv->probe ? ap_drv->probe(ap_dev) : -ENODEV; -	if (!rc) { +	if (rc) {  		spin_lock_bh(&ap_device_list_lock); -		list_add(&ap_dev->list, &ap_device_list); +		list_del_init(&ap_dev->list);  		spin_unlock_bh(&ap_device_list_lock);  	}  	return rc; | 
