[CentOS] Nvidia-detect error with on HP Z4 (CentOS 6.9)

Sat Apr 14 11:51:05 UTC 2018
Phil Perry <pperry at elrepo.org>

On 13/04/18 22:33, Danny Smit wrote:
> On Fri, Apr 13, 2018 at 8:50 PM, Phil Perry <pperry at elrepo.org> wrote:
>>
>> Your device is supported:
>>
>> $ nvidia-detect -l | grep -i 1cb2
>> [10de:1cb2] NVIDIA Corporation GP107GL [Quadro P600]
>>
>> Support was added in the 375.39 NVIDIA driver. I assume the driver works as
>> expected for you?
> 
> Yes it works perfectly fine.
> 
>> If you are able to offer any more clues, please feel free to open a bug
>> report on elrepo.org/bugs for us to track. Happy to help if I can.
>>
> 
> I created a bugreport: http://elrepo.org/bugs/view.php?id=839
> 

Thank you.

>>>     # lspci | grep VGA
>>>     00:1f.5 Non-VGA unclassified device: Intel Corporation Device a2a4
>>>     21:00.0 VGA compatible controller: NVIDIA Corporation Device 1cb2 (rev a1
>>>
>>>     # lspci -n | egrep '00:1f.5|21:00.0'
>>>     00:1f.5 0000: 8086:a2a4
>>>     21:00.0 0300: 10de:1cb2 (rev a1)
> 
> This part makes me wander though, if I'm correct the second column in
> the "lspci -n" output seems to be the class identification. If you
> look at the first line of the lcpi output, lspci (or the kernel?)
> doesn't seem to recognize the class of some other Intel device, that
> probably has nothing to do with the nvidia device at all. It's numeric
> class identification seems to be "0000" though (for unclassified?)
> 
> Could it be that in the piece of code below (from nvidia-detect), the
> device_class is zero because of that line, and nvidia-detect exits?
> 
> if (!dev->device_class) {
>      fprintf(stderr, "Error getting device_class\n");
>      ret = -1;
>      goto exit;
> }
> 

Yes, I totally missed that in your posted output earlier. You are 
correct, I never anticipated a device class of zero (unclassified 
device) when I wrote that error checking code, and indeed that is what 
is causing the error to be triggered. So it's a bug in the error 
checking code, nice catch!

Anyway, I've fixed it and am just waiting for our build systems to be 
available to rebuild and push a release for you (will be later today). 
I'll update the bug report once that is done, and perhaps you could then 
confirm it's working as expected for you.

Thanks again for the catch.

Phil