diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 19 | 
1 files changed, 12 insertions, 7 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index 99f4df133ed3..d30dc0b718c7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c @@ -839,7 +839,7 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  		memcpy(&dev_info->cu_ao_bitmap[0], &adev->gfx.cu_info.ao_cu_bitmap[0],  		       sizeof(adev->gfx.cu_info.ao_cu_bitmap));  		memcpy(&dev_info->cu_bitmap[0], &adev->gfx.cu_info.bitmap[0], -		       sizeof(adev->gfx.cu_info.bitmap)); +		       sizeof(dev_info->cu_bitmap));  		dev_info->vram_type = adev->gmc.vram_type;  		dev_info->vram_bit_width = adev->gmc.vram_width;  		dev_info->vce_harvest_config = adev->vce.harvest_config; @@ -940,12 +940,17 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  			struct atom_context *atom_context;  			atom_context = adev->mode_info.atom_context; -			memcpy(vbios_info.name, atom_context->name, sizeof(atom_context->name)); -			memcpy(vbios_info.vbios_pn, atom_context->vbios_pn, sizeof(atom_context->vbios_pn)); -			vbios_info.version = atom_context->version; -			memcpy(vbios_info.vbios_ver_str, atom_context->vbios_ver_str, -						sizeof(atom_context->vbios_ver_str)); -			memcpy(vbios_info.date, atom_context->date, sizeof(atom_context->date)); +			if (atom_context) { +				memcpy(vbios_info.name, atom_context->name, +				       sizeof(atom_context->name)); +				memcpy(vbios_info.vbios_pn, atom_context->vbios_pn, +				       sizeof(atom_context->vbios_pn)); +				vbios_info.version = atom_context->version; +				memcpy(vbios_info.vbios_ver_str, atom_context->vbios_ver_str, +				       sizeof(atom_context->vbios_ver_str)); +				memcpy(vbios_info.date, atom_context->date, +				       sizeof(atom_context->date)); +			}  			return copy_to_user(out, &vbios_info,  						min((size_t)size, sizeof(vbios_info))) ? -EFAULT : 0; | 
