-static int exfat_write_checksum_sector(struct exfat_blk_dev *bd,
- unsigned int checksum, bool is_backup)
-{
- __le32 *checksum_buf;
- int ret = 0;
- unsigned int i;
- unsigned int sec_idx = CHECKSUM_SEC_IDX;
-
- checksum_buf = malloc(bd->sector_size);
- if (!checksum_buf)
- return -1;
-
- if (is_backup)
- sec_idx += BACKUP_BOOT_SEC_IDX;
-
- for (i = 0; i < bd->sector_size / sizeof(int); i++)
- checksum_buf[i] = cpu_to_le32(checksum);
-
- ret = exfat_write_sector(bd, checksum_buf, sec_idx);
- if (ret) {
- exfat_err("checksum sector write failed\n");
- goto free;
- }
-
-free:
- free(checksum_buf);
- return ret;
-}
-