drm/radeon/si: make sure mc ucode is loaded before checking the size
Avoid a possible segfault. Noticed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
This commit is contained in:
parent
f8a2645ece
commit
8c79bae6a3
@ -1472,11 +1472,13 @@ int si_mc_load_microcode(struct radeon_device *rdev)
|
|||||||
const __be32 *fw_data;
|
const __be32 *fw_data;
|
||||||
u32 running, blackout = 0;
|
u32 running, blackout = 0;
|
||||||
u32 *io_mc_regs;
|
u32 *io_mc_regs;
|
||||||
int i, regs_size, ucode_size = rdev->mc_fw->size / 4;
|
int i, regs_size, ucode_size;
|
||||||
|
|
||||||
if (!rdev->mc_fw)
|
if (!rdev->mc_fw)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
ucode_size = rdev->mc_fw->size / 4;
|
||||||
|
|
||||||
switch (rdev->family) {
|
switch (rdev->family) {
|
||||||
case CHIP_TAHITI:
|
case CHIP_TAHITI:
|
||||||
io_mc_regs = (u32 *)&tahiti_io_mc_regs;
|
io_mc_regs = (u32 *)&tahiti_io_mc_regs;
|
||||||
|
Loading…
Reference in New Issue
Block a user