| From d83671126dc8e7c0b56c9970ea5ffd08c3b0c645 Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Wed, 16 Oct 2013 11:36:30 -0400 |
| Subject: drm/radeon: make missing smc ucode non-fatal (r7xx-SI) |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit d83671126dc8e7c0b56c9970ea5ffd08c3b0c645 upstream. |
| |
| Prevent driver load problems if the smc is missing. |
| |
| bug: |
| https://bugzilla.kernel.org/show_bug.cgi?id=63011 |
| |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Tested-by: Mikko Rapeli <mikko.rapeli@iki.fi> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/radeon/ni.c | 1 + |
| drivers/gpu/drm/radeon/r600.c | 1 + |
| drivers/gpu/drm/radeon/si.c | 1 + |
| 3 files changed, 3 insertions(+) |
| |
| --- a/drivers/gpu/drm/radeon/ni.c |
| +++ b/drivers/gpu/drm/radeon/ni.c |
| @@ -800,6 +800,7 @@ int ni_init_microcode(struct radeon_devi |
| fw_name); |
| release_firmware(rdev->smc_fw); |
| rdev->smc_fw = NULL; |
| + err = 0; |
| } else if (rdev->smc_fw->size != smc_req_size) { |
| printk(KERN_ERR |
| "ni_mc: Bogus length %zu in firmware \"%s\"\n", |
| --- a/drivers/gpu/drm/radeon/r600.c |
| +++ b/drivers/gpu/drm/radeon/r600.c |
| @@ -2310,6 +2310,7 @@ int r600_init_microcode(struct radeon_de |
| fw_name); |
| release_firmware(rdev->smc_fw); |
| rdev->smc_fw = NULL; |
| + err = 0; |
| } else if (rdev->smc_fw->size != smc_req_size) { |
| printk(KERN_ERR |
| "smc: Bogus length %zu in firmware \"%s\"\n", |
| --- a/drivers/gpu/drm/radeon/si.c |
| +++ b/drivers/gpu/drm/radeon/si.c |
| @@ -1669,6 +1669,7 @@ static int si_init_microcode(struct rade |
| fw_name); |
| release_firmware(rdev->smc_fw); |
| rdev->smc_fw = NULL; |
| + err = 0; |
| } else if (rdev->smc_fw->size != smc_req_size) { |
| printk(KERN_ERR |
| "si_smc: Bogus length %zu in firmware \"%s\"\n", |