]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - kernel/debug/kdb/kdb_main.c
kdb: break out of kdb_ll() when command is terminated
[net-next-2.6.git] / kernel / debug / kdb / kdb_main.c
index b724c791b6d45d7bf39a32ca0b9d02881055de9d..a7fe2e98d613dfe2377a4ba42ee3338b8667149f 100644 (file)
@@ -1857,12 +1857,6 @@ static int kdb_ef(int argc, const char **argv)
 }
 
 #if defined(CONFIG_MODULES)
-/* modules using other modules */
-struct module_use {
-       struct list_head list;
-       struct module *module_which_uses;
-};
-
 /*
  * kdb_lsmod - This function implements the 'lsmod' command.  Lists
  *     currently loaded kernel modules.
@@ -1894,9 +1888,9 @@ static int kdb_lsmod(int argc, const char **argv)
                {
                        struct module_use *use;
                        kdb_printf(" [ ");
-                       list_for_each_entry(use, &mod->modules_which_use_me,
-                                           list)
-                               kdb_printf("%s ", use->module_which_uses->name);
+                       list_for_each_entry(use, &mod->source_list,
+                                           source_list)
+                               kdb_printf("%s ", use->target->name);
                        kdb_printf("]\n");
                }
 #endif
@@ -2297,6 +2291,9 @@ static int kdb_ll(int argc, const char **argv)
        while (va) {
                char buf[80];
 
+               if (KDB_FLAG(CMD_INTERRUPT))
+                       return 0;
+
                sprintf(buf, "%s " kdb_machreg_fmt "\n", command, va);
                diag = kdb_parse(buf);
                if (diag)