diff options
| -rw-r--r-- | arch/s390/crypto/crypt_s390.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/crypto/crypt_s390.h b/arch/s390/crypto/crypt_s390.h index 9992f95ef992..0ef9829f2ad6 100644 --- a/arch/s390/crypto/crypt_s390.h +++ b/arch/s390/crypto/crypt_s390.h | |||
| @@ -296,6 +296,10 @@ static inline int crypt_s390_func_available(int func) | |||
| 296 | unsigned char status[16]; | 296 | unsigned char status[16]; |
| 297 | int ret; | 297 | int ret; |
| 298 | 298 | ||
| 299 | /* check if CPACF facility (bit 17) is available */ | ||
| 300 | if (!(stfl() & 1ULL << (31 - 17))) | ||
| 301 | return 0; | ||
| 302 | |||
| 299 | switch (func & CRYPT_S390_OP_MASK) { | 303 | switch (func & CRYPT_S390_OP_MASK) { |
| 300 | case CRYPT_S390_KM: | 304 | case CRYPT_S390_KM: |
| 301 | ret = crypt_s390_km(KM_QUERY, &status, NULL, NULL, 0); | 305 | ret = crypt_s390_km(KM_QUERY, &status, NULL, NULL, 0); |
