/* * Procfs support for lockd * * Copyright (c) 2014 Jeff Layton */ #include #include #include #include #include #include "netns.h" #include "procfs.h" /* * We only allow strings that start with 'Y', 'y', or '1'. */ static ssize_t nlm_end_grace_write(struct file *file, const char __user *buf, size_t size, loff_t *pos) { char *data; struct lockd_net *ln = net_generic(current->nsproxy->net_ns, lockd_net_id); if (size < 1) return -EINVAL; data = simple_transaction_get(file, buf, size); if (IS_ERR(data)) return PTR_ERR(data); switch(data[0]) { case 'Y': case 'y': case '1': locks_end_grace(&ln->lockd_manager); break; default: return -EINVAL; } return size; } static ssize_t nlm_end_grace_read(struct file *file, char __user *buf, size_t size, loff_t *pos) { struct lockd_net *ln = net_generic(current->nsproxy->net_ns, lockd_net_id); char resp[3]; resp[0] = list_empty(&ln->lockd_manager.list) ? 'Y' : 'N'; resp[1] = '\n'; resp[2] = '\0'; return simple_read_from_buffer(buf, size, pos, resp, sizeof(resp)); } static const struct file_operations lockd_end_grace_operations = { .write = nlm_end_grace_write, .read = nlm_end_grace_read, .llseek = default_llseek, .release = simple_transaction_release, }; int __init lockd_create_procfs(void) { struct proc_dir_entry *entry; entry = proc_mkdir("fs/lockd", NULL); if (!entry) return -ENOMEM; entry = proc_create("nlm_end_grace", S_IRUGO|S_IWUSR, entry, &lockd_end_grace_operations); if (!entry) { remove_proc_entry("fs/lockd", NULL); return -ENOMEM; } return 0; } void __exit lockd_remove_procfs(void) { remove_proc_entry("fs/lockd/nlm_end_grace", NULL); remove_proc_entry("fs/lockd", NULL); } 99cbd3aa891a216b26'>treecommitdiff
value='3' selected='selected'>3
AgeCommit message (Expand)AuthorFilesLines
space:
mode:
authorJurij Smakov <jurij@wooyd.org>2017-01-30 15:41:36 -0600
committerKalle Valo <kvalo@codeaurora.org>2017-01-31 09:05:25 +0200
commit52f5631a4c056ad01682393be56d2be237e81610 (patch)
tree53d1ddd2c1b179c808df10b6ce731ad26aa9f31b /drivers/usb/serial/console.c
parent2b1d530cb3157f828fcaadd259613f59db3c6d1c (diff)
rtlwifi: rtl8192ce: Fix loading of incorrect firmware
In commit cf4747d7535a ("rtlwifi: Fix regression caused by commit d86e64768859, an error in the edit results in the wrong firmware being loaded for some models of the RTL8188/8192CE. In this condition, the connection suffered from high ping latency, slow transfer rates, and required higher signal strengths to work at all See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853073, https://bugzilla.opensuse.org/show_bug.cgi?id=1017471, and https://github.com/lwfinger/rtlwifi_new/issues/203 for descriptions of the problems. This patch fixes all of those problems. Fixes: cf4747d7535a ("rtlwifi: Fix regression caused by commit d86e64768859") Signed-off-by: Jurij Smakov <jurij@wooyd.org> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@vger.kernel.org> # 4.9+ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/usb/serial/console.c')