diff options
Diffstat (limited to 'drivers/net/netconsole.c')
-rw-r--r-- | drivers/net/netconsole.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index dfc82720065a..e8882023576b 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c | |||
@@ -307,6 +307,11 @@ static ssize_t store_enabled(struct netconsole_target *nt, | |||
307 | return err; | 307 | return err; |
308 | if (enabled < 0 || enabled > 1) | 308 | if (enabled < 0 || enabled > 1) |
309 | return -EINVAL; | 309 | return -EINVAL; |
310 | if (enabled == nt->enabled) { | ||
311 | printk(KERN_INFO "netconsole: network logging has already %s\n", | ||
312 | nt->enabled ? "started" : "stopped"); | ||
313 | return -EINVAL; | ||
314 | } | ||
310 | 315 | ||
311 | if (enabled) { /* 1 */ | 316 | if (enabled) { /* 1 */ |
312 | 317 | ||
@@ -799,5 +804,11 @@ static void __exit cleanup_netconsole(void) | |||
799 | } | 804 | } |
800 | } | 805 | } |
801 | 806 | ||
802 | module_init(init_netconsole); | 807 | /* |
808 | * Use late_initcall to ensure netconsole is | ||
809 | * initialized after network device driver if built-in. | ||
810 | * | ||
811 | * late_initcall() and module_init() are identical if built as module. | ||
812 | */ | ||
813 | late_initcall(init_netconsole); | ||
803 | module_exit(cleanup_netconsole); | 814 | module_exit(cleanup_netconsole); |