mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-03 15:55:38 +00:00
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
1 changed files with 3 additions and 1 deletions
|
@ -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…
Add table
Reference in a new issue