Hello community,
here is the log from the commit of package kernel-source
checked in at Fri Mar 31 15:44:40 CEST 2006.
--------
--- kernel-source/kernel-bigsmp.changes 2006-03-28 13:01:55.000000000 +0200
+++ kernel-source/kernel-bigsmp.changes 2006-03-31 12:03:08.000000000 +0200
@@ -1,0 +2,101 @@
+Fri Mar 31 11:03:19 CEST 2006 - olh@suse.de
+
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+
+-------------------------------------------------------------------
+Fri Mar 31 09:39:07 CEST 2006 - hare@suse.de
+
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+
+-------------------------------------------------------------------
+Fri Mar 31 08:37:22 CEST 2006 - hare@suse.de
+
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+
+-------------------------------------------------------------------
+Thu Mar 30 16:49:45 CEST 2006 - ak@suse.de
+
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+
+-------------------------------------------------------------------
+Thu Mar 30 15:56:09 CEST 2006 - hare@suse.de
+
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+
+-------------------------------------------------------------------
+Thu Mar 30 14:30:12 CEST 2006 - olh@suse.de
+
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+
+-------------------------------------------------------------------
+Thu Mar 30 13:58:47 CEST 2006 - hare@suse.de
+
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+
+-------------------------------------------------------------------
+Wed Mar 29 20:39:43 CEST 2006 - okir@suse.de
+
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+
+-------------------------------------------------------------------
+Wed Mar 29 15:26:34 CEST 2006 - schwab@suse.de
+
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+
+-------------------------------------------------------------------
+Wed Mar 29 11:33:35 CEST 2006 - hare@suse.de
+
+- mark initio 9100 as unsupported (#160794)
+
+-------------------------------------------------------------------
+Tue Mar 28 20:01:39 CEST 2006 - ak@suse.de
+
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+
+-------------------------------------------------------------------
+Tue Mar 28 18:12:35 CEST 2006 - schwab@suse.de
+
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+
+-------------------------------------------------------------------
+Tue Mar 28 15:55:40 CEST 2006 - hare@suse.de
+
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+
+-------------------------------------------------------------------
+Tue Mar 28 15:19:23 CEST 2006 - jbohac@suse.cz
+
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
+
+-------------------------------------------------------------------
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-dummy.changes: same change
kernel-iseries64.changes: same change
kernel-kdump.changes: same change
kernel-ppc64.changes: same change
kernel-s390.changes: same change
kernel-smp.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-um.changes: same change
kernel-xen.changes: same change
kernel-xenpae.changes: same change
New:
----
needed_space_in_mb
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-bigsmp.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:23.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:23.000000000 +0200
@@ -21,7 +21,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 7
+Release: 8
Summary: Kernel with Multiprocessor Support and PAE
License: GPL
Group: System/Kernel
@@ -115,7 +115,7 @@
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -441,6 +441,65 @@
%files -f kernel.files
%changelog -n kernel-bigsmp
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:23.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:23.000000000 +0200
@@ -21,7 +21,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 7
+Release: 8
Summary: A Debug Version of the Kernel
License: GPL
Group: System/Kernel
@@ -120,7 +120,7 @@
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -446,6 +446,65 @@
%files -f kernel.files
%changelog -n kernel-debug
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:23.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:23.000000000 +0200
@@ -21,7 +21,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 7
+Release: 8
Summary: The Standard Kernel
License: GPL
Group: System/Kernel
@@ -138,7 +138,7 @@
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -464,6 +464,65 @@
%files -f kernel.files
%changelog -n kernel-default
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-dummy.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:23.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:23.000000000 +0200
@@ -17,7 +17,7 @@
Summary: Internal dummy package for synchronizing release numbers
Group: System/Kernel
Version: 2.6.16
-Release: 7
+Release: 8
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -27,7 +27,7 @@
--------
Andreas Gruenbacher
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%install
@@ -40,6 +40,65 @@
/etc/dummy
%changelog -n kernel-dummy
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-iseries64.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:23.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:23.000000000 +0200
@@ -21,7 +21,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 6
+Release: 7
Summary: 64-Bit Kernel for iSeries
License: GPL
Group: System/Kernel
@@ -116,7 +116,7 @@
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -442,6 +442,65 @@
%files -f kernel.files
%changelog -n kernel-iseries64
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-kdump.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:23.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:23.000000000 +0200
@@ -21,7 +21,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 7
+Release: 8
Summary: kernel for kdump
License: GPL
Group: System/Kernel
@@ -125,7 +125,7 @@
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -451,6 +451,65 @@
%files -f kernel.files
%changelog -n kernel-kdump
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-ppc64.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:23.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:23.000000000 +0200
@@ -20,7 +20,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 6
+Release: 7
Summary: Kernel for ppc64 Systems
License: GPL, LGPL
Group: System/Kernel
@@ -130,7 +130,7 @@
Tom Gall
see /usr/src/linux-pmac-benh/CREDITS for more details.
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -456,6 +456,65 @@
%files -f kernel.files
%changelog -n kernel-ppc64
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-s390.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:24.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:24.000000000 +0200
@@ -21,7 +21,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 6
+Release: 7
Summary: The Standard Kernel
License: GPL
Group: System/Kernel
@@ -113,7 +113,7 @@
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -439,6 +439,65 @@
%files -f kernel.files
%changelog -n kernel-s390
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-smp.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:24.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:24.000000000 +0200
@@ -21,7 +21,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 7
+Release: 8
Summary: Kernel with Multiprocessor Support
License: GPL
Group: System/Kernel
@@ -124,7 +124,7 @@
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -450,6 +450,65 @@
%files -f kernel.files
%changelog -n kernel-smp
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:24.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:24.000000000 +0200
@@ -25,7 +25,7 @@
%endif
PreReq: /sbin/insserv /usr/bin/grep /bin/sed /bin/uname /bin/mkdir /bin/cat /bin/ln /bin/rm /etc/rc.status
Version: 2.6.16
-Release: 7
+Release: 8
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2
Source1: functions.sh
Source2: source-post.sh
@@ -93,7 +93,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -273,6 +273,65 @@
%files -f kernel-source.files
%changelog -n kernel-source
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:24.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:24.000000000 +0200
@@ -49,7 +49,7 @@
Summary: Kernel Symbol Versions (modversions)
Group: Development/Sources
Version: 2.6.16
-Release: 7
+Release: 8
Requires: linux
Requires: kernel-source = 2.6.16-%release
Source11: arch-symbols
@@ -84,7 +84,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%install
@@ -127,6 +127,65 @@
/boot/symsets-*-*.tar.gz
%changelog -n kernel-syms
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
++++++ kernel-um.spec ++++++
--- /var/tmp/diff_new_pack.SPEMwy/_old 2006-03-31 15:40:24.000000000 +0200
+++ /var/tmp/diff_new_pack.SPEMwy/_new 2006-03-31 15:40:24.000000000 +0200
@@ -21,7 +21,7 @@
BuildRequires: python
%endif
Version: 2.6.16
-Release: 7
+Release: 8
Summary: The User Mode Linux kernel.
License: GPL
Group: System/Kernel
@@ -116,7 +116,7 @@
-Source Timestamp: 2006-03-28 11:00:06 +0000
+Source Timestamp: 2006-03-31 09:19:02 +0000
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -442,6 +442,65 @@
%files -f kernel.files
%changelog -n kernel-um
+* Fri Mar 31 2006 - olh@suse.de
+- add patches.arch/ppc-pseries-lparcfg-1.7.patch
+ pass correct databuf size to ibm,get-system-parameter (162380 - LTC22746)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/msi-save-restore-for-suspend-resume.patch
+ Restore MSI(X) settings after resume (#162090)
+* Fri Mar 31 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Disable broken patch (#162272)
+* Thu Mar 30 2006 - ak@suse.de
+- patches.arch/x86_64-mce-nmi-watchdog: Don't run NMI watchdog
+ during machine checks (156566 155726).
+- patches.arch/i386-kexec-apic-ack: [PATCH] i386 kdump timer
+ vector lockup fix.
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ Fix patch to correctly enable interrupts for
+ the last drive only.
+* Thu Mar 30 2006 - olh@suse.de
+- add patches.arch/ppc-SA_ONSTACK-fix.patch
+ fix incorrect SA_ONSTACK behaviour for 64-bit processes
+- add patches.arch/ppc-protect-remove_proc_entry.patch
+ protect remove_proc_entry with spinlock
+- add patches.arch/ppc-device-tree-dupnodes.patch
+ handle duplicate device-tree dirnames (156292 - LTC22290)
+- add patches.arch/ppc-hvc_console-init-race.patch
+ fix race condition when opening hvc console
+- add patches.arch/ppc-iseries-systemid.patch
+ provide /model and /compatible in device-tree
+- update patches.arch/ppc-prom_panic-trap.patch
+ trap only on pmac
+* Thu Mar 30 2006 - hare@suse.de
+- patches.fixes/ahci-init-on-resume
+ We should initialize ahci after resume (#157619)
+* Wed Mar 29 2006 - okir@suse.de
+- patches.suse/delayacct-perf-fix: Minor delayacct performance
+ fixes (141936 - LTC20517 - LDP 11943).
+* Wed Mar 29 2006 - schwab@suse.de
+- sn-hwperf-geoid-to-cnode-loop: fix for-loop in sn_hwperf_geoid_to_cnode
+ [#161052].
+* Wed Mar 29 2006 - hare@suse.de
+- mark initio 9100 as unsupported (#160794)
+* Tue Mar 28 2006 - ak@suse.de
+- patches.arch/i386-bigsmp-noirqbalance: Disable kernel irq
+ balancer on bigsmp. (160473).
+* Tue Mar 28 2006 - schwab@suse.de
+- ixgb-consistent-dma-mask: Use pci_set_consistent_dma_mask.
+* Tue Mar 28 2006 - hare@suse.de
+- patches.fixes/dm_check_device_area.diff
+ Allow for setting of table on devices with i_size zero
+ (#158777 - LTC22470)
+- patches.arch/s390-raw-device
+ Build raw devices for S/390 (#160490 - LTC22659)
+- Update config files.
+- patches.arch/s390-qeth-vipa-fix
+ qethconf not adding VIPA entries (#160481 - LTC22637).
+* Tue Mar 28 2006 - jbohac@suse.cz
+- patches.fixes/xfrm-endless-loop: Updated. Now uses a timeout instead
+ of a fixed loop counter (117749, 115200).
* Tue Mar 28 2006 - lmb@suse.de
- patches.suse/kdb-x86_64: Dummy define for kdba_wait_for_cpus() to
compile kernel-debug on x86_64 successfully.
kernel-xen.spec: same change
kernel-xenpae.spec: same change
++++++ build-source-timestamp ++++++
--- kernel-source/build-source-timestamp 2006-03-28 13:01:49.000000000 +0200
+++ kernel-source/build-source-timestamp 2006-03-31 12:03:04.000000000 +0200
@@ -1 +1 @@
-2006-03-28 11:00:06 +0000
+2006-03-31 09:19:02 +0000
++++++ config.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/config/s390/default new/config/s390/default
--- old/config/s390/default 2006-03-28 12:42:38.000000000 +0200
+++ new/config/s390/default 2006-03-28 16:06:02.000000000 +0200
@@ -475,12 +475,6 @@
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
# CONFIG_PCMCIA is not set
#
@@ -492,6 +486,12 @@
# CONFIG_DEBUG_DRIVER is not set
#
+# Connector - unified userspace <-> kernelspace linker
+#
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+
+#
# SCSI device support
#
CONFIG_RAID_ATTRS=m
@@ -587,6 +587,8 @@
#
# Character device drivers
#
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=4096
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=2048
CONFIG_HANGCHECK_TIMER=m
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/config/s390/s390 new/config/s390/s390
--- old/config/s390/s390 2006-03-28 12:42:38.000000000 +0200
+++ new/config/s390/s390 2006-03-28 16:05:56.000000000 +0200
@@ -471,12 +471,6 @@
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
# CONFIG_PCMCIA is not set
#
@@ -488,6 +482,12 @@
# CONFIG_DEBUG_DRIVER is not set
#
+# Connector - unified userspace <-> kernelspace linker
+#
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+
+#
# SCSI device support
#
CONFIG_RAID_ATTRS=m
@@ -583,6 +583,8 @@
#
# Character device drivers
#
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=4096
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=2048
CONFIG_HANGCHECK_TIMER=m
++++++ kabi.tar.bz2 ++++++
++++++ minmem ++++++
--- kernel-source/minmem 2006-03-28 13:17:53.000000000 +0200
+++ kernel-source/minmem 2006-03-31 12:03:17.000000000 +0200
@@ -1 +1 @@
-514000
+1048576
++++++ novell-kmp.tar.bz2 ++++++
++++++ patches.arch.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/i386-bigsmp-noirqbalance new/patches.arch/i386-bigsmp-noirqbalance
--- old/patches.arch/i386-bigsmp-noirqbalance 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/i386-bigsmp-noirqbalance 2006-03-28 20:01:49.000000000 +0200
@@ -0,0 +1,22 @@
+From: Venkatesh Pallipadi
+Subject: Disable kernel irq balancer on bigsmp.
+References: 160473
+Acked-by: ak@suse.de
+
+Disable kernel irq balancer on bigsmp. Kernel irq \balancer only works with
+default less than 8 CPU mode and does not yet handle physical mode.
+
+Signed-off-by: Venkatesh Pallipadi
+
+diff -purN linux-2.6.16-rc6-git1-4-org/include/asm-i386/mach-bigsmp/mach_apic.h linux-2.6.16-rc6-git1-4/include/asm/mach-bigsmp/mach_apic.h
+--- linux-2.6.16-rc6-git1-4-org/include/asm-i386/mach-bigsmp/mach_apic.h 2006-03-14 10:47:31.000000000 -0800
++++ linux-2.6.16-rc6-git1-4/include/asm-i386/mach-bigsmp/mach_apic.h 2006-03-27 16:36:00.000000000 -0800
+@@ -31,7 +31,7 @@ static inline cpumask_t target_cpus(void
+ #define APIC_DFR_VALUE (APIC_DFR_FLAT)
+ #define INT_DELIVERY_MODE (dest_Fixed)
+ #define INT_DEST_MODE (0) /* phys delivery to target proc */
+-#define NO_BALANCE_IRQ (0)
++#define NO_BALANCE_IRQ (1)
+ #define WAKE_SECONDARY_VIA_INIT
+
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/i386-kexec-apic-ack new/patches.arch/i386-kexec-apic-ack
--- old/patches.arch/i386-kexec-apic-ack 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/i386-kexec-apic-ack 2006-03-30 16:49:55.000000000 +0200
@@ -0,0 +1,91 @@
+From: Vivek Goyal
+Subject: [PATCH] i386 kdump timer vector lockup fix
+Acked-by: ak@suse.de
+
+Porting the patch I posted for x86_64 to i386.
+
+http://marc.theaimsgroup.com/?l=linux-kernel&m=114178139610707&w=2
+
+
+
+o While using kdump, after a system crash when second kernel boots, timer
+ vector gets (0x31) locked and CPU does not see timer interrupts
+ travelling from IOAPIC to APIC. Currently it does not lead to boot
+ failure in second kernel as timer interrupts continues to come as ExtInt
+ through LAPIC directly, but fixing it is good in case some boards do
+ not support the other mode.
+
+o After a system crash, it is not safe to service interrupts any more, hence
+ interrupts are disabled. This leads to pending interrupts at LAPIC. LAPIC
+ sends these interrupts to the CPU during early boot of second kernel. Other
+ pending interrupts are discarded saying unexpected trap but timer interrupt
+ is serviced and CPU does not issue an LAPIC EOI because it think this
+ interrupt came from i8259 and sends ack to 8259. This leads to vector 0x31
+ locking as LAPIC does not clear respective ISR and keeps on waiting for
+ EOI.
+
+o This patch issues extra EOI for the pending interrupts who have ISR set.
+
+o Though today only timer seems to be the special case because in early
+ boot it thinks interrupts are coming from i8259 and uses
+ mask_and_ack_8259A() as ack handler and does not issue LAPIC EOI. But
+ probably doing it in generic manner for all vectors makes sense.
+
+Signed-off-by: Vivek Goyal
+---
+
+ arch/i386/kernel/apic.c | 20 ++++++++++++++++++++
+ include/asm-i386/apicdef.h | 1 +
+ 2 files changed, 21 insertions(+)
+
+diff -puN arch/i386/kernel/apic.c~i386-kdump-timer-vector-lockup-fix arch/i386/kernel/apic.c
+--- linux-2.6.16-mm1-16M/arch/i386/kernel/apic.c~i386-kdump-timer-vector-lockup-fix 2006-03-27 16:03:27.000000000 -0500
++++ linux-2.6.16-mm1-16M-root/arch/i386/kernel/apic.c 2006-03-27 16:03:27.000000000 -0500
+@@ -415,6 +415,7 @@ void __init init_bsp_APIC(void)
+ void __devinit setup_local_APIC(void)
+ {
+ unsigned long oldvalue, value, ver, maxlvt;
++ int i, j;
+
+ /* Pound the ESR really hard over the head with a big hammer - mbligh */
+ if (esr_disable) {
+@@ -452,6 +453,25 @@ void __devinit setup_local_APIC(void)
+ apic_write_around(APIC_TASKPRI, value);
+
+ /*
++ * After a crash, we no longer service the interrupts and a pending
++ * interrupt from previous kernel might still have ISR bit set.
++ *
++ * Most probably by now CPU has serviced that pending interrupt and
++ * it might not have done the ack_APIC_irq() because it thought,
++ * interrupt came from i8259 as ExtInt. LAPIC did not get EOI so it
++ * does not clear the ISR bit and cpu thinks it has already serivced
++ * the interrupt. Hence a vector might get locked. It was noticed
++ * for timer irq (vector 0x31). Issue an extra EOI to clear ISR.
++ */
++ for (i = APIC_ISR_NR - 1; i >= 0; i--) {
++ value = apic_read(APIC_ISR + i*0x10);
++ for (j = 31; j >= 0; j--) {
++ if (value & (1< Mon, 27 Mar 2006 11:37:41 +0200
+Subject: [PATCH] powerpc: fix incorrect SA_ONSTACK behaviour for 64-bit processes
+X-Git-Commit: 11089f08d9dd8b89cd07d6f126ccb4849e3c61a3
+Patch-mainline: 2.6.17-rc1
+
+*) When setting a sighandler using sigaction() call, if the flag
+SA_ONSTACK is set and no alternate stack is provided via sigaltstack(),
+the kernel still try to install the alternate stack. This behavior is
+the opposite of the one which is documented in Single Unix
+Specifications V3.
+
+*) Also when setting an alternate stack using sigaltstack() with the
+flag SS_DISABLE, the kernel try to install the alternate stack on
+signal delivery.
+
+These two use cases makes the process crash at signal delivery.
+
+This fixes it.
+
+Signed-off-by: Laurent Meyer
+Signed-off-by: Paul Mackerras
+Signed-off-by: Olaf Hering
+
+ arch/powerpc/kernel/signal_64.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: linux-2.6.16/arch/powerpc/kernel/signal_64.c
+===================================================================
+--- linux-2.6.16.orig/arch/powerpc/kernel/signal_64.c
++++ linux-2.6.16/arch/powerpc/kernel/signal_64.c
+@@ -213,7 +213,7 @@ static inline void __user * get_sigframe
+ /* Default to using normal stack */
+ newsp = regs->gpr[1];
+
+- if (ka->sa.sa_flags & SA_ONSTACK) {
++ if ((ka->sa.sa_flags & SA_ONSTACK) && current->sas_ss_size) {
+ if (! on_sig_stack(regs->gpr[1]))
+ newsp = (current->sas_ss_sp + current->sas_ss_size);
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-device-tree-dupnodes.patch new/patches.arch/ppc-device-tree-dupnodes.patch
--- old/patches.arch/ppc-device-tree-dupnodes.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc-device-tree-dupnodes.patch 2006-03-30 14:34:10.000000000 +0200
@@ -0,0 +1,180 @@
+From: Michael Ellerman Mon, 27 Mar 2006 14:26:26 +1100
+Subject: [PATCH] powerpc: Cope with duplicate node & property names in /proc/device-tree
+X-Git-Commit: 5149fa47ec90eb5e79e28f3a7fbcf29421524817
+Patch-mainline: 2.6.17-rc1
+
+Various dodgy firmware might give us nodes and/or properties in the device
+tree with conflicting names. That's generally ok, except for when we export
+the device tree via /proc, so check when we're creating the proc device tree
+and munge names accordingly.
+
+Tested on a faked device tree with kexec, would be good if someone with
+actual bogus firmware could try it, but just for completeness.
+
+Signed-off-by: Michael Ellerman
+Signed-off-by: Paul Mackerras
+Signed-off-by: Olaf Hering
+
+ fs/proc/proc_devtree.c | 103 ++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 80 insertions(+), 23 deletions(-)
+
+Index: linux-2.6.16/fs/proc/proc_devtree.c
+===================================================================
+--- linux-2.6.16.orig/fs/proc/proc_devtree.c
++++ linux-2.6.16/fs/proc/proc_devtree.c
+@@ -52,7 +52,8 @@ static int property_read_proc(char *page
+ * Add a property to a node
+ */
+ static struct proc_dir_entry *
+-__proc_device_tree_add_prop(struct proc_dir_entry *de, struct property *pp)
++__proc_device_tree_add_prop(struct proc_dir_entry *de, struct property *pp,
++ const char *name)
+ {
+ struct proc_dir_entry *ent;
+
+@@ -60,14 +61,14 @@ __proc_device_tree_add_prop(struct proc_
+ * Unfortunately proc_register puts each new entry
+ * at the beginning of the list. So we rearrange them.
+ */
+- ent = create_proc_read_entry(pp->name,
+- strncmp(pp->name, "security-", 9)
++ ent = create_proc_read_entry(name,
++ strncmp(name, "security-", 9)
+ ? S_IRUGO : S_IRUSR, de,
+ property_read_proc, pp);
+ if (ent == NULL)
+ return NULL;
+
+- if (!strncmp(pp->name, "security-", 9))
++ if (!strncmp(name, "security-", 9))
+ ent->size = 0; /* don't leak number of password chars */
+ else
+ ent->size = pp->length;
+@@ -78,7 +79,7 @@ __proc_device_tree_add_prop(struct proc_
+
+ void proc_device_tree_add_prop(struct proc_dir_entry *pde, struct property *prop)
+ {
+- __proc_device_tree_add_prop(pde, prop);
++ __proc_device_tree_add_prop(pde, prop, prop->name);
+ }
+
+ void proc_device_tree_remove_prop(struct proc_dir_entry *pde,
+@@ -106,6 +107,69 @@ void proc_device_tree_update_prop(struct
+ }
+
+ /*
++ * Various dodgy firmware might give us nodes and/or properties with
++ * conflicting names. That's generally ok, except for exporting via /proc,
++ * so munge names here to ensure they're unique.
++ */
++
++static int duplicate_name(struct proc_dir_entry *de, const char *name)
++{
++ struct proc_dir_entry *ent;
++ int found = 0;
++
++ spin_lock(&proc_subdir_lock);
++
++ for (ent = de->subdir; ent != NULL; ent = ent->next) {
++ if (strcmp(ent->name, name) == 0) {
++ found = 1;
++ break;
++ }
++ }
++
++ spin_unlock(&proc_subdir_lock);
++
++ return found;
++}
++
++static const char *fixup_name(struct device_node *np, struct proc_dir_entry *de,
++ const char *name)
++{
++ char *fixed_name;
++ int fixup_len = strlen(name) + 2 + 1; /* name + #x + \0 */
++ int i = 1, size;
++
++realloc:
++ fixed_name = kmalloc(fixup_len, GFP_KERNEL);
++ if (fixed_name == NULL) {
++ printk(KERN_ERR "device-tree: Out of memory trying to fixup "
++ "name \"%s\"\n", name);
++ return name;
++ }
++
++retry:
++ size = snprintf(fixed_name, fixup_len, "%s#%d", name, i);
++ size++; /* account for NULL */
++
++ if (size > fixup_len) {
++ /* We ran out of space, free and reallocate. */
++ kfree(fixed_name);
++ fixup_len = size;
++ goto realloc;
++ }
++
++ if (duplicate_name(de, fixed_name)) {
++ /* Multiple duplicates. Retry with a different offset. */
++ i++;
++ goto retry;
++ }
++
++ printk(KERN_WARNING "device-tree: Duplicate name in %s, "
++ "renamed to \"%s\"\n", np->full_name, fixed_name);
++
++ return fixed_name;
++}
++
++/*
+ * Process a node, adding entries for its children and its properties.
+ */
+ void proc_device_tree_add_node(struct device_node *np,
+@@ -118,37 +182,30 @@ void proc_device_tree_add_node(struct de
+
+ set_node_proc_entry(np, de);
+ for (child = NULL; (child = of_get_next_child(np, child));) {
++ /* Use everything after the last slash, or the full name */
+ p = strrchr(child->full_name, '/');
+ if (!p)
+ p = child->full_name;
+ else
+ ++p;
++
++ if (duplicate_name(de, p))
++ p = fixup_name(np, de, p);
++
+ ent = proc_mkdir(p, de);
+ if (ent == 0)
+ break;
+ proc_device_tree_add_node(child, ent);
+ }
+ of_node_put(child);
++
+ for (pp = np->properties; pp != 0; pp = pp->next) {
+- /*
+- * Yet another Apple device-tree bogosity: on some machines,
+- * they have properties & nodes with the same name. Those
+- * properties are quite unimportant for us though, thus we
+- * simply "skip" them here, but we do have to check.
+- */
+- spin_lock(&proc_subdir_lock);
+- for (ent = de->subdir; ent != NULL; ent = ent->next)
+- if (!strcmp(ent->name, pp->name))
+- break;
+- spin_unlock(&proc_subdir_lock);
+- if (ent != NULL) {
+- printk(KERN_WARNING "device-tree: property \"%s\" name"
+- " conflicts with node in %s\n", pp->name,
+- np->full_name);
+- continue;
+- }
++ p = pp->name;
++
++ if (duplicate_name(de, p))
++ p = fixup_name(np, de, p);
+
+- ent = __proc_device_tree_add_prop(de, pp);
++ ent = __proc_device_tree_add_prop(de, pp, p);
+ if (ent == 0)
+ break;
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-hvc_console-init-race.patch new/patches.arch/ppc-hvc_console-init-race.patch
--- old/patches.arch/ppc-hvc_console-init-race.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc-hvc_console-init-race.patch 2006-03-30 14:34:10.000000000 +0200
@@ -0,0 +1,75 @@
+From: Michael Neuling Sat, 25 Mar 2006 17:30:00 +1100
+Subject: [PATCH] powerpc: HVC init race
+X-Git-Commit: 55aab8cd3a498201b769a19de861c77516bdfd45
+Patch-mainline: 2.6.17-rc1
+
+I've been hitting a crash on boot where tty_open is being called before the
+hvc console driver setup is complete. This fixes the problem.
+
+Thanks to benh for his help on this.
+
+Signed-off-by: Michael Neuling
+Acked-by: Anton Blanchard
+Signed-off-by: Paul Mackerras
+Signed-off-by: Olaf Hering
+
+ drivers/char/hvc_console.c | 32 ++++++++++++++++++--------------
+ 1 file changed, 18 insertions(+), 14 deletions(-)
+
+Index: linux-2.6.16/drivers/char/hvc_console.c
+===================================================================
+--- linux-2.6.16.orig/drivers/char/hvc_console.c
++++ linux-2.6.16/drivers/char/hvc_console.c
+@@ -823,34 +823,38 @@ EXPORT_SYMBOL(hvc_remove);
+ * interfaces start to become available. */
+ int __init hvc_init(void)
+ {
++ struct tty_driver *drv;
++
+ /* We need more than hvc_count adapters due to hotplug additions. */
+- hvc_driver = alloc_tty_driver(HVC_ALLOC_TTY_ADAPTERS);
+- if (!hvc_driver)
++ drv = alloc_tty_driver(HVC_ALLOC_TTY_ADAPTERS);
++ if (!drv)
+ return -ENOMEM;
+
+- hvc_driver->owner = THIS_MODULE;
+- hvc_driver->devfs_name = "hvc/";
+- hvc_driver->driver_name = "hvc";
+- hvc_driver->name = "hvc";
+- hvc_driver->major = HVC_MAJOR;
+- hvc_driver->minor_start = HVC_MINOR;
+- hvc_driver->type = TTY_DRIVER_TYPE_SYSTEM;
+- hvc_driver->init_termios = tty_std_termios;
+- hvc_driver->flags = TTY_DRIVER_REAL_RAW;
+- tty_set_operations(hvc_driver, &hvc_ops);
++ drv->owner = THIS_MODULE;
++ drv->devfs_name = "hvc/";
++ drv->driver_name = "hvc";
++ drv->name = "hvc";
++ drv->major = HVC_MAJOR;
++ drv->minor_start = HVC_MINOR;
++ drv->type = TTY_DRIVER_TYPE_SYSTEM;
++ drv->init_termios = tty_std_termios;
++ drv->flags = TTY_DRIVER_REAL_RAW;
++ tty_set_operations(drv, &hvc_ops);
+
+ /* Always start the kthread because there can be hotplug vty adapters
+ * added later. */
+ hvc_task = kthread_run(khvcd, NULL, "khvcd");
+ if (IS_ERR(hvc_task)) {
+ panic("Couldn't create kthread for console.\n");
+- put_tty_driver(hvc_driver);
++ put_tty_driver(drv);
+ return -EIO;
+ }
+
+- if (tty_register_driver(hvc_driver))
++ if (tty_register_driver(drv))
+ panic("Couldn't register hvc console driver\n");
+
++ mb();
++ hvc_driver = drv;
+ return 0;
+ }
+ module_init(hvc_init);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-iseries-systemid.patch new/patches.arch/ppc-iseries-systemid.patch
--- old/patches.arch/ppc-iseries-systemid.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc-iseries-systemid.patch 2006-03-30 14:34:10.000000000 +0200
@@ -0,0 +1,95 @@
+From: Michael Ellerman
+Subject: [PATCH] powerpc: iseries: Add /system-id, /model and /compatible
+X-Git-Commit: 584fc6d111c34a9a2512f6c7652dff29232bf70d
+X-Git-Commit: 289f1c74a9b527a816f63092e79a5412cc0352a2
+Patch-mainline: 2.6.17-rc1
+
+Add /system-id, /model and /compatible to the iSeries device tree.
+Add strne2a() which converts a string from EBCDIC to ASCII.
+
+Signed-off-by: Michael Ellerman
+Signed-off-by: Paul Mackerras
+Signed-off-by: Olaf Hering
+
+ arch/powerpc/lib/e2a.c | 10 ++++++++++
+ arch/powerpc/platforms/iseries/setup.c | 20 ++++++++++++++++++++
+ include/asm-powerpc/system.h | 2 ++
+ 3 files changed, 32 insertions(+)
+
+Index: linux-2.6.16/arch/powerpc/lib/e2a.c
+===================================================================
+--- linux-2.6.16.orig/arch/powerpc/lib/e2a.c
++++ linux-2.6.16/arch/powerpc/lib/e2a.c
+@@ -105,4 +105,14 @@ unsigned char e2a(unsigned char x)
+ }
+ EXPORT_SYMBOL(e2a);
+
++unsigned char* strne2a(unsigned char *dest, const unsigned char *src, size_t n)
++{
++ int i;
+
++ n = strnlen(src, n);
++
++ for (i = 0; i < n; i++)
++ dest[i] = e2a(src[i]);
++
++ return dest;
++}
+Index: linux-2.6.16/include/asm-powerpc/system.h
+===================================================================
+--- linux-2.6.16.orig/include/asm-powerpc/system.h
++++ linux-2.6.16/include/asm-powerpc/system.h
+@@ -171,6 +171,8 @@ extern u32 booke_wdt_period;
+
+ /* EBCDIC -> ASCII conversion for [0-9A-Z] on iSeries */
+ extern unsigned char e2a(unsigned char);
++extern unsigned char* strne2a(unsigned char *dest,
++ const unsigned char *src, size_t n);
+
+ struct device_node;
+ extern void note_scsi_host(struct device_node *, void *);
+Index: linux-2.6.16/arch/powerpc/platforms/iseries/setup.c
+===================================================================
+--- linux-2.6.16.orig/arch/powerpc/platforms/iseries/setup.c
++++ linux-2.6.16/arch/powerpc/platforms/iseries/setup.c
+@@ -50,6 +50,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include
+@@ -917,6 +918,24 @@ void dt_cpus(struct iseries_flat_dt *dt)
+ dt_end_node(dt);
+ }
+
++void dt_model(struct iseries_flat_dt *dt)
++{
++ char buf[16] = "IBM,";
++
++ /* "IBM," + mfgId[2:3] + systemSerial[1:5] */
++ strne2a(buf + 4, xItExtVpdPanel.mfgID + 2, 2);
++ strne2a(buf + 6, xItExtVpdPanel.systemSerial + 1, 5);
++ buf[11] = '\0';
++ dt_prop_str(dt, "system-id", buf);
++
++ /* "IBM," + machineType[0:4] */
++ strne2a(buf + 4, xItExtVpdPanel.machineType, 4);
++ buf[8] = '\0';
++ dt_prop_str(dt, "model", buf);
++
++ dt_prop_str(dt, "compatible", "IBM,iSeries");
++}
++
+ void build_flat_dt(struct iseries_flat_dt *dt, unsigned long phys_mem_size)
+ {
+ u64 tmp[2];
+@@ -927,6 +946,7 @@ void build_flat_dt(struct iseries_flat_d
+
+ dt_prop_u32(dt, "#address-cells", 2);
+ dt_prop_u32(dt, "#size-cells", 2);
++ dt_model(dt);
+
+ /* /memory */
+ dt_start_node(dt, "memory@0");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-kdump-boot-cpu-id.patch new/patches.arch/ppc-kdump-boot-cpu-id.patch
--- old/patches.arch/ppc-kdump-boot-cpu-id.patch 2006-03-21 15:02:34.000000000 +0100
+++ new/patches.arch/ppc-kdump-boot-cpu-id.patch 2006-03-30 15:55:54.000000000 +0200
@@ -3,6 +3,7 @@
To: linuxppc64-dev@ozlabs.org
Subject: [PATCH] ppc64: Allow non zero boot cpuids
Message-ID: <20060312015202.GH19683@krispykreme>
+Patch-mainline: 2.6.17-rc1
Hi,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-prom_panic-trap.patch new/patches.arch/ppc-prom_panic-trap.patch
--- old/patches.arch/ppc-prom_panic-trap.patch 2006-03-05 09:41:28.000000000 +0100
+++ new/patches.arch/ppc-prom_panic-trap.patch 2006-03-30 15:55:54.000000000 +0200
@@ -1,27 +1,68 @@
Subject: [PATCH] return to OF via trap, not exit
From: Olaf Hering
+X-Git-Commit: add60ef303809087999412209d24d400a1c96670
+Patch-mainline: 2.6.17-rc1
-Do not call prom exit prom_panic. It clears the screen and the exit message is lost.
-On some (or all?) pmacs it causes another crash when OF tries to print the
-date and time in its banner.
+Do not call prom exit prom_panic. It clears the screen and the exit
+message is lost.
+
+On some (or all?) pmacs it causes another crash when OF tries to print
+the date and time in its banner.
+
+Set of_platform earlier to catch more prom_panic() calls.
Signed-off-by: Olaf Hering
+Acked-by: Segher Boessenkool
+Signed-off-by: Paul Mackerras
- arch/powerpc/kernel/prom_init.c | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletion(-)
+ arch/powerpc/kernel/prom_init.c | 23 ++++++++++++++---------
+ 1 file changed, 14 insertions(+), 9 deletions(-)
-Index: linux-2.6.16-rc5-olh/arch/powerpc/kernel/prom_init.c
+Index: linux-2.6.16/arch/powerpc/kernel/prom_init.c
===================================================================
---- linux-2.6.16-rc5-olh.orig/arch/powerpc/kernel/prom_init.c
-+++ linux-2.6.16-rc5-olh/arch/powerpc/kernel/prom_init.c
-@@ -398,7 +398,9 @@ static void __init __attribute__((noretu
+--- linux-2.6.16.orig/arch/powerpc/kernel/prom_init.c
++++ linux-2.6.16/arch/powerpc/kernel/prom_init.c
+@@ -397,6 +397,11 @@ static void __init __attribute__((noretu
+ reason = PTRRELOC(reason);
#endif
prom_print(reason);
- /* ToDo: should put up an SRC here on p/iSeries */
-- call_prom("exit", 0, 0);
+ /* Do not call exit because it clears the screen on pmac
+ * it also causes some sort of double-fault on early pmacs */
-+ asm("trap\n");
++ if (RELOC(of_platform) == PLATFORM_POWERMAC)
++ asm("trap\n");
++
+ /* ToDo: should put up an SRC here on p/iSeries */
+ call_prom("exit", 0, 0);
+
+@@ -2061,15 +2066,6 @@ unsigned long __init prom_init(unsigned
+ */
+ prom_init_stdout();
+
+- /* Bail if this is a kdump kernel. */
+- if (PHYSICAL_START > 0)
+- prom_panic("Error: You can't boot a kdump kernel from OF!\n");
+-
+- /*
+- * Check for an initrd
+- */
+- prom_check_initrd(r3, r4);
+-
+ /*
+ * Get default machine type. At this point, we do not differentiate
+ * between pSeries SMP and pSeries LPAR
+@@ -2079,6 +2075,15 @@ unsigned long __init prom_init(unsigned
+ prom_setprop(_prom->chosen, "/chosen", "linux,platform",
+ &getprop_rval, sizeof(getprop_rval));
- for (;;) /* should never get here */
- ;
++ /* Bail if this is a kdump kernel. */
++ if (PHYSICAL_START > 0)
++ prom_panic("Error: You can't boot a kdump kernel from OF!\n");
++
++ /*
++ * Check for an initrd
++ */
++ prom_check_initrd(r3, r4);
++
+ #ifdef CONFIG_PPC_PSERIES
+ /*
+ * On pSeries, inform the firmware about our capabilities
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-protect-remove_proc_entry.patch new/patches.arch/ppc-protect-remove_proc_entry.patch
--- old/patches.arch/ppc-protect-remove_proc_entry.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc-protect-remove_proc_entry.patch 2006-03-30 14:34:10.000000000 +0200
@@ -0,0 +1,210 @@
+From: Steven Rostedt Sun, 26 Mar 2006 17:36:55 -0800
+Subject: [PATCH] protect remove_proc_entry
+X-Git-Commit: 64a07bd82ed526d813b64b0957543eef55bdf9c0
+Patch-mainline: 2.6.17-rc1
+
+It has been discovered that the remove_proc_entry has a race in the removing
+of entries in the proc file system that are siblings. There's no protection
+around the traversing and removing of elements that belong in the same
+subdirectory.
+
+This subdirectory list is protected in other areas by the BKL. So the BKL was
+at first used to protect this area too, but unfortunately, remove_proc_entry
+may be called with spinlocks held. The BKL may schedule, so this was not a
+solution.
+
+The final solution was to add a new global spin lock to protect this list,
+called proc_subdir_lock. This lock now protects the list in
+remove_proc_entry, and I also went around looking for other areas that this
+list is modified and added this protection there too. Care must be taken
+since these locations call several functions that may also schedule.
+
+Since I don't see any location that these functions that modify the
+subdirectory list are called by interrupts, the irqsave/restore versions of
+the spin lock was _not_ used.
+
+Signed-off-by: Steven Rostedt
+Signed-off-by: Andrew Morton
+Signed-off-by: Linus Torvalds
+Signed-off-by: Olaf Hering
+
+ fs/proc/generic.c | 32 +++++++++++++++++++++++++++++---
+ fs/proc/proc_devtree.c | 2 ++
+ include/linux/proc_fs.h | 3 +++
+ 3 files changed, 34 insertions(+), 3 deletions(-)
+
+Index: linux-2.6.16/fs/proc/generic.c
+===================================================================
+--- linux-2.6.16.orig/fs/proc/generic.c
++++ linux-2.6.16/fs/proc/generic.c
+@@ -19,6 +19,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+
+ #include "internal.h"
+@@ -29,6 +30,8 @@ static ssize_t proc_file_write(struct fi
+ size_t count, loff_t *ppos);
+ static loff_t proc_file_lseek(struct file *, loff_t, int);
+
++DEFINE_SPINLOCK(proc_subdir_lock);
++
+ int proc_match(int len, const char *name, struct proc_dir_entry *de)
+ {
+ if (de->namelen != len)
+@@ -277,7 +280,9 @@ static int xlate_proc_name(const char *n
+ const char *cp = name, *next;
+ struct proc_dir_entry *de;
+ int len;
++ int rtn = 0;
+
++ spin_lock(&proc_subdir_lock);
+ de = &proc_root;
+ while (1) {
+ next = strchr(cp, '/');
+@@ -289,13 +294,17 @@ static int xlate_proc_name(const char *n
+ if (proc_match(len, cp, de))
+ break;
+ }
+- if (!de)
+- return -ENOENT;
++ if (!de) {
++ rtn = -ENOENT;
++ goto out;
++ }
+ cp += len + 1;
+ }
+ *residual = cp;
+ *ret = de;
+- return 0;
++out:
++ spin_unlock(&proc_subdir_lock);
++ return rtn;
+ }
+
+ static DEFINE_IDR(proc_inum_idr);
+@@ -380,6 +389,7 @@ struct dentry *proc_lookup(struct inode
+ int error = -ENOENT;
+
+ lock_kernel();
++ spin_lock(&proc_subdir_lock);
+ de = PDE(dir);
+ if (de) {
+ for (de = de->subdir; de ; de = de->next) {
+@@ -388,12 +398,15 @@ struct dentry *proc_lookup(struct inode
+ if (!memcmp(dentry->d_name.name, de->name, de->namelen)) {
+ unsigned int ino = de->low_ino;
+
++ spin_unlock(&proc_subdir_lock);
+ error = -EINVAL;
+ inode = proc_get_inode(dir->i_sb, ino, de);
++ spin_lock(&proc_subdir_lock);
+ break;
+ }
+ }
+ }
++ spin_unlock(&proc_subdir_lock);
+ unlock_kernel();
+
+ if (inode) {
+@@ -447,11 +460,13 @@ int proc_readdir(struct file * filp,
+ filp->f_pos++;
+ /* fall through */
+ default:
++ spin_lock(&proc_subdir_lock);
+ de = de->subdir;
+ i -= 2;
+ for (;;) {
+ if (!de) {
+ ret = 1;
++ spin_unlock(&proc_subdir_lock);
+ goto out;
+ }
+ if (!i)
+@@ -461,12 +476,16 @@ int proc_readdir(struct file * filp,
+ }
+
+ do {
++ /* filldir passes info to user space */
++ spin_unlock(&proc_subdir_lock);
+ if (filldir(dirent, de->name, de->namelen, filp->f_pos,
+ de->low_ino, de->mode >> 12) < 0)
+ goto out;
++ spin_lock(&proc_subdir_lock);
+ filp->f_pos++;
+ de = de->next;
+ } while (de);
++ spin_unlock(&proc_subdir_lock);
+ }
+ ret = 1;
+ out: unlock_kernel();
+@@ -500,9 +519,13 @@ static int proc_register(struct proc_dir
+ if (i == 0)
+ return -EAGAIN;
+ dp->low_ino = i;
++
++ spin_lock(&proc_subdir_lock);
+ dp->next = dir->subdir;
+ dp->parent = dir;
+ dir->subdir = dp;
++ spin_unlock(&proc_subdir_lock);
++
+ if (S_ISDIR(dp->mode)) {
+ if (dp->proc_iops == NULL) {
+ dp->proc_fops = &proc_dir_operations;
+@@ -694,6 +717,8 @@ void remove_proc_entry(const char *name,
+ if (!parent && xlate_proc_name(name, &parent, &fn) != 0)
+ goto out;
+ len = strlen(fn);
++
++ spin_lock(&proc_subdir_lock);
+ for (p = &parent->subdir; *p; p=&(*p)->next ) {
+ if (!proc_match(len, fn, *p))
+ continue;
+@@ -714,6 +739,7 @@ void remove_proc_entry(const char *name,
+ }
+ break;
+ }
++ spin_unlock(&proc_subdir_lock);
+ out:
+ return;
+ }
+Index: linux-2.6.16/fs/proc/proc_devtree.c
+===================================================================
+--- linux-2.6.16.orig/fs/proc/proc_devtree.c
++++ linux-2.6.16/fs/proc/proc_devtree.c
+@@ -136,9 +136,11 @@ void proc_device_tree_add_node(struct de
+ * properties are quite unimportant for us though, thus we
+ * simply "skip" them here, but we do have to check.
+ */
++ spin_lock(&proc_subdir_lock);
+ for (ent = de->subdir; ent != NULL; ent = ent->next)
+ if (!strcmp(ent->name, pp->name))
+ break;
++ spin_unlock(&proc_subdir_lock);
+ if (ent != NULL) {
+ printk(KERN_WARNING "device-tree: property \"%s\" name"
+ " conflicts with node in %s\n", pp->name,
+Index: linux-2.6.16/include/linux/proc_fs.h
+===================================================================
+--- linux-2.6.16.orig/include/linux/proc_fs.h
++++ linux-2.6.16/include/linux/proc_fs.h
+@@ -4,6 +4,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+
+ /*
+@@ -92,6 +93,8 @@ extern struct proc_dir_entry *proc_bus;
+ extern struct proc_dir_entry *proc_root_driver;
+ extern struct proc_dir_entry *proc_root_kcore;
+
++extern spinlock_t proc_subdir_lock;
++
+ extern void proc_root_init(void);
+ extern void proc_misc_init(void);
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-pseries-lparcfg-1.7.patch new/patches.arch/ppc-pseries-lparcfg-1.7.patch
--- old/patches.arch/ppc-pseries-lparcfg-1.7.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc-pseries-lparcfg-1.7.patch 2006-03-31 11:04:51.000000000 +0200
@@ -0,0 +1,77 @@
+Subject: [PATCH] misc lparcfg fixes
+From: Will Schmidt
+
+http://ozlabs.org/pipermail/linuxppc-dev/2006-March/021767.html
+Bug 162380 - LTC22746-Can not find system_potential_processors in /proc/ppc64/lparcfg
+
+This patch fixed several problems with the lparcfg code. In case
+someone gets a sense of deja-vu, part of this was submitted last Sep, I
+thought the changes went in, but either got backed out, or just got
+lost.
+
+First, change the local_buffer declaration to be unsigned char *. We
+had a bad-math problem in a 2.4 tree which was built with a
+"-fsigned-char" parm. I dont believe we ever build with that parm
+now-a-days, but to be safe, I'd prefer the declaration be explicit.
+
+Second, fix a bad math calculation for splpar_strlen.
+
+Third, on the rtas_call for get-system-parameter, pass in
+RTAS_DATA_BUF_SIZE for the rtas_data_buf size, instead of letting random
+data determine the size. Until recently, we've had a sufficiently
+large 'random data' value get passed in, so the function just happens to
+have worked OK. Now it's getting passed a '0', which causes the
+rtas_call to return success, but no data shows up in the buffer.
+(oops!). This was found by the LTC test org.
+
+This is in a branch of code that only gets run on SPLPAR systems.
+Tested on power5 Lpar.
+
+Signed-off-by: Will Schmidt
+Signed-off-by: Olaf Hering
+
+---
+ arch/powerpc/kernel/lparcfg.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+Index: linux-2.6.16/arch/powerpc/kernel/lparcfg.c
+===================================================================
+--- linux-2.6.16.orig/arch/powerpc/kernel/lparcfg.c
++++ linux-2.6.16/arch/powerpc/kernel/lparcfg.c
+@@ -37,7 +37,7 @@
+ #include
+ #include
+
+-#define MODULE_VERS "1.6"
++#define MODULE_VERS "1.7"
+ #define MODULE_NAME "lparcfg"
+
+ /* #define LPARCFG_DEBUG */
+@@ -242,7 +242,7 @@ static void parse_system_parameter_strin
+ {
+ int call_status;
+
+- char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
++ unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
+ if (!local_buffer) {
+ printk(KERN_ERR "%s %s kmalloc failure at line %d \n",
+ __FILE__, __FUNCTION__, __LINE__);
+@@ -254,7 +254,8 @@ static void parse_system_parameter_strin
+ call_status = rtas_call(rtas_token("ibm,get-system-parameter"), 3, 1,
+ NULL,
+ SPLPAR_CHARACTERISTICS_TOKEN,
+- __pa(rtas_data_buf));
++ __pa(rtas_data_buf),
++ RTAS_DATA_BUF_SIZE);
+ memcpy(local_buffer, rtas_data_buf, SPLPAR_MAXLENGTH);
+ spin_unlock(&rtas_data_buf_lock);
+
+@@ -275,7 +276,7 @@ static void parse_system_parameter_strin
+ #ifdef LPARCFG_DEBUG
+ printk(KERN_INFO "success calling get-system-parameter \n");
+ #endif
+- splpar_strlen = local_buffer[0] * 16 + local_buffer[1];
++ splpar_strlen = local_buffer[0] * 256 + local_buffer[1];
+ local_buffer += 2; /* step over strlen value */
+
+ memset(workbuffer, 0, SPLPAR_MAXLENGTH);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-qeth-vipa-fix new/patches.arch/s390-qeth-vipa-fix
--- old/patches.arch/s390-qeth-vipa-fix 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-qeth-vipa-fix 2006-03-28 16:11:14.000000000 +0200
@@ -0,0 +1,31 @@
+From: Ursula Braun
+Subject: qeth: qethconf not adding IPv4 addresses
+References: #160481 - LTC22637
+
+Symptom: /var/log/messages \"kernel: qeth: Invalid IP address format!\"
+Problem: Incorrect syntax checking of IPv4 addresses.
+Solution: Change result checking of sscanf invocation.
+Problem-ID: 22637
+Archs: s390-31, s390-64
+Branches: June 2003, kernel 2.4.21: no
+ April 2004, kernel 2.6.5 : yes
+ October 2005, kernel 2.6.15: yes
+
+Signed-off-by: Hannes Reinecke
+
+Index: linux-2.5/drivers/s390/net/qeth.h
+===================================================================
+RCS file: /home/cvs/linux-2.5/drivers/s390/net/qeth.h,v
+retrieving revision 1.155
+diff -a -u -r1.155 qeth.h
+--- linux-2.5/drivers/s390/net/qeth.h 1 Feb 2006 15:26:51 -0000 1.155
++++ linux-2.5/drivers/s390/net/qeth.h 23 Mar 2006 16:33:45 -0000
+@@ -1099,7 +1099,7 @@
+
+ rc = sscanf(buf, "%d.%d.%d.%d%n",
+ &in[0], &in[1], &in[2], &in[3], &count);
+- if (rc != 4 || count)
++ if (rc != 4 || count<=0)
+ return -EINVAL;
+ for (count = 0; count < 4; count++) {
+ if (in[count] > 255)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-raw-device new/patches.arch/s390-raw-device
--- old/patches.arch/s390-raw-device 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-raw-device 2006-03-28 16:06:22.000000000 +0200
@@ -0,0 +1,54 @@
+From: ihno@suse.de
+Subject: [PATCH] raw module is no enabled on s390/s390x
+
+The raw module is not enabled on s390/ss390x
+The patch fixes that
+
+Signed-off-by: Ihno Krumreich
+diff -Nru ../raw.orig/linux-2.6.5/drivers/char/Kconfig linux-2.6.5/drivers/char/Kconfig
+--- ../raw.orig/linux-2.6.5/drivers/char/Kconfig 2005-02-18 16:27:45.000000000 +0100
++++ linux-2.6.5/drivers/char/Kconfig 2005-02-18 16:10:07.000000000 +0100
+@@ -991,6 +991,8 @@
+
+ If compiled as a module, it will be called scx200_gpio.
+
++source "drivers/char/Kconfig.raw"
++
+ config RAW_DRIVER
+ tristate "RAW driver (/dev/raw/rawN) (OBSOLETE)"
+ help
+diff -Nru ../raw.orig/linux-2.6.5/drivers/char/Kconfig.raw linux-2.6.5/drivers/char/Kconfig.raw
+--- ../raw.orig/linux-2.6.5/drivers/char/Kconfig.raw 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.5/drivers/char/Kconfig.raw 2005-02-18 16:09:18.000000000 +0100
+@@ -0,0 +1,19 @@
++config RAW_DRIVER
++ tristate "RAW driver (/dev/raw/rawN) (OBSOLETE)"
++ help
++ The raw driver permits block devices to be bound to /dev/raw/rawN.
++ Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
++ See the raw(8) manpage for more details.
++
++ The raw driver is deprecated and may be removed from 2.7
++ kernels. Applications should simply open the device (eg /dev/hda1)
++ with the O_DIRECT flag.
++
++config MAX_RAW_DEVS
++ int "Maximum number of RAW devices to support (1-8192)"
++ depends on RAW_DRIVER
++ default "256"
++ help
++ The maximum number of RAW devices that are supported.
++ Default is 256. Increase this number in case you need lots of
++ raw devices.
+diff -Nru ../raw.orig/linux-2.6.5/drivers/s390/Kconfig linux-2.6.5/drivers/s390/Kconfig
+--- ../raw.orig/linux-2.6.5/drivers/s390/Kconfig 2005-02-18 16:27:46.000000000 +0100
++++ linux-2.6.5/drivers/s390/Kconfig 2005-02-18 16:45:37.000000000 +0100
+@@ -9,6 +9,8 @@
+
+ menu "Character device drivers"
+
++source "drivers/char/Kconfig.raw"
++
+ config UNIX98_PTYS
+ bool "Unix98 PTY support"
+ ---help---
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/x86_64-mce-nmi-watchdog new/patches.arch/x86_64-mce-nmi-watchdog
--- old/patches.arch/x86_64-mce-nmi-watchdog 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/x86_64-mce-nmi-watchdog 2006-03-30 16:49:55.000000000 +0200
@@ -0,0 +1,94 @@
+Subject: Don't run NMI watchdog during machine checks
+From: ak@suse.de
+References: 156566 155726
+
+Signed-off-by: Andi Kleen
+
+---
+ arch/x86_64/kernel/mce.c | 8 +++++++-
+ arch/x86_64/kernel/nmi.c | 5 +++++
+ include/asm-x86_64/mce.h | 7 +++++++
+ 3 files changed, 19 insertions(+), 1 deletion(-)
+
+Index: linux/arch/x86_64/kernel/mce.c
+===================================================================
+--- linux.orig/arch/x86_64/kernel/mce.c
++++ linux/arch/x86_64/kernel/mce.c
+@@ -29,6 +29,8 @@
+ #define MISC_MCELOG_MINOR 227
+ #define NR_BANKS 6
+
++atomic_t mce_entry;
++
+ static int mce_dont_init;
+
+ /* 0: always panic, 1: panic if deadlock possible, 2: try to avoid panic,
+@@ -172,10 +174,12 @@ void do_machine_check(struct pt_regs * r
+ int i;
+ int panicm_found = 0;
+
++ atomic_inc(&mce_entry);
++
+ if (regs)
+ notify_die(DIE_NMI, "machine check", regs, error_code, 18, SIGKILL);
+ if (!banks)
+- return;
++ goto out2;
+
+ memset(&m, 0, sizeof(struct mce));
+ m.cpu = safe_smp_processor_id();
+@@ -266,6 +270,8 @@ void do_machine_check(struct pt_regs * r
+ out:
+ /* Last thing done in the machine check exception to clear state. */
+ wrmsrl(MSR_IA32_MCG_STATUS, 0);
++ out2:
++ atomic_dec(&mce_entry);
+ }
+
+ /*
+Index: linux/arch/x86_64/kernel/nmi.c
+===================================================================
+--- linux.orig/arch/x86_64/kernel/nmi.c
++++ linux/arch/x86_64/kernel/nmi.c
+@@ -34,6 +34,7 @@
+ #include
+ #include
+ #include
++#include
+
+ /*
+ * lapic_nmi_owner tracks the ownership of the lapic NMI hardware:
+@@ -480,6 +481,10 @@ void __kprobes nmi_watchdog_tick(struct
+ __get_cpu_var(nmi_touch) = 0;
+ touched = 1;
+ }
++ /* Could check oops_in_progress here too, but it's safer
++ not too */
++ if (atomic_read(&mce_entry) > 0)
++ touched = 1;
+ if (!touched && __get_cpu_var(last_irq_sum) == sum) {
+ /*
+ * Ayiee, looks like this CPU is stuck ...
+Index: linux/include/asm-x86_64/mce.h
+===================================================================
+--- linux.orig/include/asm-x86_64/mce.h
++++ linux/include/asm-x86_64/mce.h
+@@ -70,6 +70,9 @@ struct mce_log {
+ #define MCE_THRESHOLD_BASE MCE_EXTENDED_BANK + 1 /* MCE_AMD */
+ #define MCE_THRESHOLD_DRAM_ECC MCE_THRESHOLD_BASE + 4
+
++#ifdef __KERNEL__
++#include
++
+ void mce_log(struct mce *m);
+ #ifdef CONFIG_X86_MCE_INTEL
+ void mce_intel_feature_init(struct cpuinfo_x86 *c);
+@@ -87,4 +90,8 @@ static inline void mce_amd_feature_init(
+ }
+ #endif
+
++extern atomic_t mce_entry;
++
++#endif
++
+ #endif
++++++ patches.drivers.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.drivers/ide-cd-quiet-cap-read new/patches.drivers/ide-cd-quiet-cap-read
--- old/patches.drivers/ide-cd-quiet-cap-read 2006-03-21 15:22:08.000000000 +0100
+++ new/patches.drivers/ide-cd-quiet-cap-read 2006-03-29 11:34:15.000000000 +0200
@@ -1,6 +1,6 @@
From: Jens Axboe
Subject: quiet down ide-cd capacity read
-Patch-mainline:
+Patch-mainline: 2.6.17-rc1
References: 159002
Some drives like to tell us that the installed medium doesn't support
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.drivers/ixgb-consistent-dma-mask new/patches.drivers/ixgb-consistent-dma-mask
--- old/patches.drivers/ixgb-consistent-dma-mask 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/ixgb-consistent-dma-mask 2006-03-28 18:15:13.000000000 +0200
@@ -0,0 +1,49 @@
+From: schwab@suse.de
+Subject: Use pci_set_consistent_dma_mask in ixgb driver
+Patch-mainline: submitted
+
+The ixgb driver is using pci_alloc_consistent, thus is should also use
+pci_set_consistent_dma_mask. This allows the driver to work on SGI
+systems.
+
+In case of an error during probing it should also disable the device again.
+
+Signed-off-by: Andreas Schwab
+
+--- linux-2.6.16/drivers/net/ixgb/ixgb_main.c.~1~ 2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16/drivers/net/ixgb/ixgb_main.c 2006-03-28 18:05:40.000000000 +0200
+@@ -357,18 +357,20 @@ ixgb_probe(struct pci_dev *pdev,
+ if((err = pci_enable_device(pdev)))
+ return err;
+
+- if(!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK))) {
++ if(!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) &&
++ !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) {
+ pci_using_dac = 1;
+ } else {
+- if((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK))) {
++ if((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK)) ||
++ (err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK))) {
+ IXGB_ERR("No usable DMA configuration, aborting\n");
+- return err;
++ goto err_dma_mask;
+ }
+ pci_using_dac = 0;
+ }
+
+ if((err = pci_request_regions(pdev, ixgb_driver_name)))
+- return err;
++ goto err_request_regions;
+
+ pci_set_master(pdev);
+
+@@ -502,6 +504,9 @@ err_ioremap:
+ free_netdev(netdev);
+ err_alloc_etherdev:
+ pci_release_regions(pdev);
++err_request_regions:
++err_dma_mask:
++ pci_disable_device(pdev);
+ return err;
+ }
+
++++++ patches.fixes.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/ahci-init-on-resume new/patches.fixes/ahci-init-on-resume
--- old/patches.fixes/ahci-init-on-resume 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/ahci-init-on-resume 2006-03-30 15:54:13.000000000 +0200
@@ -0,0 +1,579 @@
+From: Hannes Reinecke
+Subject: sata-disks not correctly handled during wake-up after s2r
+References: 157619
+Is-Mainline: Not yet.
+
+Upon suspend-to-RAM S-ATA drives are not waking up correctly.
+There are actually two problems here: One is the wrong / missing
+initialisation of the AHCI driver after resume and the other one
+is that MSI registered are not restored.
+
+This patch addresses the first issue. We have to restore the AHCI
+registers upon resume as the BIOS might have done a host reset after
+which most register settings are hosed.
+
+And while we're at it, we can as well fix the disk spinup to be
+a bit more spec-conformant.
+
+Signed-off-by: Hannes Reinecke
+
+--- linux-2.6.16/drivers/scsi/ahci.c.orig 2006-03-30 10:07:32.000000000 +0200
++++ linux-2.6.16/drivers/scsi/ahci.c 2006-03-30 15:22:25.000000000 +0200
+@@ -40,6 +40,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include
+@@ -86,6 +87,11 @@ enum {
+
+ /* HOST_CAP bits */
+ HOST_CAP_64 = (1 << 31), /* PCI DAC (64-bit DMA) support */
++ HOST_CAP_SIS = (1 << 28), /* Interlock switch */
++ HOST_CAP_SSS = (1 << 27), /* Staggered Spin-up */
++ HOST_CAP_SPM = (1 << 17), /* Port multiplier */
++ HOST_CAP_SSC = (1 << 14), /* Slumber capable */
++ HOST_CAP_PSC = (1 << 13), /* Partial capable */
+
+ /* registers for each SATA port */
+ PORT_LST_ADDR = 0x00, /* command list DMA addr */
+@@ -136,13 +142,16 @@ enum {
+
+ /* PORT_CMD bits */
+ PORT_CMD_ATAPI = (1 << 24), /* Device is ATAPI */
++ PORT_CMD_CPD = (1 << 20), /* Cold presence detection */
+ PORT_CMD_LIST_ON = (1 << 15), /* cmd list DMA engine running */
+ PORT_CMD_FIS_ON = (1 << 14), /* FIS DMA engine running */
+ PORT_CMD_FIS_RX = (1 << 4), /* Enable FIS receive DMA engine */
++ PORT_CMD_CLO = (1 << 3), /* Command list override */
+ PORT_CMD_POWER_ON = (1 << 2), /* Power up device */
+ PORT_CMD_SPIN_UP = (1 << 1), /* Spin up device */
+ PORT_CMD_START = (1 << 0), /* Enable port DMA engine */
+
++ PORT_CMD_ICC_MASK = (0xf << 28), /* i/f ICC state mask */
+ PORT_CMD_ICC_ACTIVE = (0x1 << 28), /* Put i/f in active state */
+ PORT_CMD_ICC_PARTIAL = (0x2 << 28), /* Put i/f in partial state */
+ PORT_CMD_ICC_SLUMBER = (0x6 << 28), /* Put i/f in slumber state */
+@@ -170,6 +179,7 @@ struct ahci_host_priv {
+ unsigned long flags;
+ u32 cap; /* cache of HOST_CAP register */
+ u32 port_map; /* cache of HOST_PORTS_IMPL reg */
++ u32 dev_map; /* connected devices */
+ };
+
+ struct ahci_port_priv {
+@@ -197,15 +207,20 @@ static void ahci_phy_reset(struct ata_po
+ static void ahci_irq_clear(struct ata_port *ap);
+ static void ahci_eng_timeout(struct ata_port *ap);
+ static int ahci_port_start(struct ata_port *ap);
+-static int ahci_port_suspend(struct ata_port *ap);
++static int ahci_port_suspend(struct ata_port *ap, pm_message_t state);
+ static int ahci_port_resume(struct ata_port *ap);
+ static void ahci_port_stop(struct ata_port *ap);
++static int ahci_port_standby(void __iomem *port_mmio, u32 cap);
++static int ahci_port_spinup(void __iomem *port_mmio, u32 cap);
++static void ahci_port_disable(struct ata_port *ap);
+ static void ahci_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
+ static void ahci_qc_prep(struct ata_queued_cmd *qc);
+ static u8 ahci_check_status(struct ata_port *ap);
+ static inline int ahci_host_intr(struct ata_port *ap, struct ata_queued_cmd *qc);
+ static int ahci_scsi_device_suspend(struct scsi_device *sdev, pm_message_t state);
+ static int ahci_scsi_device_resume(struct scsi_device *sdev);
++static int ahci_pci_device_suspend(struct pci_dev *pdev, pm_message_t state);
++static int ahci_pci_device_resume(struct pci_dev *pdev);
+ static void ahci_remove_one (struct pci_dev *pdev);
+
+ static struct scsi_host_template ahci_sht = {
+@@ -231,7 +246,7 @@ static struct scsi_host_template ahci_sh
+ };
+
+ static const struct ata_port_operations ahci_ops = {
+- .port_disable = ata_port_disable,
++ .port_disable = ahci_port_disable,
+
+ .check_status = ahci_check_status,
+ .check_altstatus = ahci_check_status,
+@@ -313,8 +328,8 @@ static struct pci_driver ahci_pci_driver
+ .id_table = ahci_pci_tbl,
+ .probe = ahci_init_one,
+ .remove = ahci_remove_one,
+- .suspend = ata_pci_device_suspend,
+- .resume = ata_pci_device_resume,
++ .suspend = ahci_pci_device_suspend,
++ .resume = ahci_pci_device_resume,
+ };
+
+
+@@ -392,6 +407,10 @@ static int ahci_port_start(struct ata_po
+ * Driver is setup; initialize the HBA
+ */
+ ahci_start_fis_rx(port_mmio, pp, hpriv);
++ rc = ahci_port_spinup(port_mmio, hpriv->cap);
++ if (rc)
++ printk(KERN_WARNING "ata%d: could not spinup device (%d)\n",
++ ap->id, rc);
+
+ /*
+ * Do not enable DMA here; according to the spec
+@@ -409,7 +428,7 @@ static void ahci_port_stop(struct ata_po
+ struct device *dev = ap->host_set->dev;
+ struct ahci_port_priv *pp = ap->private_data;
+
+- ahci_port_suspend(ap);
++ ahci_port_suspend(ap, PMSG_SUSPEND);
+
+ ap->private_data = NULL;
+ dma_free_coherent(dev, AHCI_PORT_PRIV_DMA_SZ,
+@@ -425,12 +444,55 @@ static int ahci_port_resume(struct ata_p
+ struct ahci_host_priv *hpriv = ap->host_set->private_data;
+ struct ahci_port_priv *pp = ap->private_data;
+ int rc;
++ u32 tmp;
+
+ /*
+ * Enable FIS reception
+ */
+ ahci_start_fis_rx(port_mmio, pp, hpriv);
+
++ rc = ahci_port_spinup(port_mmio, hpriv->cap);
++ if (rc)
++ printk(KERN_WARNING "ata%d: could not spinup device (%d)\n",
++ ap->id, rc);
++
++ /*
++ * Clear error status
++ */
++ tmp = readl(port_mmio + PORT_SCR_ERR);
++ writel(tmp, port_mmio + PORT_SCR_ERR);
++ /*
++ * Clear interrupt status
++ */
++ tmp = readl(mmio + HOST_CTL);
++ if (!(tmp & HOST_IRQ_EN)) {
++ u32 irq_stat;
++
++ /* ack any pending irq events for this port */
++ irq_stat = readl(port_mmio + PORT_IRQ_STAT);
++ if (irq_stat)
++ writel(irq_stat, port_mmio + PORT_IRQ_STAT);
++
++ /* set irq mask (enables interrupts) */
++ writel(DEF_PORT_IRQ, port_mmio + PORT_IRQ_MASK);
++
++ if ((hpriv->dev_map >> (ap->port_no + 1)) == 0) {
++ /*
++ * Enable interrupts if this was the last port
++ */
++ printk(KERN_WARNING "ata%d: enabling interrupts\n",
++ ap->id);
++
++ irq_stat = readl(mmio + HOST_IRQ_STAT);
++ if (irq_stat)
++ writel(irq_stat, mmio + HOST_IRQ_STAT);
++
++ tmp |= HOST_IRQ_EN;
++ writel(tmp, mmio + HOST_CTL);
++ (void) readl(mmio + HOST_CTL);
++ }
++ }
++
+ /*
+ * Enable DMA
+ */
+@@ -442,10 +504,11 @@ static int ahci_port_resume(struct ata_p
+ return rc;
+ }
+
+-static int ahci_port_suspend(struct ata_port *ap)
++static int ahci_port_suspend(struct ata_port *ap, pm_message_t state)
+ {
+ void __iomem *mmio = ap->host_set->mmio_base;
+ void __iomem *port_mmio = ahci_port_base(mmio, ap->port_no);
++ struct ahci_host_priv *hpriv = ap->host_set->private_data;
+ int rc;
+
+ /*
+@@ -465,9 +528,25 @@ static int ahci_port_suspend(struct ata_
+ printk(KERN_WARNING "ata%d: FIS RX still running (rc %d)\n",
+ ap->id, rc);
+
++ /*
++ * Put device into slumber mode
++ */
++ if (!rc && state.event != PM_EVENT_FREEZE)
++ ahci_port_standby(port_mmio, hpriv->cap);
++
+ return rc;
+ }
+
++static void ahci_port_disable(struct ata_port *ap)
++{
++ struct ahci_host_priv *hpriv = ap->host_set->private_data;
++
++ ata_port_disable(ap);
++
++ hpriv->dev_map &= ~(1 << ap->port_no);
++}
++
++
+ static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in)
+ {
+ unsigned int sc_reg;
+@@ -614,10 +693,10 @@ static int ahci_stop_fis_rx(void __iomem
+ mdelay(500);
+ work = 1000;
+ while (work-- > 0) {
+- tmp = readl(port_mmio + PORT_CMD);
+- if ((tmp & PORT_CMD_FIS_ON) == 0)
+- return 0;
+- udelay(10);
++ tmp = readl(port_mmio + PORT_CMD);
++ if ((tmp & PORT_CMD_FIS_ON) == 0)
++ return 0;
++ udelay(10);
+ }
+
+ return -EBUSY;
+@@ -627,8 +706,10 @@ static void ahci_start_fis_rx(void __iom
+ struct ahci_port_priv *pp,
+ struct ahci_host_priv *hpriv)
+ {
++ u32 tmp;
++
+ /*
+- * Enable FIS reception
++ * Set FIS registers
+ */
+ if (hpriv->cap & HOST_CAP_64)
+ writel((pp->cmd_slot_dma >> 16) >> 16, port_mmio + PORT_LST_ADDR_HI);
+@@ -641,23 +722,117 @@ static void ahci_start_fis_rx(void __iom
+ readl(port_mmio + PORT_FIS_ADDR); /* flush */
+
+ /*
+- * This is wrong. We should only activate
+- * FIS_RX here; everything else should be handled
+- * separately.
+- * Some bits might not even be settable here
+- * as they depend on the respective feature to be
+- * implemented (Staggered Spin-up,
+- * Cold-presence detection etc.)
+- */
+- writel(PORT_CMD_ICC_ACTIVE | PORT_CMD_FIS_RX |
+- PORT_CMD_POWER_ON | PORT_CMD_SPIN_UP,
+- port_mmio + PORT_CMD);
++ * Enable FIS reception
++ */
++ tmp = readl(port_mmio + PORT_CMD);
++ tmp |= PORT_CMD_FIS_RX;
++ writel(tmp, port_mmio + PORT_CMD);
+ readl(port_mmio + PORT_CMD); /* flush */
+ }
+
++static int ahci_port_spinup(void __iomem *port_mmio, u32 cap)
++{
++ u32 tmp;
++
++ tmp = readl(port_mmio + PORT_CMD);
++ /*
++ * AHCI Rev1.1 Section 5.3.2.3:
++ * Software is only allowed to program the PxCMD.FRE,
++ * PxCMD.POD, PxSCTL.DET, and PxCMD.SUD register bits
++ * when PxCMD.ST is set to ‘0’.
++ */
++ if (tmp & PORT_CMD_START)
++ return -EBUSY;
++
++ /*
++ * Power on device if supported
++ */
++ if (tmp & PORT_CMD_CPD) {
++ tmp |= PORT_CMD_POWER_ON;
++ writel(tmp, port_mmio + PORT_CMD);
++ tmp = readl(port_mmio + PORT_CMD);
++ }
++
++ /*
++ * Spin up device
++ */
++ if (cap & HOST_CAP_SSS) {
++ tmp |= PORT_CMD_SPIN_UP;
++ writel(tmp, port_mmio + PORT_CMD);
++ tmp = readl(port_mmio + PORT_CMD);
++ }
++
++ if ((tmp & PORT_CMD_ICC_MASK) != PORT_CMD_ICC_ACTIVE) {
++ tmp |= PORT_CMD_ICC_ACTIVE;
++ writel(tmp, port_mmio + PORT_CMD);
++ tmp = readl(port_mmio + PORT_CMD);
++ }
++
++ return 0;
++}
++
++static int ahci_port_standby(void __iomem *port_mmio, u32 cap)
++{
++ u32 tmp, scontrol, sstatus;
++
++ tmp = readl(port_mmio + PORT_CMD);
++ /*
++ * AHCI Rev1.1 Section 5.3.2.3:
++ * Software is only allowed to program the PxCMD.FRE,
++ * PxCMD.POD, PxSCTL.DET, and PxCMD.SUD register bits
++ * when PxCMD.ST is set to ‘0’.
++ */
++ if (tmp & PORT_CMD_START)
++ return -EBUSY;
++
++ if (cap & HOST_CAP_SSC) {
++ /*
++ * Enable transitions to slumber mode
++ */
++ scontrol = readl(port_mmio + PORT_SCR_CTL);
++ if ((scontrol & 0x0f00) > 0x100) {
++ scontrol &= ~0xf00;
++ writel(scontrol, port_mmio + PORT_SCR_CTL);
++ }
++ /*
++ * Put device into slumber mode
++ */
++ tmp |= PORT_CMD_ICC_SLUMBER;
++ writel(tmp, port_mmio + PORT_CMD);
++ tmp = readl(port_mmio + PORT_CMD);
++
++ /*
++ * Actually, we should wait for the device to
++ * enter slumber mode by checking
++ * sstatus & 0xf00 == 6
++ */
++ sstatus = readl(port_mmio + PORT_SCR_STAT);
++ }
++
++ /*
++ * Put device into listen mode
++ */
++ scontrol = readl(port_mmio + PORT_SCR_CTL);
++ scontrol &= ~0xf;
++ writel(scontrol, port_mmio + PORT_SCR_CTL);
++
++ tmp = readl(port_mmio + PORT_CMD);
++ if (cap & HOST_CAP_SSS) {
++ /*
++ * Spin down the device for staggered spin-up support
++ */
++ tmp &= ~PORT_CMD_SPIN_UP;
++ writel(tmp, port_mmio + PORT_CMD);
++ readl(port_mmio + PORT_CMD); /* flush */
++ }
++
++ return 0;
++}
++
+ static void ahci_phy_reset(struct ata_port *ap)
+ {
+ void __iomem *port_mmio = (void __iomem *) ap->ioaddr.cmd_addr;
++ struct ahci_host_priv *hpriv = ap->host_set->private_data;
+ struct ata_taskfile tf;
+ struct ata_device *dev = &ap->device[0];
+ u32 new_tmp, tmp;
+@@ -673,8 +848,6 @@ static void ahci_phy_reset(struct ata_po
+ if (ap->flags & ATA_FLAG_PORT_DISABLED)
+ return;
+
+- ahci_start_engine(port_mmio);
+-
+ tmp = readl(port_mmio + PORT_SIG);
+ tf.lbah = (tmp >> 24) & 0xff;
+ tf.lbam = (tmp >> 16) & 0xff;
+@@ -683,7 +856,7 @@ static void ahci_phy_reset(struct ata_po
+
+ dev->class = ata_dev_classify(&tf);
+ if (!ata_dev_present(dev)) {
+- ata_port_disable(ap);
++ ap->ops->port_disable(ap);
+ return;
+ }
+
+@@ -697,6 +870,10 @@ static void ahci_phy_reset(struct ata_po
+ writel(new_tmp, port_mmio + PORT_CMD);
+ readl(port_mmio + PORT_CMD); /* flush */
+ }
++
++ ahci_start_engine(port_mmio);
++
++ hpriv->dev_map |= (1 << ap->port_no);
+ }
+
+ static u8 ahci_check_status(struct ata_port *ap)
+@@ -990,7 +1167,7 @@ int ahci_scsi_device_suspend(struct scsi
+ rc = ata_device_suspend(ap, dev, state);
+
+ if (!rc)
+- rc = ahci_port_suspend(ap);
++ rc = ahci_port_suspend(ap, state);
+
+ return rc;
+ }
+@@ -1005,6 +1182,47 @@ int ahci_scsi_device_resume(struct scsi_
+ return ata_device_resume(ap, dev);
+ }
+
++int ahci_pci_device_suspend(struct pci_dev *pdev, pm_message_t state)
++{
++ struct device *dev = pci_dev_to_dev(pdev);
++ struct ata_host_set *host_set = dev_get_drvdata(dev);
++ void __iomem *mmio = host_set->mmio_base;
++ u32 tmp;
++
++ /*
++ * AHCI spec rev1.1 section 8.3.3:
++ * Software must disable interrupts prior to
++ * requesting a transition of the HBA to
++ * D3 state.
++ */
++ tmp = readl(mmio + HOST_CTL);
++ tmp &= ~HOST_IRQ_EN;
++ writel(tmp, mmio + HOST_CTL);
++ tmp = readl(mmio + HOST_CTL); /* flush */
++
++ return ata_pci_device_suspend(pdev, state);
++}
++
++int ahci_pci_device_resume(struct pci_dev *pdev)
++{
++ struct device *dev = pci_dev_to_dev(pdev);
++ struct ata_host_set *host_set = dev_get_drvdata(dev);
++ void __iomem *mmio = host_set->mmio_base;
++ u32 tmp;
++
++ /*
++ * Enabling AHCI mode
++ */
++ tmp = readl(mmio + HOST_CTL);
++ if (!(tmp & HOST_AHCI_EN)) {
++ tmp |= HOST_AHCI_EN;
++ writel(tmp, mmio + HOST_CTL);
++ tmp = readl(mmio + HOST_CTL);
++ }
++
++ return ata_pci_device_resume(pdev);
++}
++
+ static void ahci_setup_port(struct ata_ioports *port, unsigned long base,
+ unsigned int port_idx)
+ {
+@@ -1029,8 +1247,15 @@ static int ahci_host_init(struct ata_pro
+ void __iomem *port_mmio;
+
+ cap_save = readl(mmio + HOST_CAP);
+- cap_save &= ( (1<<28) | (1<<17) );
+- cap_save |= (1 << 27);
++
++ if (pdev->vendor == PCI_VENDOR_ID_INTEL) {
++ /*
++ * Intel ICHx specific
++ * AHCI spec defines HOST_CAP as R/O
++ */
++ cap_save &= ( HOST_CAP_SIS | HOST_CAP_SPM );
++ cap_save |= HOST_CAP_SSS;
++ }
+
+ /* global controller reset */
+ tmp = readl(mmio + HOST_CTL);
+@@ -1067,6 +1292,7 @@ static int ahci_host_init(struct ata_pro
+
+ hpriv->cap = readl(mmio + HOST_CAP);
+ hpriv->port_map = readl(mmio + HOST_PORTS_IMPL);
++ hpriv->dev_map = 0;
+ probe_ent->n_ports = (hpriv->cap & 0x1f) + 1;
+
+ VPRINTK("cap 0x%x port_map 0x%x n_ports %d\n",
+@@ -1123,7 +1349,10 @@ static int ahci_host_init(struct ata_pro
+ i, rc);
+
+ /*
+- * TODO: port / HBA reset if the above fails
++ * Actually, this is wrong again.
++ * AHCI spec says that we first should
++ * enable FIS reception before sending
++ * SPIN_UP to the device ...
+ */
+ writel(PORT_CMD_SPIN_UP, port_mmio + PORT_CMD);
+
+@@ -1217,7 +1446,7 @@ static void ahci_print_info(struct ata_p
+ dev_printk(KERN_INFO, &pdev->dev,
+ "flags: "
+ "%s%s%s%s%s%s"
+- "%s%s%s%s%s%s%s\n"
++ "%s%s%s%s%s%s%s%s%s%s\n"
+ ,
+
+ cap & (1 << 31) ? "64bit " : "",
+@@ -1233,7 +1462,10 @@ static void ahci_print_info(struct ata_p
+ cap & (1 << 17) ? "pmp " : "",
+ cap & (1 << 15) ? "pio " : "",
+ cap & (1 << 14) ? "slum " : "",
+- cap & (1 << 13) ? "part " : ""
++ cap & (1 << 13) ? "part " : "",
++ cap & (1 << 7) ? "coal " : "",
++ cap & (1 << 6) ? "enc " : "",
++ cap & (1 << 5) ? "ext " : ""
+ );
+ }
+
+--- linux-2.6.16/drivers/scsi/libata-core.c~ 2006-03-30 13:43:00.000000000 +0200
++++ linux-2.6.16/drivers/scsi/libata-core.c 2006-03-30 15:09:14.000000000 +0200
+@@ -1594,14 +1594,14 @@ void __sata_phy_reset(struct ata_port *a
+ } else {
+ printk(KERN_INFO "ata%u: SATA link down (SStatus %X)\n",
+ ap->id, sstatus);
+- ata_port_disable(ap);
++ ap->ops->port_disable(ap);
+ }
+
+ if (ap->flags & ATA_FLAG_PORT_DISABLED)
+ return;
+
+ if (ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT)) {
+- ata_port_disable(ap);
++ ap->ops->port_disable(ap);
+ return;
+ }
+
+@@ -1934,7 +1934,7 @@ static void ata_set_mode(struct ata_port
+ return;
+
+ err_out:
+- ata_port_disable(ap);
++ ap->ops->port_disable(ap);
+ }
+
+ /**
+@@ -2425,7 +2425,7 @@ static void ata_dev_set_xfermode(struct
+ if (ata_exec_internal(ap, dev, &tf, DMA_NONE, NULL, 0)) {
+ printk(KERN_ERR "ata%u: failed to set xfermode, disabled\n",
+ ap->id);
+- ata_port_disable(ap);
++ ap->ops->port_disable(ap);
+ }
+
+ DPRINTK("EXIT\n");
+@@ -2469,7 +2469,7 @@ static void ata_dev_reread_id(struct ata
+ return;
+ err_out:
+ printk(KERN_ERR "ata%u: failed to reread ID, disabled\n", ap->id);
+- ata_port_disable(ap);
++ ap->ops->port_disable(ap);
+ }
+
+ /**
+@@ -2503,7 +2503,7 @@ static void ata_dev_init_params(struct a
+ if (ata_exec_internal(ap, dev, &tf, DMA_NONE, NULL, 0)) {
+ printk(KERN_ERR "ata%u: failed to init parameters, disabled\n",
+ ap->id);
+- ata_port_disable(ap);
++ ap->ops->port_disable(ap);
+ }
+
+ DPRINTK("EXIT\n");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/dm_check_device_area.diff new/patches.fixes/dm_check_device_area.diff
--- old/patches.fixes/dm_check_device_area.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/dm_check_device_area.diff 2006-03-28 15:54:40.000000000 +0200
@@ -0,0 +1,28 @@
+Subject: dm:check_device_area fails on DASD devices during table create
+From: Mike Anderson
+References: 158777 - LTC22470
+
+Allow check_device_area to succeed if a device has an i_size of zero. This
+addresses an issue seen on DASD devices setting up a multipath table for
+paths in online and offline state.
+
+Signed-off-by: Mike Anderson
+Signed-off-by: Hannes Reinecke
+
+ drivers/md/dm-table.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletion(-)
+
+Index: linux-2.6.16-rc5-git9-2/drivers/md/dm-table.c
+===================================================================
+--- linux-2.6.16-rc5-git9-2.orig/drivers/md/dm-table.c 2006-03-09 22:28:47.000000000 -0800
++++ linux-2.6.16-rc5-git9-2/drivers/md/dm-table.c 2006-03-16 10:18:03.000000000 -0800
+@@ -389,7 +389,8 @@ static int check_device_area(struct dm_d
+ {
+ sector_t dev_size;
+ dev_size = dd->bdev->bd_inode->i_size >> SECTOR_SHIFT;
+- return ((start < dev_size) && (len <= (dev_size - start)));
++ return dev_size ?
++ ((start < dev_size) && (len <= (dev_size - start))) : 1;
+ }
+
+ /*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/msi-save-restore-for-suspend-resume.patch new/patches.fixes/msi-save-restore-for-suspend-resume.patch
--- old/patches.fixes/msi-save-restore-for-suspend-resume.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/msi-save-restore-for-suspend-resume.patch 2006-03-31 09:38:43.000000000 +0200
@@ -0,0 +1,373 @@
+From owner-linux-pci@atrey.karlin.mff.cuni.cz Wed Feb 8 01:12:18 2006
+Subject: PCI: MSI(X) save/restore for suspend/resume
+From: Shaohua Li
+Cc: Andrew Morton , Greg
+Date: Wed, 08 Feb 2006 17:11:38 +0800
+Message-Id: <1139389898.14976.11.camel@sli10-desk.sh.intel.com>
+
+Add MSI(X) configure sapce save/restore in generic PCI helper.
+
+Signed-off-by: Shaohua Li
+Signed-off-by: Greg Kroah-Hartman
+Acked-by: Hannes Reinecke
+
+---
+ drivers/pci/msi.c | 227 +++++++++++++++++++++++++++++++++++++++++++++-------
+ drivers/pci/pci.c | 6 +
+ drivers/pci/pci.h | 11 ++
+ include/linux/pci.h | 31 +++++++
+ 4 files changed, 246 insertions(+), 29 deletions(-)
+
+--- gregkh-2.6.orig/drivers/pci/msi.c
++++ gregkh-2.6/drivers/pci/msi.c
+@@ -504,6 +504,201 @@ void pci_scan_msi_device(struct pci_dev
+ nr_reserved_vectors++;
+ }
+
++#ifdef CONFIG_PM
++int pci_save_msi_state(struct pci_dev *dev)
++{
++ int pos, i = 0;
++ u16 control;
++ struct pci_cap_saved_state *save_state;
++ u32 *cap;
++
++ pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
++ if (pos <= 0 || dev->no_msi)
++ return 0;
++
++ pci_read_config_word(dev, msi_control_reg(pos), &control);
++ if (!(control & PCI_MSI_FLAGS_ENABLE))
++ return 0;
++
++ save_state = kzalloc(sizeof(struct pci_cap_saved_state) + sizeof(u32) * 5,
++ GFP_KERNEL);
++ if (!save_state) {
++ printk(KERN_ERR "Out of memory in pci_save_msi_state\n");
++ return -ENOMEM;
++ }
++ cap = &save_state->data[0];
++
++ pci_read_config_dword(dev, pos, &cap[i++]);
++ control = cap[0] >> 16;
++ pci_read_config_dword(dev, pos + PCI_MSI_ADDRESS_LO, &cap[i++]);
++ if (control & PCI_MSI_FLAGS_64BIT) {
++ pci_read_config_dword(dev, pos + PCI_MSI_ADDRESS_HI, &cap[i++]);
++ pci_read_config_dword(dev, pos + PCI_MSI_DATA_64, &cap[i++]);
++ } else
++ pci_read_config_dword(dev, pos + PCI_MSI_DATA_32, &cap[i++]);
++ if (control & PCI_MSI_FLAGS_MASKBIT)
++ pci_read_config_dword(dev, pos + PCI_MSI_MASK_BIT, &cap[i++]);
++ disable_msi_mode(dev, pos, PCI_CAP_ID_MSI);
++ save_state->cap_nr = PCI_CAP_ID_MSI;
++ pci_add_saved_cap(dev, save_state);
++ return 0;
++}
++
++void pci_restore_msi_state(struct pci_dev *dev)
++{
++ int i = 0, pos;
++ u16 control;
++ struct pci_cap_saved_state *save_state;
++ u32 *cap;
++
++ save_state = pci_find_saved_cap(dev, PCI_CAP_ID_MSI);
++ pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
++ if (!save_state || pos <= 0)
++ return;
++ cap = &save_state->data[0];
++
++ control = cap[i++] >> 16;
++ pci_write_config_dword(dev, pos + PCI_MSI_ADDRESS_LO, cap[i++]);
++ if (control & PCI_MSI_FLAGS_64BIT) {
++ pci_write_config_dword(dev, pos + PCI_MSI_ADDRESS_HI, cap[i++]);
++ pci_write_config_dword(dev, pos + PCI_MSI_DATA_64, cap[i++]);
++ } else
++ pci_write_config_dword(dev, pos + PCI_MSI_DATA_32, cap[i++]);
++ if (control & PCI_MSI_FLAGS_MASKBIT)
++ pci_write_config_dword(dev, pos + PCI_MSI_MASK_BIT, cap[i++]);
++ pci_write_config_word(dev, pos + PCI_MSI_FLAGS, control);
++ enable_msi_mode(dev, pos, PCI_CAP_ID_MSI);
++ pci_remove_saved_cap(save_state);
++ kfree(save_state);
++}
++
++int pci_save_msix_state(struct pci_dev *dev)
++{
++ int pos;
++ u16 control;
++ struct pci_cap_saved_state *save_state;
++
++ pos = pci_find_capability(dev, PCI_CAP_ID_MSIX);
++ if (pos <= 0 || dev->no_msi)
++ return 0;
++
++ pci_read_config_word(dev, msi_control_reg(pos), &control);
++ if (!(control & PCI_MSIX_FLAGS_ENABLE))
++ return 0;
++ save_state = kzalloc(sizeof(struct pci_cap_saved_state) + sizeof(u16),
++ GFP_KERNEL);
++ if (!save_state) {
++ printk(KERN_ERR "Out of memory in pci_save_msix_state\n");
++ return -ENOMEM;
++ }
++ *((u16 *)&save_state->data[0]) = control;
++
++ disable_msi_mode(dev, pos, PCI_CAP_ID_MSIX);
++ save_state->cap_nr = PCI_CAP_ID_MSIX;
++ pci_add_saved_cap(dev, save_state);
++ return 0;
++}
++
++void pci_restore_msix_state(struct pci_dev *dev)
++{
++ u16 save;
++ int pos;
++ int vector, head, tail = 0;
++ void __iomem *base;
++ int j;
++ struct msg_address address;
++ struct msg_data data;
++ struct msi_desc *entry;
++ int temp;
++ struct pci_cap_saved_state *save_state;
++
++ save_state = pci_find_saved_cap(dev, PCI_CAP_ID_MSIX);
++ if (!save_state)
++ return;
++ save = *((u16 *)&save_state->data[0]);
++ pci_remove_saved_cap(save_state);
++ kfree(save_state);
++
++ pos = pci_find_capability(dev, PCI_CAP_ID_MSIX);
++ if (pos <= 0)
++ return;
++
++ /* route the table */
++ temp = dev->irq;
++ if (msi_lookup_vector(dev, PCI_CAP_ID_MSIX))
++ return;
++ vector = head = dev->irq;
++ while (head != tail) {
++ entry = msi_desc[vector];
++ base = entry->mask_base;
++ j = entry->msi_attrib.entry_nr;
++
++ msi_address_init(&address);
++ msi_data_init(&data, vector);
++
++ address.lo_address.value &= MSI_ADDRESS_DEST_ID_MASK;
++ address.lo_address.value |= entry->msi_attrib.current_cpu <<
++ MSI_TARGET_CPU_SHIFT;
++
++ writel(address.lo_address.value,
++ base + j * PCI_MSIX_ENTRY_SIZE +
++ PCI_MSIX_ENTRY_LOWER_ADDR_OFFSET);
++ writel(address.hi_address,
++ base + j * PCI_MSIX_ENTRY_SIZE +
++ PCI_MSIX_ENTRY_UPPER_ADDR_OFFSET);
++ writel(*(u32*)&data,
++ base + j * PCI_MSIX_ENTRY_SIZE +
++ PCI_MSIX_ENTRY_DATA_OFFSET);
++
++ tail = msi_desc[vector]->link.tail;
++ vector = tail;
++ }
++ dev->irq = temp;
++
++ pci_write_config_word(dev, msi_control_reg(pos), save);
++ enable_msi_mode(dev, pos, PCI_CAP_ID_MSIX);
++}
++#endif
++
++static void msi_register_init(struct pci_dev *dev, struct msi_desc *entry)
++{
++ struct msg_address address;
++ struct msg_data data;
++ int pos, vector = dev->irq;
++ u16 control;
++
++ pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
++ pci_read_config_word(dev, msi_control_reg(pos), &control);
++ /* Configure MSI capability structure */
++ msi_address_init(&address);
++ msi_data_init(&data, vector);
++ entry->msi_attrib.current_cpu = ((address.lo_address.u.dest_id >>
++ MSI_TARGET_CPU_SHIFT) & MSI_TARGET_CPU_MASK);
++ pci_write_config_dword(dev, msi_lower_address_reg(pos),
++ address.lo_address.value);
++ if (is_64bit_address(control)) {
++ pci_write_config_dword(dev,
++ msi_upper_address_reg(pos), address.hi_address);
++ pci_write_config_word(dev,
++ msi_data_reg(pos, 1), *((u32*)&data));
++ } else
++ pci_write_config_word(dev,
++ msi_data_reg(pos, 0), *((u32*)&data));
++ if (entry->msi_attrib.maskbit) {
++ unsigned int maskbits, temp;
++ /* All MSIs are unmasked by default, Mask them all */
++ pci_read_config_dword(dev,
++ msi_mask_bits_reg(pos, is_64bit_address(control)),
++ &maskbits);
++ temp = (1 << multi_msi_capable(control));
++ temp = ((temp - 1) & ~temp);
++ maskbits |= temp;
++ pci_write_config_dword(dev,
++ msi_mask_bits_reg(pos, is_64bit_address(control)),
++ maskbits);
++ }
++}
++
+ /**
+ * msi_capability_init - configure device's MSI capability structure
+ * @dev: pointer to the pci_dev data structure of MSI device function
+@@ -516,8 +711,6 @@ void pci_scan_msi_device(struct pci_dev
+ static int msi_capability_init(struct pci_dev *dev)
+ {
+ struct msi_desc *entry;
+- struct msg_address address;
+- struct msg_data data;
+ int pos, vector;
+ u16 control;
+
+@@ -549,33 +742,8 @@ static int msi_capability_init(struct pc
+ /* Replace with MSI handler */
+ irq_handler_init(PCI_CAP_ID_MSI, vector, entry->msi_attrib.maskbit);
+ /* Configure MSI capability structure */
+- msi_address_init(&address);
+- msi_data_init(&data, vector);
+- entry->msi_attrib.current_cpu = ((address.lo_address.u.dest_id >>
+- MSI_TARGET_CPU_SHIFT) & MSI_TARGET_CPU_MASK);
+- pci_write_config_dword(dev, msi_lower_address_reg(pos),
+- address.lo_address.value);
+- if (is_64bit_address(control)) {
+- pci_write_config_dword(dev,
+- msi_upper_address_reg(pos), address.hi_address);
+- pci_write_config_word(dev,
+- msi_data_reg(pos, 1), *((u32*)&data));
+- } else
+- pci_write_config_word(dev,
+- msi_data_reg(pos, 0), *((u32*)&data));
+- if (entry->msi_attrib.maskbit) {
+- unsigned int maskbits, temp;
+- /* All MSIs are unmasked by default, Mask them all */
+- pci_read_config_dword(dev,
+- msi_mask_bits_reg(pos, is_64bit_address(control)),
+- &maskbits);
+- temp = (1 << multi_msi_capable(control));
+- temp = ((temp - 1) & ~temp);
+- maskbits |= temp;
+- pci_write_config_dword(dev,
+- msi_mask_bits_reg(pos, is_64bit_address(control)),
+- maskbits);
+- }
++ msi_register_init(dev, entry);
++
+ attach_msi_entry(entry, vector);
+ /* Set MSI enabled bits */
+ enable_msi_mode(dev, pos, PCI_CAP_ID_MSI);
+@@ -731,6 +899,7 @@ int pci_enable_msi(struct pci_dev* dev)
+ vector_irq[dev->irq] = -1;
+ nr_released_vectors--;
+ spin_unlock_irqrestore(&msi_lock, flags);
++ msi_register_init(dev, msi_desc[dev->irq]);
+ enable_msi_mode(dev, pos, PCI_CAP_ID_MSI);
+ return 0;
+ }
+--- gregkh-2.6.orig/drivers/pci/pci.c
++++ gregkh-2.6/drivers/pci/pci.c
+@@ -444,6 +444,10 @@ pci_save_state(struct pci_dev *dev)
+ /* XXX: 100% dword access ok here? */
+ for (i = 0; i < 16; i++)
+ pci_read_config_dword(dev, i * 4,&dev->saved_config_space[i]);
++ if ((i = pci_save_msi_state(dev)) != 0)
++ return i;
++ if ((i = pci_save_msix_state(dev)) != 0)
++ return i;
+ return 0;
+ }
+
+@@ -458,6 +462,8 @@ pci_restore_state(struct pci_dev *dev)
+
+ for (i = 0; i < 16; i++)
+ pci_write_config_dword(dev,i * 4, dev->saved_config_space[i]);
++ pci_restore_msi_state(dev);
++ pci_restore_msix_state(dev);
+ return 0;
+ }
+
+--- gregkh-2.6.orig/drivers/pci/pci.h
++++ gregkh-2.6/drivers/pci/pci.h
+@@ -55,6 +55,17 @@ void pci_no_msi(void);
+ static inline void disable_msi_mode(struct pci_dev *dev, int pos, int type) { }
+ static inline void pci_no_msi(void) { }
+ #endif
++#if defined(CONFIG_PCI_MSI) && defined(CONFIG_PM)
++int pci_save_msi_state(struct pci_dev *dev);
++int pci_save_msix_state(struct pci_dev *dev);
++void pci_restore_msi_state(struct pci_dev *dev);
++void pci_restore_msix_state(struct pci_dev *dev);
++#else
++static inline int pci_save_msi_state(struct pci_dev *dev) { return 0; }
++static inline int pci_save_msix_state(struct pci_dev *dev) { return 0; }
++static inline void pci_restore_msi_state(struct pci_dev *dev) {}
++static inline void pci_restore_msix_state(struct pci_dev *dev) {}
++#endif
+
+ extern int pcie_mch_quirk;
+ extern struct device_attribute pci_dev_attrs[];
+--- gregkh-2.6.orig/include/linux/pci.h
++++ gregkh-2.6/include/linux/pci.h
+@@ -100,6 +100,12 @@ enum pci_bus_flags {
+ PCI_BUS_FLAGS_NO_MSI = (pci_bus_flags_t) 1,
+ };
+
++struct pci_cap_saved_state {
++ struct hlist_node next;
++ char cap_nr;
++ u32 data[0];
++};
++
+ /*
+ * The pci_dev structure is used to describe PCI devices.
+ */
+@@ -159,6 +165,7 @@ struct pci_dev {
+ unsigned int block_ucfg_access:1; /* userspace config space access is blocked */
+
+ u32 saved_config_space[16]; /* config space saved at suspend time */
++ struct hlist_head saved_cap_space;
+ struct bin_attribute *rom_attr; /* attribute descriptor for sysfs ROM entry */
+ int rom_attr_enabled; /* has display of the rom attribute been enabled? */
+ struct bin_attribute *res_attr[DEVICE_COUNT_RESOURCE]; /* sysfs file for resources */
+@@ -169,6 +176,30 @@ struct pci_dev {
+ #define to_pci_dev(n) container_of(n, struct pci_dev, dev)
+ #define for_each_pci_dev(d) while ((d = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, d)) != NULL)
+
++static inline struct pci_cap_saved_state *pci_find_saved_cap(
++ struct pci_dev *pci_dev,char cap)
++{
++ struct pci_cap_saved_state *tmp;
++ struct hlist_node *pos;
++
++ hlist_for_each_entry(tmp, pos, &pci_dev->saved_cap_space, next) {
++ if (tmp->cap_nr == cap)
++ return tmp;
++ }
++ return NULL;
++}
++
++static inline void pci_add_saved_cap(struct pci_dev *pci_dev,
++ struct pci_cap_saved_state *new_cap)
++{
++ hlist_add_head(&new_cap->next, &pci_dev->saved_cap_space);
++}
++
++static inline void pci_remove_saved_cap(struct pci_cap_saved_state *cap)
++{
++ hlist_del(&cap->next);
++}
++
+ /*
+ * For PCI devices, the region numbers are assigned this way:
+ *
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/sn-hwperf-geoid-to-cnode-loop new/patches.fixes/sn-hwperf-geoid-to-cnode-loop
--- old/patches.fixes/sn-hwperf-geoid-to-cnode-loop 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/sn-hwperf-geoid-to-cnode-loop 2006-03-29 15:29:17.000000000 +0200
@@ -0,0 +1,32 @@
+From: Dean Roe
+Subject: [PATCH] fix for-loop in sn_hwperf_geoid_to_cnode()
+Acked-by: schwab@suse.de
+Patch-mainline: maybe not
+References: 161052
+
+Fix a for-loop in sn_hwperf_geoid_to_cnode(). It needs to loop over
+num_cnodes to ensure it can still process TIO nodes in addition to
+compute nodes on systems with many nodes.
+
+ Signed-off-by: Dean Roe
+
+
+Index: linux-2.6/arch/ia64/sn/kernel/sn2/sn_hwperf.c
+===================================================================
+--- linux-2.6.orig/arch/ia64/sn/kernel/sn2/sn_hwperf.c
++++ linux-2.6/arch/ia64/sn/kernel/sn2/sn_hwperf.c
+@@ -110,7 +110,7 @@
+ if (sn_hwperf_location_to_bpos(location, &rack, &bay, &slot, &slab))
+ return -1;
+
+- for_each_node(cnode) {
++ for (cnode = 0; cnode < num_cnodes; cnode++) {
+ geoid = cnodeid_get_geoid(cnode);
+ module_id = geo_module(geoid);
+ this_rack = MODULE_GET_RACK(module_id);
+
+-
+To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/xfrm-endless-loop new/patches.fixes/xfrm-endless-loop
--- old/patches.fixes/xfrm-endless-loop 2006-02-15 01:20:20.000000000 +0100
+++ new/patches.fixes/xfrm-endless-loop 2006-03-28 15:53:08.000000000 +0200
@@ -1,34 +1,35 @@
-From: Olaf Kirch
-Subject: Fix infinite loop in xfrm_lookup
+From: Jiri Bohac
+Subject: Debug possible infinite loop in xfrm_lookup
References: 117749, 115200
It seems that the route xfrm_lookup is given on input can go
away when it sleeps.
-Herbert Xu suggests that we simply bail out always. If the dst decides
-to die on us later on, the packet will be dropped anyway. So there is no
-great urgency to retry here. Once we have the proper resolution queueing,
-we can then do the retry again.
+This used to cause lockups in an infinite loop. The
+problem has probably been fixed by Olaf Kirch and Herbert Xu in 2.6.16-rc3.
+Although the missing route should not lock up the system any more, we're
+still not sure that the problem has been entirely fixed.
+
+This modified version of Olaf's patch terminates the possibly infinite loop
+after 1 minute and prints a warning and a stack dump. If anyone sees the debug
+output in their syslog, please let me know.
-This is a slightly modified version of Herbert's patch.
-
-Signed-off-by: Herbert Xu
-Acked-by: Olaf Kirch
net/xfrm/xfrm_policy.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletion(-)
--- linux-2.6.15.orig/net/xfrm/xfrm_policy.c 2006-02-14 10:33:11.000000000 -0800
+++ linux-2.6.15/net/xfrm/xfrm_policy.c 2006-02-14 10:37:55.000000000 -0800
-@@ -785,7 +785,16 @@
- u16 family = dst_orig->ops->family;
+@@ -785,7 +785,17 @@
+ u16 family;
u8 dir = policy_to_flow_dir(XFRM_POLICY_OUT);
u32 sk_sid = security_sk_sid(sk, fl, dir);
++ unsigned long timeout = jiffies + 60 * HZ;
+ int loops = 0;
+
restart:
-+ if (unlikely(++loops > 10)) {
-+ printk(KERN_NOTICE "xfrm_lookup bailing out after %d loops\n", loops);
++ if (unlikely(time_after(jiffies, timeout))) {
++ printk(KERN_NOTICE "xfrm_lookup bailing out after 60 seconds and %d loops\n", loops++);
+ dump_stack();
+ err = -EHOSTUNREACH;
+ goto error_nopol;
@@ -37,7 +38,7 @@
genid = atomic_read(&flow_cache_genid);
policy = NULL;
if (sk && sk->sk_policy[1])
-@@ -904,8 +913,9 @@
+@@ -903,8 +913,9 @@
return 0;
error:
++++++ patches.rpmify.tar.bz2 ++++++
++++++ patches.suse.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.suse/delayacct-perf-fix new/patches.suse/delayacct-perf-fix
--- old/patches.suse/delayacct-perf-fix 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/delayacct-perf-fix 2006-03-29 20:37:59.000000000 +0200
@@ -0,0 +1,33 @@
+From: Balbir Singh
+Subject: Minor delayacct performance fixes
+References: 141936 - LTC20517 - LDP 11943
+
+Acked-by: okir@suse.de
+
+Index: linux-2.6.16-20060323193339/kernel/delayacct.c
+===================================================================
+--- linux-2.6.16-20060323193339.orig/kernel/delayacct.c
++++ linux-2.6.16-20060323193339/kernel/delayacct.c
+@@ -19,7 +19,7 @@
+ #include
+ #include
+
+-int delayacct_on = 0; /* Delay accounting turned on/off */
++int delayacct_on __read_mostly = 0; /* Delay accounting turned on/off */
+ kmem_cache_t *delayacct_cache;
+
+ static int __init delayacct_setup_enable(char *str)
+Index: linux-2.6.16-20060323193339/kernel/sched.c
+===================================================================
+--- linux-2.6.16-20060323193339.orig/kernel/sched.c
++++ linux-2.6.16-20060323193339/kernel/sched.c
+@@ -1299,7 +1299,8 @@ void fastcall sched_fork(task_t *p, int
+ INIT_LIST_HEAD(&p->run_list);
+ p->array = NULL;
+ #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT)
+- memset(&p->sched_info, 0, sizeof(p->sched_info));
++ if (unlikely(sched_info_on()))
++ memset(&p->sched_info, 0, sizeof(p->sched_info));
+ #endif
+ #if defined(CONFIG_SMP) && defined(__ARCH_WANT_UNLOCKED_CTXSW)
+ p->oncpu = 0;
++++++ patches.uml.tar.bz2 ++++++
++++++ patches.xen.tar.bz2 ++++++
++++++ series.conf ++++++
--- kernel-source/series.conf 2006-03-28 13:01:57.000000000 +0200
+++ kernel-source/series.conf 2006-03-31 12:03:08.000000000 +0200
@@ -76,6 +76,8 @@
patches.arch/i386-mpparse.diff
patches.arch/microcode-quiet
+ patches.arch/i386-bigsmp-noirqbalance
+ patches.arch/i386-kexec-apic-ack
# amd64 | x86-64 | x86_64
# 'Intel(r) Extended Memory 64 Technology' | 'Intel(r) EM64T'
@@ -96,6 +98,7 @@
patches.arch/x86_64-empty-pxm
patches.arch/x86_64-memmap-alloc
patches.arch/x86_64-clear-apic
+ patches.arch/x86_64-mce-nmi-watchdog
# for i386/x86-64
patches.arch/tune-generic
@@ -136,6 +139,7 @@
patches.arch/ppc-cell-no-numa.patch
patches.arch/ppc-cell-platform-detection.patch
+ patches.arch/ppc-iseries-systemid.patch
patches.arch/ppc-kdump-veth-register.patch
patches.arch/ppc-kdump-boot-cpu-id.patch
@@ -147,6 +151,11 @@
patches.arch/ppc-poison_percpu.patch
patches.arch/ppc-task-accounting.patch
patches.arch/ppc-prom_panic-trap.patch
+ patches.arch/ppc-hvc_console-init-race.patch
+ patches.arch/ppc-SA_ONSTACK-fix.patch
+ patches.arch/ppc-protect-remove_proc_entry.patch
+ patches.arch/ppc-device-tree-dupnodes.patch
+ patches.arch/ppc-pseries-lparcfg-1.7.patch
# KDB v4.4
@@ -606,6 +615,7 @@
patches.arch/s390-01-03-october2005.diff
patches.arch/s390-01-04-october2005.diff
+ patches.arch/s390-qeth-vipa-fix
patches.arch/s390-statistic-disclaimer.diff
########################################################
#
@@ -613,6 +623,8 @@
# patches:
#
########################################################
+ # Enable RAW devices
+ patches.arch/s390-raw-device
# Removing ERP debugging code (#36834)
+hare patches.arch/s390-dasd-erp-debug.patch
@@ -840,6 +852,7 @@
patches.suse/genetlink-utils
patches.suse/delayacct-genetlink
patches.suse/delayacct-virtcpu
+ patches.suse/delayacct-perf-fix
patches.fixes/nfs4-acl-listattr-fix.diff
@@ -908,7 +921,15 @@
patches.fixes/md-barrier-fixes
patches.fixes/md-grow-max-fix
patches.fixes/md-faulty-count-fix
++hare patches.fixes/dm_check_device_area.diff
+ patches.drivers/ixgb-consistent-dma-mask
+
+ # bug #161052
+ patches.fixes/sn-hwperf-geoid-to-cnode-loop
+ patches.fixes/ahci-init-on-resume
+ patches.fixes/msi-save-restore-for-suspend-resume.patch
+
# PLEASE KEEP THESE PATCHES AT THE END OF series.conf
# (as all other arch specific patches should be kept at the end
# for obvious reasons.)
++++++ supported.conf ++++++
--- kernel-source/supported.conf 2006-03-28 13:01:57.000000000 +0200
+++ kernel-source/supported.conf 2006-03-31 12:03:08.000000000 +0200
@@ -1229,7 +1229,7 @@
kernel/drivers/scsi/ide-scsi
kernel/drivers/scsi/imm
+isa kernel/drivers/scsi/in2000
- kernel/drivers/scsi/initio
+- kernel/drivers/scsi/initio # INITIO 9100
kernel/drivers/scsi/ipr
kernel/drivers/scsi/ips
kernel/drivers/scsi/libata # Library module for ATA devices
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...