char *cmd = buf;
char *filename = CONFIG_TIZEN_INFORM_PATH;
struct file *file;
- int fd;
loff_t pos = 0;
mm_segment_t old_fs = get_fs();
set_fs(KERNEL_DS);
- fd = ksys_open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644);
- if (fd >= 0) {
- file = fget(fd);
- if (file) {
- struct super_block *sb = file->f_path.dentry->d_sb;
+ file = filp_open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644);
+ if (file) {
+ struct super_block *sb = file->f_path.dentry->d_sb;
- if (cmd) {
- if (!strncmp(cmd, "fota", 4))
- cmd = "upgr";
- else if (!strncmp(cmd, "recovery", 8))
- cmd = "rcvr";
- else if (!strncmp(cmd, "download", 8))
- cmd = "dwnl";
- else
- cmd = "ndef";
- } else
- cmd = "norm";
+ if (cmd) {
+ if (!strncmp(cmd, "fota", 4))
+ cmd = "upgr";
+ else if (!strncmp(cmd, "recovery", 8))
+ cmd = "rcvr";
+ else if (!strncmp(cmd, "download", 8))
+ cmd = "dwnl";
+ else
+ cmd = "ndef";
+ } else
+ cmd = "norm";
- vfs_write(file, cmd, strlen(cmd), &pos);
+ vfs_write(file, cmd, strlen(cmd), &pos);
- down_read(&sb->s_umount);
- sync_filesystem(sb);
- up_read(&sb->s_umount);
+ down_read(&sb->s_umount);
+ sync_filesystem(sb);
+ up_read(&sb->s_umount);
- fput(file);
- }
- ksys_close(fd);
+ fput(file);
} else {
pr_err("Reboot parameter passing is failed.\n"
"Inform file path should be described correctly in config.\n");