{Opt_err, NULL}
 };
 
-static int parse_options(char *options, int is_vfat, int *debug,
+static int parse_options(char *options, int is_vfat, int silent, int *debug,
                         struct fat_mount_options *opts)
 {
        char *p;
                        break;
                /* unknown option */
                default:
-                       printk(KERN_ERR "FAT: Unrecognized mount option \"%s\" "
-                              "or missing value\n", p);
+                       if (!silent) {
+                               printk(KERN_ERR
+                                      "FAT: Unrecognized mount option \"%s\" "
+                                      "or missing value\n", p);
+                       }
                        return -EINVAL;
                }
        }
        sb->s_export_op = &fat_export_ops;
        sbi->dir_ops = fs_dir_inode_ops;
 
-       error = parse_options(data, isvfat, &debug, &sbi->options);
+       error = parse_options(data, isvfat, silent, &debug, &sbi->options);
        if (error)
                goto out_fail;