rework try_then_request_module to do less in non-modular kernels