Commit c6e21e1683c2508a2b23588e1fc2e7bf6fc2549e

Authored by Hannes Reinecke
Committed by Greg Kroah-Hartman
1 parent 5823d100ae

[PATCH] PCI: Remove newline from pci MODALIAS variable

the pci core sends out a hotplug event variable MODALIAS with a trailing
newline. This is inconsistent with all other event variables and breaks
some hotplug tools. This patch removes the said newline.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Showing 1 changed file with 1 additions and 1 deletions Inline Diff

drivers/pci/hotplug.c
1 #include <linux/kernel.h> 1 #include <linux/kernel.h>
2 #include <linux/pci.h> 2 #include <linux/pci.h>
3 #include <linux/module.h> 3 #include <linux/module.h>
4 #include "pci.h" 4 #include "pci.h"
5 5
6 int pci_hotplug (struct device *dev, char **envp, int num_envp, 6 int pci_hotplug (struct device *dev, char **envp, int num_envp,
7 char *buffer, int buffer_size) 7 char *buffer, int buffer_size)
8 { 8 {
9 struct pci_dev *pdev; 9 struct pci_dev *pdev;
10 char *scratch; 10 char *scratch;
11 int i = 0; 11 int i = 0;
12 int length = 0; 12 int length = 0;
13 13
14 if (!dev) 14 if (!dev)
15 return -ENODEV; 15 return -ENODEV;
16 16
17 pdev = to_pci_dev(dev); 17 pdev = to_pci_dev(dev);
18 if (!pdev) 18 if (!pdev)
19 return -ENODEV; 19 return -ENODEV;
20 20
21 scratch = buffer; 21 scratch = buffer;
22 22
23 /* stuff we want to pass to /sbin/hotplug */ 23 /* stuff we want to pass to /sbin/hotplug */
24 envp[i++] = scratch; 24 envp[i++] = scratch;
25 length += scnprintf (scratch, buffer_size - length, "PCI_CLASS=%04X", 25 length += scnprintf (scratch, buffer_size - length, "PCI_CLASS=%04X",
26 pdev->class); 26 pdev->class);
27 if ((buffer_size - length <= 0) || (i >= num_envp)) 27 if ((buffer_size - length <= 0) || (i >= num_envp))
28 return -ENOMEM; 28 return -ENOMEM;
29 ++length; 29 ++length;
30 scratch += length; 30 scratch += length;
31 31
32 envp[i++] = scratch; 32 envp[i++] = scratch;
33 length += scnprintf (scratch, buffer_size - length, "PCI_ID=%04X:%04X", 33 length += scnprintf (scratch, buffer_size - length, "PCI_ID=%04X:%04X",
34 pdev->vendor, pdev->device); 34 pdev->vendor, pdev->device);
35 if ((buffer_size - length <= 0) || (i >= num_envp)) 35 if ((buffer_size - length <= 0) || (i >= num_envp))
36 return -ENOMEM; 36 return -ENOMEM;
37 ++length; 37 ++length;
38 scratch += length; 38 scratch += length;
39 39
40 envp[i++] = scratch; 40 envp[i++] = scratch;
41 length += scnprintf (scratch, buffer_size - length, 41 length += scnprintf (scratch, buffer_size - length,
42 "PCI_SUBSYS_ID=%04X:%04X", pdev->subsystem_vendor, 42 "PCI_SUBSYS_ID=%04X:%04X", pdev->subsystem_vendor,
43 pdev->subsystem_device); 43 pdev->subsystem_device);
44 if ((buffer_size - length <= 0) || (i >= num_envp)) 44 if ((buffer_size - length <= 0) || (i >= num_envp))
45 return -ENOMEM; 45 return -ENOMEM;
46 ++length; 46 ++length;
47 scratch += length; 47 scratch += length;
48 48
49 envp[i++] = scratch; 49 envp[i++] = scratch;
50 length += scnprintf (scratch, buffer_size - length, "PCI_SLOT_NAME=%s", 50 length += scnprintf (scratch, buffer_size - length, "PCI_SLOT_NAME=%s",
51 pci_name(pdev)); 51 pci_name(pdev));
52 if ((buffer_size - length <= 0) || (i >= num_envp)) 52 if ((buffer_size - length <= 0) || (i >= num_envp))
53 return -ENOMEM; 53 return -ENOMEM;
54 54
55 envp[i++] = scratch; 55 envp[i++] = scratch;
56 length += scnprintf (scratch, buffer_size - length, 56 length += scnprintf (scratch, buffer_size - length,
57 "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x\n", 57 "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x",
58 pdev->vendor, pdev->device, 58 pdev->vendor, pdev->device,
59 pdev->subsystem_vendor, pdev->subsystem_device, 59 pdev->subsystem_vendor, pdev->subsystem_device,
60 (u8)(pdev->class >> 16), (u8)(pdev->class >> 8), 60 (u8)(pdev->class >> 16), (u8)(pdev->class >> 8),
61 (u8)(pdev->class)); 61 (u8)(pdev->class));
62 if ((buffer_size - length <= 0) || (i >= num_envp)) 62 if ((buffer_size - length <= 0) || (i >= num_envp))
63 return -ENOMEM; 63 return -ENOMEM;
64 64
65 envp[i] = NULL; 65 envp[i] = NULL;
66 66
67 return 0; 67 return 0;
68 } 68 }
69 69