When amdkfd and radeon are compiled inside the kernel image (not as modules), radeon will load before amdkfd and will set *kfd2kgd to its interface structure. Therefore, we must not set *kfd2kgd to NULL when amdkfd is loaded because it will override radeon's initialization and cause kernel BUG. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> --- drivers/gpu/drm/amd/amdkfd/kfd_module.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_module.c b/drivers/gpu/drm/amd/amdkfd/kfd_module.c index 95d5af1..236562f 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_module.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_module.c @@ -34,7 +34,7 @@ #define KFD_DRIVER_MINOR 7 #define KFD_DRIVER_PATCHLEVEL 0 -const struct kfd2kgd_calls *kfd2kgd; +const struct kfd2kgd_calls *kfd2kgd = NULL; static const struct kgd2kfd_calls kgd2kfd = { .exit = kgd2kfd_exit, .probe = kgd2kfd_probe, @@ -84,14 +84,13 @@ EXPORT_SYMBOL(kgd2kfd_init); void kgd2kfd_exit(void) { + kfd2kgd = NULL; } static int __init kfd_module_init(void) { int err; - kfd2kgd = NULL; - /* Verify module parameters */ if ((sched_policy < KFD_SCHED_POLICY_HWS) || (sched_policy > KFD_SCHED_POLICY_NO_HWS)) { -- 2.1.0 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel