···102102 u32 flags = 0;103103 unsigned long iflags;104104105105- if (op->len == 0 || op->src == op->dst)105105+ if (op->len == 0)106106 return 0;107107108108- if (op->flags & AES_FLAGS_COHERENT)108108+ /* If the source and destination is the same, then109109+ * we need to turn on the coherent flags, otherwise110110+ * we don't need to worry111111+ */112112+113113+ if (op->src == op->dst)109114 flags |= (AES_CTRL_DCA | AES_CTRL_SCA);110115111116 if (op->dir == AES_DIR_ENCRYPT)···125120 _writefield(AES_WRITEIV0_REG, op->iv);126121 }127122128128- if (op->flags & AES_FLAGS_USRKEY) {123123+ if (!(op->flags & AES_FLAGS_HIDDENKEY)) {129124 flags |= AES_CTRL_WRKEY;130125 _writefield(AES_WRITEKEY0_REG, op->key);131126 }···294289 .setkey = geode_setkey,295290 .encrypt = geode_cbc_encrypt,296291 .decrypt = geode_cbc_decrypt,292292+ .ivsize = AES_IV_LENGTH,297293 }298294 }299295};