63 lines
2.1 KiB
Diff
63 lines
2.1 KiB
Diff
|
## Upstream status: pending
|
||
|
|
||
|
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
|
||
|
index ea4652b..5f07dd0 100644
|
||
|
--- a/drivers/s390/cio/device.c
|
||
|
+++ b/drivers/s390/cio/device.c
|
||
|
@@ -85,43 +85,19 @@ ccw_uevent (struct device *dev, char **e
|
||
|
return -ENODEV;
|
||
|
|
||
|
/* what we want to pass to /sbin/hotplug */
|
||
|
-
|
||
|
- envp[i++] = buffer;
|
||
|
- length += scnprintf(buffer, buffer_size - length, "CU_TYPE=%04X",
|
||
|
- cdev->id.cu_type);
|
||
|
- if ((buffer_size - length <= 0) || (i >= num_envp))
|
||
|
- return -ENOMEM;
|
||
|
- ++length;
|
||
|
- buffer += length;
|
||
|
-
|
||
|
- envp[i++] = buffer;
|
||
|
- length += scnprintf(buffer, buffer_size - length, "CU_MODEL=%02X",
|
||
|
- cdev->id.cu_model);
|
||
|
- if ((buffer_size - length <= 0) || (i >= num_envp))
|
||
|
- return -ENOMEM;
|
||
|
- ++length;
|
||
|
- buffer += length;
|
||
|
-
|
||
|
+ add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &length,
|
||
|
+ "CU_TYPE=%04X", cdev->id.cu_type);
|
||
|
+ add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &length,
|
||
|
+ "CU_MODEL=%02X", cdev->id.cu_model);
|
||
|
/* The next two can be zero, that's ok for us */
|
||
|
- envp[i++] = buffer;
|
||
|
- length += scnprintf(buffer, buffer_size - length, "DEV_TYPE=%04X",
|
||
|
- cdev->id.dev_type);
|
||
|
- if ((buffer_size - length <= 0) || (i >= num_envp))
|
||
|
- return -ENOMEM;
|
||
|
- ++length;
|
||
|
- buffer += length;
|
||
|
-
|
||
|
- envp[i++] = buffer;
|
||
|
- length += scnprintf(buffer, buffer_size - length, "DEV_MODEL=%02X",
|
||
|
- cdev->id.dev_model);
|
||
|
- if ((buffer_size - length <= 0) || (i >= num_envp))
|
||
|
- return -ENOMEM;
|
||
|
- ++length;
|
||
|
- buffer += length;
|
||
|
-
|
||
|
- envp[i++] = buffer;
|
||
|
- length += tmp_length = scnprintf(buffer, buffer_size - length, "MODALIAS=");
|
||
|
- length += modalias_print(cdev, buffer + tmp_length, buffer_size - length);
|
||
|
+ add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &length,
|
||
|
+ "DEV_TYPE=%04X", cdev->id.dev_type);
|
||
|
+ add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &length,
|
||
|
+ "DEV_MODEL=%02X", cdev->id.dev_model);
|
||
|
+
|
||
|
+ envp[i++] = buffer + length;
|
||
|
+ length += scnprintf(buffer + length, buffer_size - length, "MODALIAS=");
|
||
|
+ length += modalias_print(cdev, buffer + length, buffer_size - length);
|
||
|
if ((buffer_size - length <= 0) || (i >= num_envp))
|
||
|
return -ENOMEM;
|
||
|
|