Thanks Kevin for the comments. >> >> @@ -46,6 +51,7 @@ struct nvgrace_gpu_pci_core_device { >> struct mem_region resmem; >> /* Lock to control device memory kernel mapping */ >> struct mutex remap_lock; >> + bool has_mig_hw_bug_fix; > > Is 'has_mig_hw_bug" clearer given GB+ hardware should all inherit > the fix anyway? IIUC, are you suggesting an inverted implementation? i.e. use has_mig_hw_bug as the struct member with the semantics !has_mig_hw_bug_fix? >> >> if (ops == &nvgrace_gpu_pci_ops) { >> + nvdev->has_mig_hw_bug_fix = >> nvgrace_gpu_has_mig_hw_bug_fix(pdev); >> + > > Move it into nvgrace_gpu_init_nvdev_struct() which has plenty > of information to help understand that line. Ack, will update in the next version.