Call strlcpytolower() rather than copying the string explicitly and then walking it to convert it to lowercase.
Signed-off-by: Markus Mayer <mma...@broadcom.com> --- The semantics of the new function has changed, so this patch has been updated since v2 to match the new strlcpy() semantics (no explicit NULL terminating is required). See https://patchwork.kernel.org/patch/9215207/ for the previous version. drivers/gpu/drm/nouveau/nvkm/core/firmware.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/core/firmware.c b/drivers/gpu/drm/nouveau/nvkm/core/firmware.c index 34ecd4a..982601e 100644 --- a/drivers/gpu/drm/nouveau/nvkm/core/firmware.c +++ b/drivers/gpu/drm/nouveau/nvkm/core/firmware.c @@ -36,16 +36,9 @@ nvkm_firmware_get(struct nvkm_device *device, const char *fwname, { char f[64]; char cname[16]; - int i; /* Convert device name to lowercase */ - strncpy(cname, device->chip->name, sizeof(cname)); - cname[sizeof(cname) - 1] = '\0'; - i = strlen(cname); - while (i) { - --i; - cname[i] = tolower(cname[i]); - } + strlcpytolower(cname, device->chip->name, sizeof(cname)); snprintf(f, sizeof(f), "nvidia/%s/%s.bin", cname, fwname); return request_firmware(fw, f, device->dev); -- 2.7.4