diff options
Diffstat (limited to 'drivers/s390/crypto/zcrypt_pcicc.c')
-rw-r--r-- | drivers/s390/crypto/zcrypt_pcicc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/s390/crypto/zcrypt_pcicc.c b/drivers/s390/crypto/zcrypt_pcicc.c index f4b0c4795434..9dec5c77cff4 100644 --- a/drivers/s390/crypto/zcrypt_pcicc.c +++ b/drivers/s390/crypto/zcrypt_pcicc.c | |||
@@ -28,6 +28,7 @@ | |||
28 | 28 | ||
29 | #include <linux/module.h> | 29 | #include <linux/module.h> |
30 | #include <linux/init.h> | 30 | #include <linux/init.h> |
31 | #include <linux/gfp.h> | ||
31 | #include <linux/err.h> | 32 | #include <linux/err.h> |
32 | #include <asm/atomic.h> | 33 | #include <asm/atomic.h> |
33 | #include <asm/uaccess.h> | 34 | #include <asm/uaccess.h> |
@@ -373,6 +374,8 @@ static int convert_type86(struct zcrypt_device *zdev, | |||
373 | zdev->max_mod_size = PCICC_MAX_MOD_SIZE_OLD; | 374 | zdev->max_mod_size = PCICC_MAX_MOD_SIZE_OLD; |
374 | return -EAGAIN; | 375 | return -EAGAIN; |
375 | } | 376 | } |
377 | if (service_rc == 8 && service_rs == 72) | ||
378 | return -EINVAL; | ||
376 | zdev->online = 0; | 379 | zdev->online = 0; |
377 | return -EAGAIN; /* repeat the request on a different device. */ | 380 | return -EAGAIN; /* repeat the request on a different device. */ |
378 | } | 381 | } |
@@ -483,6 +486,7 @@ static long zcrypt_pcicc_modexpo(struct zcrypt_device *zdev, | |||
483 | struct completion work; | 486 | struct completion work; |
484 | int rc; | 487 | int rc; |
485 | 488 | ||
489 | ap_init_message(&ap_msg); | ||
486 | ap_msg.message = (void *) get_zeroed_page(GFP_KERNEL); | 490 | ap_msg.message = (void *) get_zeroed_page(GFP_KERNEL); |
487 | if (!ap_msg.message) | 491 | if (!ap_msg.message) |
488 | return -ENOMEM; | 492 | return -ENOMEM; |
@@ -521,6 +525,7 @@ static long zcrypt_pcicc_modexpo_crt(struct zcrypt_device *zdev, | |||
521 | struct completion work; | 525 | struct completion work; |
522 | int rc; | 526 | int rc; |
523 | 527 | ||
528 | ap_init_message(&ap_msg); | ||
524 | ap_msg.message = (void *) get_zeroed_page(GFP_KERNEL); | 529 | ap_msg.message = (void *) get_zeroed_page(GFP_KERNEL); |
525 | if (!ap_msg.message) | 530 | if (!ap_msg.message) |
526 | return -ENOMEM; | 531 | return -ENOMEM; |