diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 3494bff..ea4652b 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -79,7 +79,7 @@ ccw_uevent (struct device *dev, char **e { struct ccw_device *cdev = to_ccwdev(dev); int i = 0; - int length = 0; + int length = 0, tmp_length = 0; if (!cdev) return -ENODEV; @@ -120,8 +120,8 @@ ccw_uevent (struct device *dev, char **e buffer += length; envp[i++] = buffer; - length += scnprintf(buffer, buffer_size - length, "MODALIAS="); - length += modalias_print(cdev, buffer + length, buffer_size - length); + length += tmp_length = scnprintf(buffer, buffer_size - length, "MODALIAS="); + length += modalias_print(cdev, buffer + tmp_length, buffer_size - length); if ((buffer_size - length <= 0) || (i >= num_envp)) return -ENOMEM;