Bug fix: don't start a transaction for non-SE keys
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 4bd2d13..50be997 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -1478,14 +1478,14 @@
                                            &slot->data.se.slot_number );
         if( status != PSA_SUCCESS )
             return( status );
+        psa_crypto_prepare_transaction( PSA_CRYPTO_TRANSACTION_CREATE_KEY );
+        psa_crypto_transaction.key.lifetime = slot->lifetime;
+        psa_crypto_transaction.key.slot = slot->data.se.slot_number;
+        psa_crypto_transaction.key.id = slot->persistent_storage_id;
+        status = psa_crypto_save_transaction( );
+        if( status != PSA_SUCCESS )
+            return( status );
     }
-    psa_crypto_prepare_transaction( PSA_CRYPTO_TRANSACTION_CREATE_KEY );
-    psa_crypto_transaction.key.lifetime = slot->lifetime;
-    psa_crypto_transaction.key.slot = slot->data.se.slot_number;
-    psa_crypto_transaction.key.id = slot->persistent_storage_id;
-    status = psa_crypto_save_transaction( );
-    if( status != PSA_SUCCESS )
-        return( status );
 #endif /* MBEDTLS_PSA_CRYPTO_SE_C */
 
     return( status );