Skip to contentSkip to conversation

fix SMI and proc cleanup

PATCH Applied Jan Kiszka 2 participants 2 messages Nov 30, 2005

lore
Share & tools
lore

Jan Kiszka

author
#0 lore raw

PATCH 1/1 fix SMI and proc cleanup

Hi,

the smaller the bug is, the longer it takes to track. The first one in this patch was such an issue. It prevented the SMI workaround to do its job because the related PCI ID table got "optimised" away (SVN trunk only).

The second one is also SVN-only. It fixes the proc-fs cleanup of the nucleus when being used as a module.

I also removed some special character from a name in the ChangeLog.

Please apply!

Jan

ChangeLog +9 -1
Index: ChangeLog
===================================================================
@@ -1,3 +1,11 @@
+2005-11-30  Jan Kiszka <[email protected]>
+
+	* ksrc/arch/i386/smi.c: Remove __initdata from rthal_smi_pci_tbl
+	to make table persistent.
+
+	* ksrc/nucleus/module.c (__xeno_sys_exit): Reorder proc-fs
+	cleanup to avoid stalled entries.
+
 2005-11-29  Philippe Gerum  <[email protected]>
 
 	* ksrc/nucleus/pipe.c (xnpipe_recv): Remove superfluous timeout
@@ -623,7 +631,7 @@
 
 	* nucleus/module.c: Revamp /proc/xenomai/{sched,stat} output format.
 
-2005-08-31  St�phane Fillod  <[email protected]>
+2005-08-31  Stephane Fillod  <[email protected]>
 
 	* skins/rtai/fifo.c (__fifo_pkg_init): fix missing init of flush
 	queue handles.
arch/i386/smi.c +1 -1
Index: ksrc/arch/i386/smi.c
===================================================================
@@ -31,7 +31,7 @@
 #include <linux/reboot.h>
 #include <asm/xenomai/smi.h>
 
-static struct pci_device_id rthal_smi_pci_tbl[] __initdata = {
+static struct pci_device_id rthal_smi_pci_tbl[] = {
 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0) },
 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AB_0) },
 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0) },
nucleus/module.c +4 -3
Index: ksrc/nucleus/module.c
===================================================================
@@ -817,6 +817,10 @@
 {
     xnpod_shutdown(XNPOD_NORMAL_EXIT);
 
+#if defined(__KERNEL__) && defined(CONFIG_PROC_FS)
+    xnpod_delete_proc();
+#endif /* __KERNEL__ && CONFIG_PROC_FS */
+
     xnarch_exit();
 
 #ifdef __KERNEL__
@@ -830,9 +834,6 @@
 #ifdef CONFIG_LTT
     xnltt_umount();
 #endif /* CONFIG_LTT */
-#ifdef CONFIG_PROC_FS
-    xnpod_delete_proc();
-#endif /* CONFIG_PROC_FS */
 #endif /* __KERNEL__ */
 
     if (nkmsgbuf)
#1 lore raw
Quoted 5 lines · Jan Kiszka

Hi,

the smaller the bug is, the longer it takes to track. The first one in this patch was such an issue. It prevented the SMI workaround to do its job because the related PCI ID table got "optimised" away (SVN trunk only).

Good catch. Fact is that this table must survive free_initmem() now since we want to enable the SMI watchdog only when the nucleus is actually running a real-time interface.

Quoted 8 lines

The second one is also SVN-only. It fixes the proc-fs cleanup of the nucleus when being used as a module.

I also removed some special character from a name in the ChangeLog.

Please apply!

Applied, thanks.

Quoted 78 lines

Jan

------------------------------------------------------------------------

Index: ChangeLog
===================================================================

ChangeLog +9 -1
@@ -1,3 +1,11 @@
+2005-11-30  Jan Kiszka <[email protected]>
+
+	* ksrc/arch/i386/smi.c: Remove __initdata from rthal_smi_pci_tbl
+	to make table persistent.
+
+	* ksrc/nucleus/module.c (__xeno_sys_exit): Reorder proc-fs
+	cleanup to avoid stalled entries.
+
 2005-11-29  Philippe Gerum  <[email protected]>
 
 	* ksrc/nucleus/pipe.c (xnpipe_recv): Remove superfluous timeout
@@ -623,7 +631,7 @@
 
 	* nucleus/module.c: Revamp /proc/xenomai/{sched,stat} output format.
 
-2005-08-31  Stéphane Fillod  <[email protected]>
+2005-08-31  Stephane Fillod  <[email protected]>
 
 	* skins/rtai/fifo.c (__fifo_pkg_init): fix missing init of flush
 	queue handles.

Index: ksrc/arch/i386/smi.c
===================================================================

arch/i386/smi.c +1 -1
@@ -31,7 +31,7 @@
 #include <linux/reboot.h>
 #include <asm/xenomai/smi.h>
 
-static struct pci_device_id rthal_smi_pci_tbl[] __initdata = {
+static struct pci_device_id rthal_smi_pci_tbl[] = {
 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0) },
 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AB_0) },
 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0) },

Index: ksrc/nucleus/module.c
===================================================================

nucleus/module.c +4 -4
@@ -817,6 +817,10 @@
 {
     xnpod_shutdown(XNPOD_NORMAL_EXIT);
 
+#if defined(__KERNEL__) && defined(CONFIG_PROC_FS)
+    xnpod_delete_proc();
+#endif /* __KERNEL__ && CONFIG_PROC_FS */
+
     xnarch_exit();
 
 #ifdef __KERNEL__
@@ -830,9 +834,6 @@
 #ifdef CONFIG_LTT
     xnltt_umount();
 #endif /* CONFIG_LTT */
-#ifdef CONFIG_PROC_FS
-    xnpod_delete_proc();
-#endif /* CONFIG_PROC_FS */
 #endif /* __KERNEL__ */
 
     if (nkmsgbuf)
 
 
 
------------------------------------------------------------------------

_______________________________________________
Xenomai-core mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-core

Signature · 1 line
Philippe.