If firmware loading fails due to a missing file, log a second error
message referring to our wiki page about firmware. This will explain
why some firmware is in non-free, or can't be packaged at all. Only
do this once per boot.
Do something similar in the radeon and amdgpu drivers, where we have
an early check to avoid failing at a point where we cannot display
anything.
Gbp-Pq: Topic debian
Gbp-Pq: Name firmware_class-refer-to-debian-wiki-firmware-page.patch
}
__putname(path);
- if (rc)
+ if (rc) {
dev_err(device, "firmware: failed to load %s (%d)\n",
fw_priv->fw_name, rc);
+ if (rc == -ENOENT)
+ pr_err_once("See https://wiki.debian.org/Firmware for information about missing firmware\n");
+ }
return rc;
}
if (!amdgpu_firmware_installed()) {
DRM_ERROR("amdgpu requires firmware installed\n");
+ pr_err_once("See https://wiki.debian.org/Firmware for information about missing firmware\n");
return -ENODEV;
}
if ((ent->driver_data & RADEON_FAMILY_MASK) >= CHIP_R600 &&
!radeon_firmware_installed()) {
DRM_ERROR("radeon kernel modesetting for R600 or later requires firmware installed\n");
+ pr_err_once("See https://wiki.debian.org/Firmware for information about missing firmware\n");
return -ENODEV;
}