aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-10-29 14:49:38 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-29 14:49:38 -0400
commit1e431a9d6478940c0b5fcfa1c17a336fc0683409 (patch)
treece6b454ecbad4f535b9a18ef8605f8218a409ee6 /drivers/misc
parent75d73126fd490e26a9bdfc2338ca068e71563e0b (diff)
parentff10b88b5a05c8f1646dd15fb9f6093c1384ff6d (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.c16
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
1047static void cleanup_kgdbts(void)
1048{
1049 if (configured == 1)
1050 kgdb_unregister_io_module(&kgdbts_io_ops);
1051}
1052
1053static int kgdbts_get_char(void) 1047static 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
1125module_init(init_kgdbts); 1114module_init(init_kgdbts);
1126module_exit(cleanup_kgdbts);
1127module_param_call(kgdbts, param_set_kgdbts_var, param_get_string, &kps, 0644); 1115module_param_call(kgdbts, param_set_kgdbts_var, param_get_string, &kps, 0644);
1128MODULE_PARM_DESC(kgdbts, "<A|V1|V2>[F#|S#][N#]"); 1116MODULE_PARM_DESC(kgdbts, "<A|V1|V2>[F#|S#][N#]");
1129MODULE_DESCRIPTION("KGDB Test Suite"); 1117MODULE_DESCRIPTION("KGDB Test Suite");