if (retlen != sizeof(format_flag))
return -EIO;
- if (format_flag != FORMAT_FLAG)
- return -EINVAL;
+ if (format_flag != FORMAT_FLAG) {
+ pr_info("mtdsplit_h3c_vfs: unexpected format flag %08x\n",
+ format_flag);
+ return 0;
+ }
/* Check file entry */
err = mtd_read(mtd, FILE_ENTRY_OFFSET, sizeof(file_entry), &retlen,
if (retlen != sizeof(file_entry))
return -EIO;
- if (file_entry.flags != FILE_ENTRY_FLAGS)
- return -EINVAL;
-
- if (file_entry.parent_block != FILE_ENTRY_PARENT_BLOCK)
- return -EINVAL;
-
- if (file_entry.parent_index != FILE_ENTRY_PARENT_INDEX)
- return -EINVAL;
-
- if (file_entry.data_block != FILE_ENTRY_DATA_BLOCK)
- return -EINVAL;
-
- if (strncmp(file_entry.name, FILE_ENTRY_NAME, sizeof(file_entry.name)) != 0)
- return -EINVAL;
+ if (file_entry.flags != FILE_ENTRY_FLAGS ||
+ file_entry.parent_block != FILE_ENTRY_PARENT_BLOCK ||
+ file_entry.parent_index != FILE_ENTRY_PARENT_INDEX ||
+ file_entry.data_block != FILE_ENTRY_DATA_BLOCK ||
+ strncmp(file_entry.name, FILE_ENTRY_NAME, sizeof(file_entry.name)) != 0) {
+ pr_info("mtdsplit_h3c_vfs: unexpected file entry - OpenWrt probably not installed\n");
+ return 0;
+ }
/* Find rootfs offset */
kernel_size = block_offset(file_entry.data_block +