public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] PCI Hotplug changes for 2.4.19-rc1-ac6
@ 2002-07-16 18:37 Greg KH
  0 siblings, 0 replies; only message in thread
From: Greg KH @ 2002-07-16 18:37 UTC (permalink / raw)
  To: Alan Cox, t-kouchi; +Cc: linux-kernel, pcihpd-discuss

Hi,

Here's a patch against 2.4.19-rc1-ac6 that fixes a bug in the PCI core
for PCI hotplug drivers.  When pci_scan_slot() is called,
pci_name_device() can eventually be called, which uses data declared as
__initdata, instead of __devinitdata.  This patch from Takayoshi KOCHI
<t-kouchi@mvf.biglobe.ne.jp> fixes this problem (thanks also to him for
finding the bug in the first place.)

thanks,

greg k-h

diff -Nru a/drivers/pci/names.c b/drivers/pci/names.c
--- a/drivers/pci/names.c	Tue Jul 16 11:27:01 2002
+++ b/drivers/pci/names.c	Tue Jul 16 11:27:01 2002
@@ -32,18 +32,18 @@
  * real memory.. Parse the same file multiple times
  * to get all the info.
  */
-#define VENDOR( vendor, name )		static char __vendorstr_##vendor[] __initdata = name;
+#define VENDOR( vendor, name )		static char __vendorstr_##vendor[] __devinitdata = name;
 #define ENDVENDOR()
-#define DEVICE( vendor, device, name ) 	static char __devicestr_##vendor##device[] __initdata = name;
+#define DEVICE( vendor, device, name ) 	static char __devicestr_##vendor##device[] __devinitdata = name;
 #include "devlist.h"
 
 
-#define VENDOR( vendor, name )		static struct pci_device_info __devices_##vendor[] __initdata = {
+#define VENDOR( vendor, name )		static struct pci_device_info __devices_##vendor[] __devinitdata = {
 #define ENDVENDOR()			};
 #define DEVICE( vendor, device, name )	{ 0x##device, 0, __devicestr_##vendor##device },
 #include "devlist.h"
 
-static struct pci_vendor_info __initdata pci_vendor_list[] = {
+static struct pci_vendor_info __devinitdata pci_vendor_list[] = {
 #define VENDOR( vendor, name )		{ 0x##vendor, sizeof(__devices_##vendor) / sizeof(struct pci_device_info), __vendorstr_##vendor, __devices_##vendor },
 #define ENDVENDOR()
 #define DEVICE( vendor, device, name )
@@ -121,7 +121,7 @@
 
 #else
 
-void __init pci_name_device(struct pci_dev *dev)
+void __devinit pci_name_device(struct pci_dev *dev)
 {
 }
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-07-16 18:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-16 18:37 [PATCH] PCI Hotplug changes for 2.4.19-rc1-ac6 Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox