]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/radeon: make missing smc ucode non-fatal (r7xx-SI)
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 16 Oct 2013 15:36:30 +0000 (11:36 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Nov 2013 03:08:11 +0000 (12:08 +0900)
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
drivers/gpu/drm/radeon/r600.c
drivers/gpu/drm/radeon/si.c

index fc55256abda0fc0c15d38ae0ff5fa60375a595c7..263d14bc73d7af3a7b06443dba5d27711ffde239 100644 (file)
@@ -800,6 +800,7 @@ int ni_init_microcode(struct radeon_device *rdev)
                               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",
index 739ffbe265ccb4b34edd69c7d05fe67e262e853c..c2d7eb64eb145758afef6d02409e84c55a6f78b1 100644 (file)
@@ -2310,6 +2310,7 @@ int r600_init_microcode(struct radeon_device *rdev)
                               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",
index 7af2113378a8ef34e7928881f153ad359c541b42..bf1fcb60b4dc7eba4528cb285f103466b0113bf2 100644 (file)
@@ -1669,6 +1669,7 @@ static int si_init_microcode(struct radeon_device *rdev)
                       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",