diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-29 14:49:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-29 14:49:38 -0400 |
commit | 1e431a9d6478940c0b5fcfa1c17a336fc0683409 (patch) | |
tree | ce6b454ecbad4f535b9a18ef8605f8218a409ee6 /drivers/misc | |
parent | 75d73126fd490e26a9bdfc2338ca068e71563e0b (diff) | |
parent | ff10b88b5a05c8f1646dd15fb9f6093c1384ff6d (diff) |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
kgdb,ppc: Individual register get/set for ppc
kgdbts: prevent re-entry to kgdbts before it unregisters
debug_core,x86,blackfin: Clean up hw debug disable API
kdb: Fix early debugging crash regression
kgdb,arm: fix register dump
kdb: fix per_cpu command to remove supress mask
kdb: Add kdb kernel module sample
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/kgdbts.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/drivers/misc/kgdbts.c b/drivers/misc/kgdbts.c index 72450237a0f4..59c118c19a91 100644 --- a/drivers/misc/kgdbts.c +++ b/drivers/misc/kgdbts.c | |||
@@ -1044,12 +1044,6 @@ static int __init init_kgdbts(void) | |||
1044 | return configure_kgdbts(); | 1044 | return configure_kgdbts(); |
1045 | } | 1045 | } |
1046 | 1046 | ||
1047 | static void cleanup_kgdbts(void) | ||
1048 | { | ||
1049 | if (configured == 1) | ||
1050 | kgdb_unregister_io_module(&kgdbts_io_ops); | ||
1051 | } | ||
1052 | |||
1053 | static int kgdbts_get_char(void) | 1047 | static int kgdbts_get_char(void) |
1054 | { | 1048 | { |
1055 | int val = 0; | 1049 | int val = 0; |
@@ -1081,10 +1075,8 @@ static int param_set_kgdbts_var(const char *kmessage, struct kernel_param *kp) | |||
1081 | return 0; | 1075 | return 0; |
1082 | } | 1076 | } |
1083 | 1077 | ||
1084 | if (kgdb_connected) { | 1078 | if (configured == 1) { |
1085 | printk(KERN_ERR | 1079 | printk(KERN_ERR "kgdbts: ERROR: Already configured and running.\n"); |
1086 | "kgdbts: Cannot reconfigure while KGDB is connected.\n"); | ||
1087 | |||
1088 | return -EBUSY; | 1080 | return -EBUSY; |
1089 | } | 1081 | } |
1090 | 1082 | ||
@@ -1093,9 +1085,6 @@ static int param_set_kgdbts_var(const char *kmessage, struct kernel_param *kp) | |||
1093 | if (config[len - 1] == '\n') | 1085 | if (config[len - 1] == '\n') |
1094 | config[len - 1] = '\0'; | 1086 | config[len - 1] = '\0'; |
1095 | 1087 | ||
1096 | if (configured == 1) | ||
1097 | cleanup_kgdbts(); | ||
1098 | |||
1099 | /* Go and configure with the new params. */ | 1088 | /* Go and configure with the new params. */ |
1100 | return configure_kgdbts(); | 1089 | return configure_kgdbts(); |
1101 | } | 1090 | } |
@@ -1123,7 +1112,6 @@ static struct kgdb_io kgdbts_io_ops = { | |||
1123 | }; | 1112 | }; |
1124 | 1113 | ||
1125 | module_init(init_kgdbts); | 1114 | module_init(init_kgdbts); |
1126 | module_exit(cleanup_kgdbts); | ||
1127 | module_param_call(kgdbts, param_set_kgdbts_var, param_get_string, &kps, 0644); | 1115 | module_param_call(kgdbts, param_set_kgdbts_var, param_get_string, &kps, 0644); |
1128 | MODULE_PARM_DESC(kgdbts, "<A|V1|V2>[F#|S#][N#]"); | 1116 | MODULE_PARM_DESC(kgdbts, "<A|V1|V2>[F#|S#][N#]"); |
1129 | MODULE_DESCRIPTION("KGDB Test Suite"); | 1117 | MODULE_DESCRIPTION("KGDB Test Suite"); |