The manpage for modprobe mentions that dashes and underscores are treated interchangeably in module names. The stack trace dumps seem to print module names with underscores. Use bash to replace _ with the pattern [-_] so that file names with dashes or underscores can be found. For example, this line: [ 27.919759] hda_widget_sysfs_init+0x2b8/0x3a5 [snd_hda_core] should find a module named snd-hda-core.ko.
Showing the changes to scripts/decode_stacktrace.sh (1 of 1 file). Show all
Unified · Split
| @@ -28,7 +28,7 @@ parse_symbol() { · 27 unmodified lines | |||
| 28 | local objfile=${modcache[$module]} | 28 | local objfile=${modcache[$module]} |
| 29 | else | 29 | else |
| 30 | [[ $modpath == "" ]] && return | 30 | [[ $modpath == "" ]] && return |
| 31 | local objfile=$(find "$modpath" -name "$module.ko*" -print -quit) | 31 | local objfile=$(find "$modpath" -name "${module//_/[-_]}.ko*" -print -quit) |
| 32 | [[ $objfile == "" ]] && return | 32 | [[ $objfile == "" ]] && return |
| 33 | modcache[$module]=$objfile | 33 | modcache[$module]=$objfile |
| 34 | fi | 34 | fi |