kasprintf combines kmalloc and sprintf, and takes care of the size
calculation itself.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        int result = 0;
        const struct firmware *fw;
        char *firmware_path;
-       static const char *prefix = "comedi/";
 
-       firmware_path = kmalloc(strlen(prefix) + strlen(name) + 1, GFP_KERNEL);
+       firmware_path = kasprintf(GFP_KERNEL, "comedi/%s", name);
        if (!firmware_path) {
                result = -ENOMEM;
        } else {
-               firmware_path[0] = '\0';
-               strcat(firmware_path, prefix);
-               strcat(firmware_path, name);
                result = request_firmware(&fw, firmware_path, &pcidev->dev);
                if (result == 0) {
                        if (!cb)