Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at Fri Dec 4 12:14:54 CET 2009. -------- --- kernel-source/kernel-debug.changes 2009-11-26 15:39:35.000000000 +0100 +++ /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes 2009-12-04 04:05:57.000000000 +0100 @@ -1,0 +2,478 @@ +Fri Dec 4 00:41:32 CET 2009 - gregkh@suse.de + +- Update config files. + CONFIG_DRM_I915_KMS=y for x86-64 and i386 vanilla (bnc#560402) + +------------------------------------------------------------------- +Fri Dec 4 00:17:46 CET 2009 - gregkh@suse.de + +- Update config files. + CONFIG_DRM_I915_KMS=y for x86-64 (bnc#560402) + +------------------------------------------------------------------- +Fri Dec 4 00:16:20 CET 2009 - gregkh@suse.de + +- Update config files. + CONFIG_DRM_I915_KMS=y for i386 (bnc#560402) + +------------------------------------------------------------------- +Thu Dec 3 20:53:57 CET 2009 - jeffm@suse.com + +- patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch: + Delete. (bnc#560043) + +------------------------------------------------------------------- +Thu Dec 3 20:13:09 CET 2009 - jeffm@suse.com + +- Cleanup config files. + +------------------------------------------------------------------- +Thu Dec 3 19:34:08 CET 2009 - bphilips@suse.de + +- patches.drivers/tg3_libphy_workaround: Delete. We have all of the 57780 + phylib and tg3 changes due to 2.6.32 bump. + +------------------------------------------------------------------- +Thu Dec 3 19:06:23 CET 2009 - duwe@suse.de + +- back out cpuidle feature that is still unconsistent. + +------------------------------------------------------------------- +Thu Dec 3 18:40:03 CET 2009 - mfasheh@suse.com + +- patches.suse/ocfs2-allocation-resrvations.patch: Refresh. + +------------------------------------------------------------------- +Thu Dec 3 18:21:13 CET 2009 - duwe@suse.de + +- patches.suse/cpuidle-cleanup: Refresh. + Fix the "fixed" feature patch set from IBM. + +------------------------------------------------------------------- +Thu Dec 3 18:04:51 CET 2009 - mfasheh@suse.com + +- Update config files. +- patches.suse/gfs2-ro-mounts-only.patch: gfs2: allow spectator + mounts for migration to ocfs2 (FATE#307584). + +------------------------------------------------------------------- +Thu Dec 3 17:19:44 CET 2009 - duwe@suse.de + +- Update config files for 2.6.32 (again). + +------------------------------------------------------------------- +Thu Dec 3 17:00:12 CET 2009 - duwe@suse.de + +- Update config files for cpuidle. + +------------------------------------------------------------------- +Thu Dec 3 16:45:06 CET 2009 - tiwai@suse.de + +- patches.drivers/8250_pnp-wacom-add: serial/8250_pnp.c: add + new Wacom devices (bnc#544763). + +------------------------------------------------------------------- +Thu Dec 3 16:40:59 CET 2009 - duwe@suse.de + +- patches.suse/cpuidle-cleanup: Refresh. + one lonely hunk already seems to be in 2.6.32 final + +------------------------------------------------------------------- +Thu Dec 3 16:33:28 CET 2009 - duwe@suse.de + +- bnc#552860 / FATE#307104: kernel idle low power, take 2: +- patches.suse/cpuidle-cleanup: Refresh. +- patches.suse/cpuidle-cleanup-x86: Refresh. +- patches.suse/cpuidle-eliminate-ppcmdpowersave1: Refresh. + +------------------------------------------------------------------- +Thu Dec 3 15:59:01 CET 2009 - jeffm@suse.com + +- Updated to 2.6.32-final. + - 2 patches eliminated. + +------------------------------------------------------------------- +Thu Dec 3 15:19:01 CET 2009 - hare@suse.de + +- Update config files: Enable Hibernation for zSeries. + +------------------------------------------------------------------- +Thu Dec 3 14:42:32 CET 2009 - mmarek@suse.cz + +- Update config files: Disable CONFIG_MFD_PCF50633, the chip is + unlikely to be used on architectures we support. + +------------------------------------------------------------------- +Thu Dec 3 13:54:17 CET 2009 - mmarek@suse.cz + +- rpm/split-modules: Print which supported modules need unsupported + modules. + +------------------------------------------------------------------- +Thu Dec 3 12:56:43 CET 2009 - jdelvare@suse.de + +- supported.conf: support lis3lv02d, hp_accel needs it. + +------------------------------------------------------------------- +Thu Dec 3 12:03:20 CET 2009 - jdelvare@suse.de + +- supported.conf: hp_accel is supported (FATE #306448). + +------------------------------------------------------------------- +Thu Dec 3 11:54:14 CET 2009 - jdelvare@suse.de + +- supported.conf: remove wm831x drivers, we no longer ship them. + +------------------------------------------------------------------- +Thu Dec 3 11:32:03 CET 2009 - jdelvare@suse.de + +- Update config files: disable all new hwmon drivers on ppc + (default and vanilla) for consistency. + +------------------------------------------------------------------- +Thu Dec 3 11:30:08 CET 2009 - mmarek@suse.cz + +- supported.conf: Add wm831x, needed by drivers/input/misc/wm831x-on. + +------------------------------------------------------------------- +Thu Dec 3 11:03:24 CET 2009 - mmarek@suse.cz + +- supported.conf: Fix up after commit bfea0bd. + +------------------------------------------------------------------- +Thu Dec 3 10:53:16 CET 2009 - jdelvare@suse.de + +- Update config files: disable WM831x and WM8350 support entirely, + as recommended by the drivers author. These devices are only + found on embedded devices such as music players or mobile phones. + +------------------------------------------------------------------- +Thu Dec 3 10:26:09 CET 2009 - hare@suse.de + +- supported.conf: Mark pmcraid and igbvf as supported; + OSD drivers as unsupported. + +------------------------------------------------------------------- +Thu Dec 3 09:48:04 CET 2009 - jdelvare@suse.de + +- Restore link from config/s390/vanilla to config/s390x/vanilla. + +------------------------------------------------------------------- +Thu Dec 3 09:10:46 CET 2009 - jbeulich@novell.com + +- supported.conf: Update Xen drivers. + +------------------------------------------------------------------- +Thu Dec 3 04:57:00 CET 2009 - tonyj@suse.de + +- needs_update: readd + patches.suse/perfmon2-remove_get_base_syscall_attr.patch + patches.suse/perfmon2-remove_syscalls.patch + +------------------------------------------------------------------- +Thu Dec 3 04:08:24 CET 2009 - gregkh@suse.de + +- rpm/post.sh: +- rpm/postun.sh: woh dluoc I tegrof ot esolc eht fi + +------------------------------------------------------------------- +Thu Dec 3 01:51:51 CET 2009 - gregkh@suse.de + +- rpm/post.sh: +- rpm/postun.sh: If this is a Moblin-based box, don't run yast-bootloader + +------------------------------------------------------------------- +Wed Dec 2 23:01:36 CET 2009 - jdelvare@suse.de + +- Update config files: stop shipping wm831x-hwmon, wm8350-hwmon, + i2c-simtec and i2c-designware. +- supported.conf: remove i2c-simtec. + +------------------------------------------------------------------- +Wed Dec 2 22:49:01 CET 2009 - jdelvare@suse.de + +- supported.conf: Add all new hwmon and i2c/busses drivers. The + former unsupported, the latter supported. + +------------------------------------------------------------------- ++++ 281 more lines (skipped) ++++ between kernel-source/kernel-debug.changes ++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes kernel-default.changes: same change kernel-desktop.changes: same change kernel-ec2.changes: same change kernel-pae.changes: same change kernel-ppc64.changes: same change kernel-ps3.changes: same change kernel-s390.changes: same change kernel-source.changes: same change kernel-syms.changes: same change kernel-trace.changes: same change kernel-vanilla.changes: same change kernel-xen.changes: same change calling whatdependson for head-i586 Old: ---- linux-2.6.31.tar.bz2 New: ---- linux-2.6.32.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kernel-debug.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor debug @@ -49,7 +49,7 @@ Name: kernel-debug Summary: A Debug Version of the Kernel Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -187,6 +187,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -494,9 +495,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-default.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor default @@ -49,7 +49,7 @@ Name: kernel-default Summary: The Standard Kernel Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -203,6 +203,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -509,9 +510,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-desktop.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor desktop @@ -49,7 +49,7 @@ Name: kernel-desktop Summary: Kernel optimized for the desktop Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -183,6 +183,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -500,9 +501,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-ec2.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor ec2 @@ -49,7 +49,7 @@ Name: kernel-ec2 Summary: The Amazon EC2 Xen Kernel Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -183,6 +183,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -492,9 +493,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor pae @@ -49,7 +49,7 @@ Name: kernel-pae Summary: Kernel with PAE Support Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -187,6 +187,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -500,9 +501,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-ppc64.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor ppc64 @@ -49,7 +49,7 @@ Name: kernel-ppc64 Summary: Kernel for ppc64 Systems Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -191,6 +191,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -504,9 +505,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-ps3.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor ps3 @@ -49,7 +49,7 @@ Name: kernel-ps3 Summary: kernel for ps3 bootloader Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -183,6 +183,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -492,9 +493,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-s390.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor s390 @@ -49,7 +49,7 @@ Name: kernel-s390 Summary: The Standard Kernel Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -187,6 +187,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -493,9 +494,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -18,8 +18,8 @@ # norootforbuild # icecream 0 -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define src_install_dir usr/src/linux-%kernelrelease%variant @@ -29,7 +29,7 @@ Name: kernel-source Summary: The Linux Kernel Sources Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -23,7 +23,7 @@ Name: kernel-syms Summary: Kernel Symbol Versions (modversions) Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %define kernel_source_release %(LC_ALL=C rpm -q kernel-source%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0) ++++++ kernel-trace.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor trace @@ -49,7 +49,7 @@ Name: kernel-trace Summary: The Realtime Linux Kernel Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -183,6 +183,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -489,9 +490,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-vanilla.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor vanilla @@ -49,7 +49,7 @@ Name: kernel-vanilla Summary: The Standard Kernel - without any SUSE patches Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -191,6 +191,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -497,9 +498,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ kernel-xen.spec ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -17,8 +17,8 @@ # norootforbuild -%define srcversion 2.6.31 -%define patchversion 2.6.32-rc8 +%define srcversion 2.6.32 +%define patchversion 2.6.32 %define variant %{nil} %include %_sourcedir/kernel-spec-macros %define build_flavor xen @@ -49,7 +49,7 @@ Name: kernel-xen Summary: The Xen Kernel Version: 2.6.32 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -183,6 +183,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -492,9 +493,6 @@ fi %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ check-supported-list ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -16,6 +16,10 @@ status= cd $modpath for module in $(find . -name '*.ko' | sort); do + case "$module" in + ./kernel/drivers/staging/* | ./kernel/Documentation/*) + continue ;; + esac module=${module%.ko} m=${module##*/} m=${m//-/_} ++++++ config.sh ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100 @@ -1,4 +1,4 @@ # The version of the main tarball to use -SRCVERSION=2.6.31 +SRCVERSION=2.6.32 # variant of the kernel-source package, either empty or "-rt" VARIANT= ++++++ config.tar.bz2 ++++++ ++++ 5002 lines of diff (skipped) ++++++ kernel-binary.spec.in ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:37.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:37.000000000 +0100 @@ -197,6 +197,7 @@ Obsoletes: fnic-kmp-%build_flavor Obsoletes: brocade-bfa-kmp-%build_flavor Obsoletes: kvm-kmp-%build_flavor +Obsoletes: perfmon-kmp-%build_flavor # sle11 Obsoletes: ocfs2-kmp-%build_flavor # 11.1 @@ -552,9 +553,6 @@ %if %split_base %_sourcedir/split-modules -d %buildroot \ -%if ! %supported_modules_check - -i \ -%endif -o %my_builddir \ -b %kernel_build_dir/Module.base \ -s %kernel_build_dir/Module.supported ++++++ linux-2.6.31.tar.bz2 -> linux-2.6.32.tar.bz2 ++++++ kernel-source/linux-2.6.31.tar.bz2 /mounts/work_src_done/STABLE/kernel-source/linux-2.6.32.tar.bz2 differ: byte 11, line 1 ++++++ minmem ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:37.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:37.000000000 +0100 @@ -1 +1 @@ -2096000 +1048576 ++++++ needed_space_in_mb ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:38.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:38.000000000 +0100 @@ -1 +1 @@ -6000 +6144 ++++++ patches.arch.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch new/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch --- old/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch 2009-11-26 14:49:03.000000000 +0100 +++ new/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,32 +0,0 @@ -Subject: Don't spu_acquire_saved unnecessarily in regs read -From: Jeremy Kerr <jk@ozlabs.org> -References: 447133 - LTC50070 - -With most file readers (eg cat, dd), reading a context's regs file will -result in two reads: the first to read the data, and the second to -return EOF. Because each read performs a spu_acquire_saved, we end up -descheduling and re-scheduling the context twice. - -This change does a simple check to see if we'd return EOF before -calling spu_acquire_saved(), saving the extra schedule operation. - -Signed-off-by: Jeremy Kerr <jk@ozlabs.org> -Signed-off-by: Olaf Hering <olh@suse.de> ---- - arch/powerpc/platforms/cell/spufs/file.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/arch/powerpc/platforms/cell/spufs/file.c -+++ b/arch/powerpc/platforms/cell/spufs/file.c -@@ -608,6 +608,11 @@ spufs_fpcr_read(struct file *file, char - int ret; - struct spu_context *ctx = file->private_data; - -+ /* pre-check for file position: if we'd return EOF, there's no point -+ * causing a deschedule */ -+ if (*pos >= sizeof(ctx->csa.lscsa->gprs)) -+ return 0; -+ - ret = spu_acquire_saved(ctx); - if (ret) - return ret; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-64-add-comment-for-rodata-large-page-retainment new/patches.arch/x86-64-add-comment-for-rodata-large-page-retainment --- old/patches.arch/x86-64-add-comment-for-rodata-large-page-retainment 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.arch/x86-64-add-comment-for-rodata-large-page-retainment 2009-11-30 23:06:18.000000000 +0100 @@ -0,0 +1,40 @@ +From: Suresh Siddha <suresh.b.siddha@intel.com> +Date: Mon, 19 Oct 2009 13:12:04 +0000 (-0700) +Subject: x86-64: add comment for RODATA large page retainment +Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86.git +Git-commit: d6cc1c3af760c1d3f6b42f6e52b08718a6207cf1 +References: bnc#558249 + +x86-64: add comment for RODATA large page retainment + +Add a comment explaining why RODATA is aligned to 2 MB. + +Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> +Signed-off-by: H. Peter Anvin <hpa@zytor.com> +Acked-by: Jeff Mahoney <jeffm@suse.com> +--- + arch/x86/kernel/vmlinux.lds.S | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +--- a/arch/x86/kernel/vmlinux.lds.S ++++ b/arch/x86/kernel/vmlinux.lds.S +@@ -44,7 +44,18 @@ jiffies_64 = jiffies; + #endif + + #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) +- ++/* ++ * On 64-bit, align RODATA to 2MB so that even with CONFIG_DEBUG_RODATA ++ * we retain large page mappings for boundaries spanning kernel text, rodata ++ * and data sections. ++ * ++ * However, kernel identity mappings will have different RWX permissions ++ * to the pages mapping to text and to the pages padding (which are freed) the ++ * text section. Hence kernel identity mappings will be broken to smaller ++ * pages. For 64-bit, kernel text and kernel identity mappings are different, ++ * so we can enable protection checks that come with CONFIG_DEBUG_RODATA, ++ * as well as retain 2MB large page mappings for kernel text. ++ */ + #define X64_ALIGN_DEBUG_RODATA_BEGIN . = ALIGN(HPAGE_SIZE); + + #define X64_ALIGN_DEBUG_RODATA_END \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata new/patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata --- old/patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata 2009-11-30 23:06:18.000000000 +0100 @@ -0,0 +1,142 @@ +From: Suresh Siddha <suresh.b.siddha@intel.com> +Date: Wed, 14 Oct 2009 21:46:56 +0000 (-0700) +Subject: x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA +Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86.git +Git-commit: 74e081797bd9d2a7d8005fe519e719df343a2ba8 +References: bnc#558249 + +x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA + +CONFIG_DEBUG_RODATA chops the large pages spanning boundaries of kernel +text/rodata/data to small 4KB pages as they are mapped with different +attributes (text as RO, RODATA as RO and NX etc). + +On x86_64, preserve the large page mappings for kernel text/rodata/data +boundaries when CONFIG_DEBUG_RODATA is enabled. This is done by allowing the +RODATA section to be hugepage aligned and having same RWX attributes +for the 2MB page boundaries + +Extra Memory pages padding the sections will be freed during the end of the boot +and the kernel identity mappings will have different RWX permissions compared to +the kernel text mappings. + +Kernel identity mappings to these physical pages will be mapped with smaller +pages but large page mappings are still retained for kernel text,rodata,data +mappings. + +Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> +LKML-Reference: <20091014220254.190119924@sbs-t61.sc.intel.com> +Signed-off-by: H. Peter Anvin <hpa@zytor.com> +Acked-by: Jeff Mahoney <jeffm@suse.com> +--- + arch/x86/include/asm/sections.h | 6 ++++++ + arch/x86/kernel/vmlinux.lds.S | 17 +++++++++++++++++ + arch/x86/mm/init_64.c | 14 +++++++++++++- + arch/x86/mm/pageattr.c | 14 ++++++++++++++ + 4 files changed, 50 insertions(+), 1 deletion(-) + +--- a/arch/x86/include/asm/sections.h ++++ b/arch/x86/include/asm/sections.h +@@ -2,7 +2,13 @@ + #define _ASM_X86_SECTIONS_H + + #include <asm-generic/sections.h> ++#include <asm/uaccess.h> + + extern char __brk_base[], __brk_limit[]; ++extern struct exception_table_entry __stop___ex_table[]; ++ ++#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) ++extern char __end_rodata_hpage_align[]; ++#endif + + #endif /* _ASM_X86_SECTIONS_H */ +--- a/arch/x86/kernel/vmlinux.lds.S ++++ b/arch/x86/kernel/vmlinux.lds.S +@@ -43,6 +43,21 @@ ENTRY(phys_startup_64) + jiffies_64 = jiffies; + #endif + ++#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) ++ ++#define X64_ALIGN_DEBUG_RODATA_BEGIN . = ALIGN(HPAGE_SIZE); ++ ++#define X64_ALIGN_DEBUG_RODATA_END \ ++ . = ALIGN(HPAGE_SIZE); \ ++ __end_rodata_hpage_align = .; ++ ++#else ++ ++#define X64_ALIGN_DEBUG_RODATA_BEGIN ++#define X64_ALIGN_DEBUG_RODATA_END ++ ++#endif ++ + PHDRS { + text PT_LOAD FLAGS(5); /* R_E */ + data PT_LOAD FLAGS(7); /* RWE */ +@@ -96,7 +111,9 @@ SECTIONS + + EXCEPTION_TABLE(16) :text = 0x9090 + ++ X64_ALIGN_DEBUG_RODATA_BEGIN + RO_DATA(PAGE_SIZE) ++ X64_ALIGN_DEBUG_RODATA_END + + /* Data */ + .data : AT(ADDR(.data) - LOAD_OFFSET) { +--- a/arch/x86/mm/init_64.c ++++ b/arch/x86/mm/init_64.c +@@ -726,9 +726,13 @@ void set_kernel_text_ro(void) + + void mark_rodata_ro(void) + { +- unsigned long start = PFN_ALIGN(_text), end = PFN_ALIGN(__end_rodata); ++ unsigned long start = PFN_ALIGN(_text); + unsigned long rodata_start = + ((unsigned long)__start_rodata + PAGE_SIZE - 1) & PAGE_MASK; ++ unsigned long end = (unsigned long) &__end_rodata_hpage_align; ++ unsigned long text_end = PAGE_ALIGN((unsigned long) &__stop___ex_table); ++ unsigned long rodata_end = PAGE_ALIGN((unsigned long) &__end_rodata); ++ unsigned long data_start = (unsigned long) &_sdata; + + printk(KERN_INFO "Write protecting the kernel read-only data: %luk\n", + (end - start) >> 10); +@@ -751,6 +755,14 @@ void mark_rodata_ro(void) + printk(KERN_INFO "Testing CPA: again\n"); + set_memory_ro(start, (end-start) >> PAGE_SHIFT); + #endif ++ ++ free_init_pages("unused kernel memory", ++ (unsigned long) page_address(virt_to_page(text_end)), ++ (unsigned long) ++ page_address(virt_to_page(rodata_start))); ++ free_init_pages("unused kernel memory", ++ (unsigned long) page_address(virt_to_page(rodata_end)), ++ (unsigned long) page_address(virt_to_page(data_start))); + } + + #endif +--- a/arch/x86/mm/pageattr.c ++++ b/arch/x86/mm/pageattr.c +@@ -279,6 +279,20 @@ static inline pgprot_t static_protection + __pa((unsigned long)__end_rodata) >> PAGE_SHIFT)) + pgprot_val(forbidden) |= _PAGE_RW; + ++#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) ++ /* ++ * Kernel text mappings for the large page aligned .rodata section ++ * will be read-only. For the kernel identity mappings covering ++ * the holes caused by this alignment can be anything. ++ * ++ * This will preserve the large page mappings for kernel text/data ++ * at no extra cost. ++ */ ++ if (within(address, (unsigned long)_text, ++ (unsigned long)__end_rodata_hpage_align)) ++ pgprot_val(forbidden) |= _PAGE_RW; ++#endif ++ + prot = __pgprot(pgprot_val(prot) & ~pgprot_val(forbidden)); + + return prot; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata new/patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata --- old/patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata 2009-11-30 23:06:18.000000000 +0100 @@ -0,0 +1,82 @@ +From: Suresh Siddha <suresh.b.siddha@intel.com> +Date: Wed, 14 Oct 2009 21:46:55 +0000 (-0700) +Subject: x86-64: preserve large page mapping for 1st 2MB kernel txt with CONFIG_DEBUG_RODATA +Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86.git +Git-commit: b9af7c0d44b8bb71e3af5e94688d076414aa8c87 +References: bnc#558249 + +x86-64: preserve large page mapping for 1st 2MB kernel txt with CONFIG_DEBUG_RODATA + +In the first 2MB, kernel text is co-located with kernel static +page tables setup by head_64.S. CONFIG_DEBUG_RODATA chops this +2MB large page mapping to small 4KB pages as we mark the kernel text as RO, +leaving the static page tables as RW. + +With CONFIG_DEBUG_RODATA disabled, OLTP run on NHM-EP shows 1% improvement +with 2% reduction in system time and 1% improvement in iowait idle time. + +To recover this, move the kernel static page tables to .data section, so that +we don't have to break the first 2MB of kernel text to small pages with +CONFIG_DEBUG_RODATA. + +Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> +LKML-Reference: <20091014220254.063193621@sbs-t61.sc.intel.com> +Signed-off-by: H. Peter Anvin <hpa@zytor.com> +Acked-by: Jeff Mahoney <jeffm@suse.com> +--- + arch/x86/kernel/head_64.S | 3 ++- + arch/x86/mm/init_64.c | 6 +++--- + 2 files changed, 5 insertions(+), 4 deletions(-) + +--- a/arch/x86/kernel/head_64.S ++++ b/arch/x86/kernel/head_64.S +@@ -262,11 +262,11 @@ ENTRY(secondary_startup_64) + .quad x86_64_start_kernel + ENTRY(initial_gs) + .quad INIT_PER_CPU_VAR(irq_stack_union) +- __FINITDATA + + ENTRY(stack_start) + .quad init_thread_union+THREAD_SIZE-8 + .word 0 ++ __FINITDATA + + bad_address: + jmp bad_address +@@ -353,6 +353,7 @@ ENTRY(name) + i = i + 1 ; \ + .endr + ++ .data + /* + * This default setting generates an ident mapping at address 0x100000 + * and a mapping for the kernel that precisely maps virtual address +--- a/arch/x86/mm/init_64.c ++++ b/arch/x86/mm/init_64.c +@@ -698,7 +698,7 @@ static int kernel_set_to_readonly; + + void set_kernel_text_rw(void) + { +- unsigned long start = PFN_ALIGN(_stext); ++ unsigned long start = PFN_ALIGN(_text); + unsigned long end = PFN_ALIGN(__start_rodata); + + if (!kernel_set_to_readonly) +@@ -712,7 +712,7 @@ void set_kernel_text_rw(void) + + void set_kernel_text_ro(void) + { +- unsigned long start = PFN_ALIGN(_stext); ++ unsigned long start = PFN_ALIGN(_text); + unsigned long end = PFN_ALIGN(__start_rodata); + + if (!kernel_set_to_readonly) +@@ -726,7 +726,7 @@ void set_kernel_text_ro(void) + + void mark_rodata_ro(void) + { +- unsigned long start = PFN_ALIGN(_stext), end = PFN_ALIGN(__end_rodata); ++ unsigned long start = PFN_ALIGN(_text), end = PFN_ALIGN(__end_rodata); + unsigned long rodata_start = + ((unsigned long)__start_rodata + PAGE_SIZE - 1) & PAGE_MASK; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-fix-nodac new/patches.arch/x86-fix-nodac --- old/patches.arch/x86-fix-nodac 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.arch/x86-fix-nodac 2009-11-30 23:06:18.000000000 +0100 @@ -0,0 +1,25 @@ +From: Tejun Heo <tj@kernel.org> +Subject: x86: fix iommu=nodac parameter handling +References: bnc#463829 + +nodac should forbid dac not instead of enabling it. Fix it. + +Signed-off-by: Tejun Heo <tj@kernel.org> +Signed-off-by: Tejun Heo <teheo@suse.de> +--- + arch/x86/kernel/pci-dma.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: linux-2.6.31-master/arch/x86/kernel/pci-dma.c +=================================================================== +--- linux-2.6.31-master.orig/arch/x86/kernel/pci-dma.c ++++ linux-2.6.31-master/arch/x86/kernel/pci-dma.c +@@ -214,7 +214,7 @@ static __init int iommu_setup(char *p) + if (!strncmp(p, "allowdac", 8)) + forbid_dac = 0; + if (!strncmp(p, "nodac", 5)) +- forbid_dac = -1; ++ forbid_dac = 1; + if (!strncmp(p, "usedac", 6)) { + forbid_dac = -1; + return 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-mcp51-no-dac new/patches.arch/x86-mcp51-no-dac --- old/patches.arch/x86-mcp51-no-dac 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.arch/x86-mcp51-no-dac 2009-11-30 23:06:18.000000000 +0100 @@ -0,0 +1,39 @@ +From: Tejun Heo <tj@kernel.org> +Subject: x86: disallow DAC for MCP51 PCI bridge +References: bnc#463829 + +MCP51 corrupts DAC transfers. Disallow it. Reported by pgnet on +bnc#463829. + + https://bugzilla.novell.com/show_bug.cgi?id=463829 + +Signed-off-by: Tejun Heo <tj@kernel.org> +Reported-by: pgnet <pgnet.trash@gmail.com> +Signed-off-by: Tejun Heo <teheo@suse.de> +--- + arch/x86/kernel/pci-dma.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +Index: linux-2.6.31-master/arch/x86/kernel/pci-dma.c +=================================================================== +--- linux-2.6.31-master.orig/arch/x86/kernel/pci-dma.c ++++ linux-2.6.31-master/arch/x86/kernel/pci-dma.c +@@ -322,4 +322,18 @@ static __devinit void via_no_dac(struct + } + } + DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac); ++ ++/* ++ * MCP51 PCI bridge corrupts data for DAC. Disable it. Reported in ++ * bnc#463829. ++ */ ++static __devinit void mcp51_no_dac(struct pci_dev *dev) ++{ ++ if (forbid_dac == 0) { ++ printk(KERN_INFO ++ "PCI: MCP51 PCI bridge detected. Disabling DAC.\n"); ++ forbid_dac = 1; ++ } ++} ++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x026f, mcp51_no_dac); + #endif ++++++ patches.drivers.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/8250_pnp-wacom-add new/patches.drivers/8250_pnp-wacom-add --- old/patches.drivers/8250_pnp-wacom-add 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.drivers/8250_pnp-wacom-add 2009-12-03 16:45:09.000000000 +0100 @@ -0,0 +1,42 @@ +From: "Ping Cheng" <pingc@wacom.com> +Subject: [PATCH] serial/8250_pnp.c: add new Wacom devices +Patch-mainline: +References: bnc#544763 + +Add 10 serial Wacom Tablet PC devices. In fact, +The last 3 bytes of WACF### are all reserved +for Wacom serial OEMs. + +Signed-off-by: Ping Cheng <pingc@wacom.com> +Signed-off-by: Takashi Iwai <tiwai@suse.de> +--- + drivers/serial/8250_pnp.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +--- a/drivers/serial/8250_pnp.c ++++ b/drivers/serial/8250_pnp.c +@@ -337,6 +337,15 @@ + { "WACF00A", 0 }, + { "WACF00B", 0 }, + { "WACF00C", 0 }, ++ { "WACF00D", 0 }, ++ { "WACF00E", 0 }, ++ { "WACF00F", 0 }, ++ { "WACF010", 0 }, ++ { "WACF011", 0 }, ++ { "WACF012", 0 }, ++ { "WACF013", 0 }, ++ { "WACF014", 0 }, ++ { "WACF015", 0 }, + /* Compaq touchscreen */ + { "FPI2002", 0 }, + /* Fujitsu Stylistic touchscreens */ +@@ -354,6 +363,8 @@ + { "FUJ02E5", 0 }, + /* Fujitsu P-series tablet PC device */ + { "FUJ02E6", 0 }, ++ /* Fujitsu Wacom Tablet PC device */ ++ { "FUJ02E7", 0 }, + /* + * LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in + * disguise) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix new/patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix --- old/patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix 2009-12-03 16:45:09.000000000 +0100 @@ -0,0 +1,26 @@ +From 45d4ebf1a6255f2234a041685789cbecac3453f1 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Mon, 30 Nov 2009 11:58:30 +0100 +Subject: ALSA: hda - Add a position_fix quirk for MSI Wind U115 +Patch-mainline: +References: + +MSI Wind U115 seems to require position_fix=1 explicitly. +Otherwise it screws up PulseAudio. + +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +--- + sound/pci/hda/hda_intel.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -2223,6 +2223,7 @@ + SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB), ++ SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB), + {} + }; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix new/patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix --- old/patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix 2009-12-03 16:45:09.000000000 +0100 @@ -0,0 +1,36 @@ +From 854206b074581957e7b5c955001c329f94986b4c Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Mon, 30 Nov 2009 18:22:04 +0100 +Subject: ALSA: hda - Fix Cxt5047 test mode +Patch-mainline: +References: bnc#559062 + +The NID 0x1a of Conexant 5047 chip is a mic boost volume only with +the output amp unlike 5045 chip. + +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +--- + sound/pci/hda/patch_conexant.c | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +--- a/sound/pci/hda/patch_conexant.c ++++ b/sound/pci/hda/patch_conexant.c +@@ -1415,16 +1415,7 @@ + .get = conexant_mux_enum_get, + .put = conexant_mux_enum_put, + }, +- HDA_CODEC_VOLUME("Input-1 Volume", 0x1a, 0x0, HDA_INPUT), +- HDA_CODEC_MUTE("Input-1 Switch", 0x1a, 0x0, HDA_INPUT), +- HDA_CODEC_VOLUME("Input-2 Volume", 0x1a, 0x1, HDA_INPUT), +- HDA_CODEC_MUTE("Input-2 Switch", 0x1a, 0x1, HDA_INPUT), +- HDA_CODEC_VOLUME("Input-3 Volume", 0x1a, 0x2, HDA_INPUT), +- HDA_CODEC_MUTE("Input-3 Switch", 0x1a, 0x2, HDA_INPUT), +- HDA_CODEC_VOLUME("Input-4 Volume", 0x1a, 0x3, HDA_INPUT), +- HDA_CODEC_MUTE("Input-4 Switch", 0x1a, 0x3, HDA_INPUT), +- HDA_CODEC_VOLUME("Input-5 Volume", 0x1a, 0x4, HDA_INPUT), +- HDA_CODEC_MUTE("Input-5 Switch", 0x1a, 0x4, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Boost Volume", 0x1a, 0x0, HDA_OUTPUT), + + { } /* end */ + }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix new/patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix --- old/patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix 2009-12-03 16:45:09.000000000 +0100 @@ -0,0 +1,58 @@ +From cfc9b06f0befe50ef02253f72b76946363549031 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Tue, 1 Dec 2009 12:19:37 +0100 +Subject: ALSA: hda - Add a pin-fix for FSC Amilo Pi1505 +Patch-mainline: +References: bnc#557403 + +FSC Amilo Pi 1505 has a buggy BIOS and doesn't set up the HP and +speaker pins properly. Add the pinfix entry for that. + +Reference: Novell bnc#557403 + https://bugzilla.novell.com/show_bug.cgi?id=557403 + +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +--- + sound/pci/hda/patch_realtek.c | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -14627,6 +14627,27 @@ + }, + }; + ++/* Pin config fixes */ ++enum { ++ PINFIX_FSC_AMILO_PI1505, ++}; ++ ++static struct alc_pincfg alc861_fsc_amilo_pi1505_pinfix[] = { ++ { 0x0b, 0x0221101f }, /* HP */ ++ { 0x0f, 0x90170310 }, /* speaker */ ++ { } ++}; ++ ++static const struct alc_fixup alc861_fixups[] = { ++ [PINFIX_FSC_AMILO_PI1505] = { ++ .pins = alc861_fsc_amilo_pi1505_pinfix ++ }, ++}; ++ ++static struct snd_pci_quirk alc861_fixup_tbl[] = { ++ SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", PINFIX_FSC_AMILO_PI1505), ++ {} ++}; + + static int patch_alc861(struct hda_codec *codec) + { +@@ -14650,6 +14671,8 @@ + board_config = ALC861_AUTO; + } + ++ alc_pick_fixup(codec, alc861_fixup_tbl, alc861_fixups); ++ + if (board_config == ALC861_AUTO) { + /* automatic parse from the BIOS config */ + err = alc861_parse_auto_config(codec); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk new/patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk --- old/patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk 2009-12-03 16:45:09.000000000 +0100 @@ -0,0 +1,36 @@ +From 2f703e7a2ea5f6d5ea14a7b2cd0d31be07839ac6 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Tue, 1 Dec 2009 14:17:37 +0100 +Subject: ALSA: hda - Add position_fix quirk for HP dv3 +Patch-mainline: +References: bnc#555935 + +HP dv3 requires position_fix=1. + +Reference: Novell bnc#555935 + https://bugzilla.novell.com/show_bug.cgi?id=555935 + +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +--- + sound/pci/hda/hda_intel.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -2222,6 +2222,7 @@ + static struct snd_pci_quirk position_fix_list[] __devinitdata = { + SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB), ++ SND_PCI_QUIRK(0x103c, 0x306d, "HP dv3", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB), + {} +@@ -2309,6 +2310,7 @@ + * white-list for enable_msi + */ + static struct snd_pci_quirk msi_white_list[] __devinitdata = { ++ SND_PCI_QUIRK(0x103c, 0x306d, "HP dv3", 1), + SND_PCI_QUIRK(0x103c, 0x30f7, "HP Pavilion dv4t-1300", 1), + SND_PCI_QUIRK(0x103c, 0x3607, "HP Compa CQ40", 1), + {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/tg3_libphy_workaround new/patches.drivers/tg3_libphy_workaround --- old/patches.drivers/tg3_libphy_workaround 2009-11-26 12:08:09.000000000 +0100 +++ new/patches.drivers/tg3_libphy_workaround 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ -From: Matt Carlson <Matt.Carlson@broadcom.net> -Subject: tg3 libphy workaround -Reference: bnc#68725 -Acked-by: Karsten Keil <kkeil@novell.com> - -Hi Philip. Below is the SLES 11 patch that disables 5785 support and -forces the 57780 to use the in-driver phy code rather than the phylib -code. - -While I have your attention, are there any outstanding bootloader -install bugs? On my lab machine, I install SLES 11 onto partition 12 -and tell the installer to install the bootloader (GRUB) into the MBR -of that partition. I then reboot the machine and instruct the existing -bootloader in partition 1 (GRUB again) to chainload to partition 12. - -It seems the SLES 11 installer somehow corrupts the MBR of the disk so -that it no longer boots. I've installed SLES 11 twice now and on the -2nd install, I carefully navigated through the bootloader configuration -portion. I don't think I'm doing anything wrong. Anyways, just an FYI... - - - ---- - drivers/net/tg3.c | 5 ++--- - drivers/net/tg3.h | 1 + - 2 files changed, 3 insertions(+), 3 deletions(-) - ---- a/drivers/net/tg3.c -+++ b/drivers/net/tg3.c -@@ -219,7 +219,6 @@ static struct pci_device_id tg3_pci_tbl[ - {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5761E)}, - {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5761S)}, - {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5761SE)}, -- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5785)}, - {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57780)}, - {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57760)}, - {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57790)}, -@@ -12269,8 +12268,7 @@ static int __devinit tg3_get_invariants( - GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_BX) - tp->coalesce_mode |= HOSTCC_MODE_32BYTE; - -- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785 || -- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57780) -+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785) - tp->tg3_flags3 |= TG3_FLG3_USE_PHYLIB; - - err = tg3_mdio_init(tp); -@@ -13017,6 +13015,7 @@ static char * __devinit tg3_phy_string(s - case PHY_ID_BCM5756: return "5722/5756"; - case PHY_ID_BCM5906: return "5906"; - case PHY_ID_BCM5761: return "5761"; -+ case PHY_ID_BCM57780: return "57780"; - case PHY_ID_BCM8002: return "8002/serdes"; - case 0: return "serdes"; - default: return "unknown"; ---- a/drivers/net/tg3.h -+++ b/drivers/net/tg3.h -@@ -2707,6 +2707,7 @@ struct tg3 { - #define PHY_ID_BCM5761 0xbc050fd0 - #define PHY_ID_BCM5906 0xdc00ac40 - #define PHY_ID_BCM8002 0x60010140 -+#define PHY_ID_BCM57780 0x5c0d8990 - #define PHY_ID_INVALID 0xffffffff - #define PHY_ID_REV_MASK 0x0000000f - #define PHY_REV_BCM5401_B0 0x1 ++++++ patches.fixes.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch new/patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch --- old/patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,63 @@ +From: Thomas Renninger <trenn@suse.de> +Subject: CPUFREQ: ondemand: Limit default sampling rate to 300ms max. +References: bnc#464461 +Patch-Mainline: never, SLE11 only + +Modified for SP1 by Jiri Bohac <jbohac@suse.cz> + +HW cpufreq drivers (e.g. all non-acpi AMD) may report too high latency values. +The default sampling rate (how often the ondemand/conservative governor +checks for frequency adjustments) may therefore be much too high, +resulting in performance loss. + +Restrict default sampling rate to 300ms. 333ms sampling rate is field +tested with userspace governors, 300ms should be a fine maximum default +value for the ondemand kernel governor for all HW out there. + +Set default up_threshold to 40 on multi core systems. +This should avoid effects where two CPU intensive threads are waiting on +each other on separate cores. On a single core machine these would all be +processed on one core resulting in higher utilization of the one core. + +Index: work/drivers/cpufreq/cpufreq_ondemand.c +=================================================================== +--- work.orig/drivers/cpufreq/cpufreq_ondemand.c 2009-11-18 17:36:09.000000000 +0100 ++++ work/drivers/cpufreq/cpufreq_ondemand.c 2009-11-25 17:59:08.000000000 +0100 +@@ -35,6 +35,7 @@ + #define MICRO_FREQUENCY_MIN_SAMPLE_RATE (10000) + #define MIN_FREQUENCY_UP_THRESHOLD (11) + #define MAX_FREQUENCY_UP_THRESHOLD (100) ++#define MAX_DEFAULT_SAMPLING_RATE (300 * 1000) + + /* + * The polling frequency of this governor depends on the capability of +@@ -676,6 +677,29 @@ static int cpufreq_governor_dbs(struct c + dbs_tuners_ins.sampling_rate = + max(min_sampling_rate, + latency * LATENCY_MULTIPLIER); ++ /* ++ * Cut def_sampling rate to 300ms if it was above, ++ * still consider to not set it above latency ++ * transition * 100 ++ */ ++ if (dbs_tuners_ins.sampling_rate > MAX_DEFAULT_SAMPLING_RATE) { ++ dbs_tuners_ins.sampling_rate = ++ max(min_sampling_rate, MAX_DEFAULT_SAMPLING_RATE); ++ printk(KERN_INFO "CPUFREQ: ondemand sampling " ++ "rate set to %d ms\n", ++ dbs_tuners_ins.sampling_rate / 1000); ++ } ++ /* ++ * Be conservative in respect to performance. ++ * If an application calculates using two threads ++ * depending on each other, they will be run on several ++ * CPU cores resulting on 50% load on both. ++ * SLED might still want to prefer 80% up_threshold ++ * by default, but we cannot differ that here. ++ */ ++ if (num_online_cpus() > 1) ++ dbs_tuners_ins.up_threshold = ++ DEF_FREQUENCY_UP_THRESHOLD / 2; + } + mutex_unlock(&dbs_mutex); + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/dlm-enable-debug.patch new/patches.fixes/dlm-enable-debug.patch --- old/patches.fixes/dlm-enable-debug.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/dlm-enable-debug.patch 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,32 @@ +Subject: enable extended dlm debugging +From: Lars Marovsky-Bree <lmb@suse.de> + + This patch enable extended dlm debugging + +Signed-off-by: Lars Marovsky-Bree <lmb@suse.de> +--- +Index: fs/dlm/Makefile +=================================================================== +--- a/fs/dlm/Makefile ++++ b/fs/dlm/Makefile +@@ -16,6 +16,6 @@ dlm-y := ast.o \ + recoverd.o \ + requestqueue.o \ + user.o \ +- util.o +-dlm-$(CONFIG_DLM_DEBUG) += debug_fs.o ++ util.o \ ++ debug_fs.o + +Index: fs/dlm/dlm_internal.h +=================================================================== +--- a/fs/dlm/dlm_internal.h ++++ b/fs/dlm/dlm_internal.h +@@ -587,6 +587,7 @@ void dlm_timeout_warn(struct dlm_lkb *lk + int dlm_plock_init(void); + void dlm_plock_exit(void); + ++#define CONFIG_DLM_DEBUG 1 + #ifdef CONFIG_DLM_DEBUG + int dlm_register_debugfs(void); + void dlm_unregister_debugfs(void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/dm-release-map_lock-before-set_disk_ro new/patches.fixes/dm-release-map_lock-before-set_disk_ro --- old/patches.fixes/dm-release-map_lock-before-set_disk_ro 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/dm-release-map_lock-before-set_disk_ro 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,35 @@ +From: Nikanth Karthikesan <knikanth@suse.de> +Subject: Release md->map_lock before set_disk_ro +Patch-mainline: No +References: bnc#556899 bnc#479784 + +Signed-off-by: Nikanth Karthikesan <knikanth@suse.de> + +Calling set_disk_ro() with irqs disabled triggers a warning. + +set_disk_ro() can be called outside the +write_lock_irqsave(&md->map_lock)? And to get the +dm_table_get_mode(md->map), we just need to hold a reference +with dm_get_table() and dm_table_put() + +Index: linux-2.6.31-master/drivers/md/dm.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/md/dm.c ++++ linux-2.6.31-master/drivers/md/dm.c +@@ -1975,12 +1975,15 @@ static int __bind(struct mapped_device * + write_lock_irqsave(&md->map_lock, flags); + md->map = t; + dm_table_set_restrictions(t, q, limits); ++ write_unlock_irqrestore(&md->map_lock, flags); ++ ++ dm_get_table(md); + if (!(dm_table_get_mode(t) & FMODE_WRITE)) { + set_disk_ro(md->disk, 1); + } else { + set_disk_ro(md->disk, 0); + } +- write_unlock_irqrestore(&md->map_lock, flags); ++ dm_table_put(md->map); + + return 0; + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/mac80211-fix-spurious-delba-handling.patch new/patches.fixes/mac80211-fix-spurious-delba-handling.patch --- old/patches.fixes/mac80211-fix-spurious-delba-handling.patch 2009-11-26 12:01:02.000000000 +0100 +++ new/patches.fixes/mac80211-fix-spurious-delba-handling.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,188 +0,0 @@ -From: Johannes Berg <johannes@sipsolutions.net> -Subject: mac80211: fix spurious delBA handling -References: bnc#558267, CVE-2009-4026, CVE-2009-4027 -Patch-mainline: submitted to stable, should appear in 2.6.32 - -Lennert Buytenhek noticed that delBA handling in mac80211 -was broken and has remotely triggerable problems, some of -which are due to some code shuffling I did that ended up -changing the order in which things were done -- this was - - commit d75636ef9c1af224f1097941879d5a8db7cd04e5 - Author: Johannes Berg <johannes@sipsolutions.net> - Date: Tue Feb 10 21:25:53 2009 +0100 - - mac80211: RX aggregation: clean up stop session - -and other parts were already present in the original - - commit d92684e66091c0f0101819619b315b4bb8b5bcc5 - Author: Ron Rindjunsky <ron.rindjunsky@intel.com> - Date: Mon Jan 28 14:07:22 2008 +0200 - - mac80211: A-MPDU Tx add delBA from recipient support - -The first problem is that I moved a BUG_ON before various -checks -- thereby making it possible to hit. As the comment -indicates, the BUG_ON can be removed since the ampdu_action -callback must already exist when the state is != IDLE. - -The second problem isn't easily exploitable but there's a -race condition due to unconditionally setting the state to -OPERATIONAL when a delBA frame is received, even when no -aggregation session was ever initiated. All the drivers -accept stopping the session even then, but that opens a -race window where crashes could happen before the driver -accepts it. Right now, a WARN_ON may happen with non-HT -drivers, while the race opens only for HT drivers. - -For this case, there are two things necessary to fix it: - 1) don't process spurious delBA frames, and be more careful - about the session state; don't drop the lock - - 2) HT drivers need to be prepared to handle a session stop - even before the session was really started -- this is - true for all drivers (that support aggregation) but - iwlwifi which can be fixed easily. The other HT drivers - (ath9k and ar9170) are behaving properly already. - -Reported-by: Lennert Buytenhek <buytenh@wantstofly.org> -Cc: stable@kernel.org -Signed-off-by: Johannes Berg <johannes@sipsolutions.net> -Acked-by: Jiri Benc <jbenc@suse.cz> - ---- - drivers/net/wireless/iwlwifi/iwl-tx.c | 10 +++++++++- - include/net/mac80211.h | 6 ++++++ - net/mac80211/agg-rx.c | 4 ---- - net/mac80211/agg-tx.c | 15 +++++++-------- - net/mac80211/ht.c | 8 +++----- - net/mac80211/ieee80211_i.h | 2 ++ - 6 files changed, 27 insertions(+), 18 deletions(-) - ---- linux-2.6.31-master.orig/drivers/net/wireless/iwlwifi/iwl-tx.c -+++ linux-2.6.31-master/drivers/net/wireless/iwlwifi/iwl-tx.c -@@ -1277,8 +1277,16 @@ int iwl_tx_agg_stop(struct iwl_priv *pri - return -ENXIO; - } - -+ if (priv->stations[sta_id].tid[tid].agg.state == -+ IWL_EMPTYING_HW_QUEUE_ADDBA) { -+ IWL_DEBUG_HT(priv, "AGG stop before setup done\n"); -+ ieee80211_stop_tx_ba_cb_irqsafe(priv->hw, ra, tid); -+ priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF; -+ return 0; -+ } -+ - if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON) -- IWL_WARN(priv, "Stopping AGG while state not IWL_AGG_ON\n"); -+ IWL_WARN(priv, "Stopping AGG while state not ON or starting\n"); - - tid_data = &priv->stations[sta_id].tid[tid]; - ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4; ---- linux-2.6.31-master.orig/include/net/mac80211.h -+++ linux-2.6.31-master/include/net/mac80211.h -@@ -1283,6 +1283,12 @@ enum ieee80211_filter_flags { - * - * These flags are used with the ampdu_action() callback in - * &struct ieee80211_ops to indicate which action is needed. -+ * -+ * Note that drivers MUST be able to deal with a TX aggregation -+ * session being stopped even before they OK'ed starting it by -+ * calling ieee80211_start_tx_ba_cb(_irqsafe), because the peer -+ * might receive the addBA frame and send a delBA right away! -+ * - * @IEEE80211_AMPDU_RX_START: start Rx aggregation - * @IEEE80211_AMPDU_RX_STOP: stop Rx aggregation - * @IEEE80211_AMPDU_TX_START: start Tx aggregation ---- linux-2.6.31-master.orig/net/mac80211/agg-rx.c -+++ linux-2.6.31-master/net/mac80211/agg-rx.c -@@ -85,10 +85,6 @@ void ieee80211_sta_stop_rx_ba_session(st - struct ieee80211_local *local = sdata->local; - struct sta_info *sta; - -- /* stop HW Rx aggregation. ampdu_action existence -- * already verified in session init so we add the BUG_ON */ -- BUG_ON(!local->ops->ampdu_action); -- - rcu_read_lock(); - - sta = sta_info_get(local, ra); ---- linux-2.6.31-master.orig/net/mac80211/agg-tx.c -+++ linux-2.6.31-master/net/mac80211/agg-tx.c -@@ -123,13 +123,18 @@ void ieee80211_send_bar(struct ieee80211 - ieee80211_tx_skb(sdata, skb, 0); - } - --static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, -- enum ieee80211_back_parties initiator) -+int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, -+ enum ieee80211_back_parties initiator) - { - struct ieee80211_local *local = sta->local; - int ret; - u8 *state; - -+#ifdef CONFIG_MAC80211_HT_DEBUG -+ printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n", -+ sta->sta.addr, tid); -+#endif /* CONFIG_MAC80211_HT_DEBUG */ -+ - state = &sta->ampdu_mlme.tid_state_tx[tid]; - - if (*state == HT_AGG_STATE_OPERATIONAL) -@@ -143,7 +148,6 @@ static int ___ieee80211_stop_tx_ba_sessi - - /* HW shall not deny going back to legacy */ - if (WARN_ON(ret)) { -- *state = HT_AGG_STATE_OPERATIONAL; - /* - * We may have pending packets get stuck in this case... - * Not bothering with a workaround for now. -@@ -523,11 +527,6 @@ int __ieee80211_stop_tx_ba_session(struc - goto unlock; - } - --#ifdef CONFIG_MAC80211_HT_DEBUG -- printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n", -- sta->sta.addr, tid); --#endif /* CONFIG_MAC80211_HT_DEBUG */ -- - ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator); - - unlock: ---- linux-2.6.31-master.orig/net/mac80211/ht.c -+++ linux-2.6.31-master/net/mac80211/ht.c -@@ -141,7 +141,6 @@ void ieee80211_process_delba(struct ieee - struct sta_info *sta, - struct ieee80211_mgmt *mgmt, size_t len) - { -- struct ieee80211_local *local = sdata->local; - u16 tid, params; - u16 initiator; - -@@ -161,10 +160,9 @@ void ieee80211_process_delba(struct ieee - WLAN_BACK_INITIATOR, 0); - else { /* WLAN_BACK_RECIPIENT */ - spin_lock_bh(&sta->lock); -- sta->ampdu_mlme.tid_state_tx[tid] = -- HT_AGG_STATE_OPERATIONAL; -+ if (sta->ampdu_mlme.tid_state_tx[tid] & HT_ADDBA_REQUESTED_MSK) -+ ___ieee80211_stop_tx_ba_session(sta, tid, -+ WLAN_BACK_RECIPIENT); - spin_unlock_bh(&sta->lock); -- ieee80211_stop_tx_ba_session(&local->hw, sta->sta.addr, tid, -- WLAN_BACK_RECIPIENT); - } - } ---- linux-2.6.31-master.orig/net/mac80211/ieee80211_i.h -+++ linux-2.6.31-master/net/mac80211/ieee80211_i.h -@@ -1083,6 +1083,8 @@ void ieee80211_process_addba_request(str - - int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, - enum ieee80211_back_parties initiator); -+int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, -+ enum ieee80211_back_parties initiator); - - /* Spectrum management */ - void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/make-note_interrupt-fast.diff new/patches.fixes/make-note_interrupt-fast.diff --- old/patches.fixes/make-note_interrupt-fast.diff 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/make-note_interrupt-fast.diff 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,193 @@ +From: Bernhard Walle <bwalle@suse.de> +Subject: Fix performance regression on large IA64 systems +References: bnc #469589 +Patch-mainline: no (and never will) + +This patch tries to address a performance regression discovered by SGI. + +Patch b60c1f6ffd88850079ae419aa933ab0eddbd5535 removes the call +to note_interrupt() in __do_IRQ(). Patch d85a60d85ea5b7c597508c1510c88e657773d378 +adds it again. Because it's needed for irqpoll. + +That patch now introduces a new parameter 'only_fixup' for note_interrupt(). +This parameter determines two cases: + + TRUE => The function should be only executed when irqfixup is set. + Either 'irqpoll' or 'irqfixup' directly set that. + + FALSE => Just the behaviour as note_interrupt() always had. + +Now the patch converts all calls of note_interrupt() to only_fixup=FALSE, +except the call that has been removed by b60c1f6ffd88850079ae419aa933ab0eddbd5535. +So that call is always done, but the body is only executed when either +'irqpoll' or 'irqfixup' are specified. + +This patch is not meant for mainline inclusion in the first run! + + +Signed-off-by: Bernhard Walle <bwalle@suse.de> + +--- + arch/arm/mach-ns9xxx/irq.c | 2 +- + arch/powerpc/platforms/cell/interrupt.c | 2 +- + drivers/mfd/ezx-pcap.c | 3 ++- + drivers/mfd/twl4030-irq.c | 2 +- + include/linux/irq.h | 2 +- + kernel/irq/chip.c | 12 ++++++------ + kernel/irq/handle.c | 4 ++-- + kernel/irq/spurious.c | 10 +++++++++- + 8 files changed, 23 insertions(+), 14 deletions(-) + +--- a/arch/arm/mach-ns9xxx/irq.c ++++ b/arch/arm/mach-ns9xxx/irq.c +@@ -85,7 +85,7 @@ static void handle_prio_irq(unsigned int + /* XXX: There is no direct way to access noirqdebug, so check + * unconditionally for spurious irqs... + * Maybe this function should go to kernel/irq/chip.c? */ +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + + spin_lock(&desc->lock); + desc->status &= ~IRQ_INPROGRESS; +--- a/arch/powerpc/platforms/cell/interrupt.c ++++ b/arch/powerpc/platforms/cell/interrupt.c +@@ -268,7 +268,7 @@ static void handle_iic_irq(unsigned int + spin_unlock(&desc->lock); + action_ret = handle_IRQ_event(irq, action); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + spin_lock(&desc->lock); + + } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); +--- a/drivers/mfd/ezx-pcap.c ++++ b/drivers/mfd/ezx-pcap.c +@@ -203,7 +203,8 @@ static void pcap_isr_work(struct work_st + break; + + if (desc->status & IRQ_DISABLED) +- note_interrupt(irq, desc, IRQ_NONE); ++ note_interrupt(irq, desc, IRQ_NONE, ++ false); + else + desc->handle_irq(irq, desc); + } +--- a/drivers/mfd/twl4030-irq.c ++++ b/drivers/mfd/twl4030-irq.c +@@ -228,7 +228,7 @@ static int twl4030_irq_thread(void *data + */ + if (d->status & IRQ_DISABLED) + note_interrupt(module_irq, d, +- IRQ_NONE); ++ IRQ_NONE, false); + else + d->handle_irq(module_irq, d); + } +--- a/include/linux/irq.h ++++ b/include/linux/irq.h +@@ -324,7 +324,7 @@ static inline void generic_handle_irq(un + + /* Handling of unhandled and spurious interrupts: */ + extern void note_interrupt(unsigned int irq, struct irq_desc *desc, +- irqreturn_t action_ret); ++ irqreturn_t action_ret, bool only_fixup); + + /* Resending of interrupts :*/ + void check_irq_resend(struct irq_desc *desc, unsigned int irq); +--- a/kernel/irq/chip.c ++++ b/kernel/irq/chip.c +@@ -356,7 +356,7 @@ void handle_nested_irq(unsigned int irq) + + action_ret = action->thread_fn(action->irq, action->dev_id); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + + spin_lock_irq(&desc->lock); + desc->status &= ~IRQ_INPROGRESS; +@@ -400,7 +400,7 @@ handle_simple_irq(unsigned int irq, stru + + action_ret = handle_IRQ_event(irq, action); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + + spin_lock(&desc->lock); + desc->status &= ~IRQ_INPROGRESS; +@@ -445,7 +445,7 @@ handle_level_irq(unsigned int irq, struc + + action_ret = handle_IRQ_event(irq, action); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + + spin_lock(&desc->lock); + desc->status &= ~IRQ_INPROGRESS; +@@ -501,7 +501,7 @@ handle_fasteoi_irq(unsigned int irq, str + + action_ret = handle_IRQ_event(irq, action); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + + spin_lock(&desc->lock); + desc->status &= ~IRQ_INPROGRESS; +@@ -579,7 +579,7 @@ handle_edge_irq(unsigned int irq, struct + spin_unlock(&desc->lock); + action_ret = handle_IRQ_event(irq, action); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + spin_lock(&desc->lock); + + } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); +@@ -608,7 +608,7 @@ handle_percpu_irq(unsigned int irq, stru + + action_ret = handle_IRQ_event(irq, desc->action); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + + if (desc->chip->eoi) + desc->chip->eoi(irq); +--- a/kernel/irq/handle.c ++++ b/kernel/irq/handle.c +@@ -467,7 +467,7 @@ unsigned int __do_IRQ(unsigned int irq) + if (likely(!(desc->status & IRQ_DISABLED))) { + action_ret = handle_IRQ_event(irq, desc->action); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, true); + } + desc->chip->end(irq); + return 1; +@@ -521,7 +521,7 @@ unsigned int __do_IRQ(unsigned int irq) + + action_ret = handle_IRQ_event(irq, action); + if (!noirqdebug) +- note_interrupt(irq, desc, action_ret); ++ note_interrupt(irq, desc, action_ret, false); + + spin_lock(&desc->lock); + if (likely(!(desc->status & IRQ_PENDING))) +--- a/kernel/irq/spurious.c ++++ b/kernel/irq/spurious.c +@@ -225,9 +225,17 @@ try_misrouted_irq(unsigned int irq, stru + return action && (action->flags & IRQF_IRQPOLL); + } + ++/* ++ * The parameter "only_fixup" means that the function should be only executed ++ * if this parameter is set either to false or to true simultaneously with ++ * irqfixup enabled. ++ */ + void note_interrupt(unsigned int irq, struct irq_desc *desc, +- irqreturn_t action_ret) ++ irqreturn_t action_ret, bool only_fixup) + { ++ if (only_fixup && irqfixup == 0) ++ return; ++ + if (unlikely(action_ret != IRQ_HANDLED)) { + /* + * If we are seeing only the odd spurious IRQ caused by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io new/patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io --- old/patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,23 @@ +From: Jeff Mahoney <jeffm@suse.com> +Subject: megaraid_sas: Fix permissions on poll_mode_io +References: bnc#557180 CVE-2009-3939 + + This patch fixes the permissions on the poll_mode_io sysfs file + for megaraid_sas. Otherwise, it's world writable. + +Signed-off-by: Jeff Mahoney <jeffm@suse.com> +--- + drivers/scsi/megaraid/megaraid_sas.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/scsi/megaraid/megaraid_sas.c ++++ b/drivers/scsi/megaraid/megaraid_sas.c +@@ -4042,7 +4042,7 @@ megasas_aen_polling(struct work_struct * + } + + +-static DRIVER_ATTR(poll_mode_io, S_IRUGO|S_IWUGO, ++static DRIVER_ATTR(poll_mode_io, S_IRUGO|S_IWUSR, + megasas_sysfs_show_poll_mode_io, + megasas_sysfs_set_poll_mode_io); + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch new/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch --- old/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,149 @@ +Patch-mainline: submitted 04aug2009 +References: bnc#498708 +From: NeilBrown <neilb@suse.de> +Date: Tue, 4 Aug 2009 15:06:38 +1000 +Subject: [PATCH 07/12] sunrpc/cache: allow thread to block while waiting for cache update. + +The current practice of waiting for cache updates by queueing the +whole request to be retried has (at least) two problems. + +1/ We NFSv4, requests can be quite complex and re-trying a whole + request when a later part fails should only be a list-resort, not a + normal practice. + +2/ Large requests, and in particular any 'write' request, will not be + queued by the current code and doing so would be undesirable. + +In many cases only a very sort wait is needed before the cache gets +valid data. + +So, providing the underlying transport permits it by setting + ->thread_wait, +arrange to wait briefly for an upcall to be completed (as reflected in +the clearing of CACHE_PENDING). +If the short wait was not long enough and CACHE_PENDING is still set, +fall back on the old approach. + +The 'thread_wait' value is set to 5 seconds when there are spare +threads, and 1 second when there are no spare threads. + +These values are probably much higher than needed, but will ensure +some forward progress. + +Signed-off-by: NeilBrown <neilb@suse.de> + +--- + include/linux/sunrpc/cache.h | 3 ++ + net/sunrpc/cache.c | 44 ++++++++++++++++++++++++++++++++++++++++++- + net/sunrpc/svc_xprt.c | 11 ++++++++++ + 3 files changed, 57 insertions(+), 1 deletion(-) + +--- linux-2.6.31-master.orig/include/linux/sunrpc/cache.h ++++ linux-2.6.31-master/include/linux/sunrpc/cache.h +@@ -125,6 +125,9 @@ struct cache_detail { + */ + struct cache_req { + struct cache_deferred_req *(*defer)(struct cache_req *req); ++ int thread_wait; /* How long (jiffies) we can block the ++ * current thread to wait for updates. ++ */ + }; + /* this must be embedded in a deferred_request that is being + * delayed awaiting cache-fill +--- linux-2.6.31-master.orig/net/sunrpc/cache.c ++++ linux-2.6.31-master/net/sunrpc/cache.c +@@ -498,10 +498,22 @@ static LIST_HEAD(cache_defer_list); + static struct list_head cache_defer_hash[DFR_HASHSIZE]; + static int cache_defer_cnt; + ++struct thread_deferred_req { ++ struct cache_deferred_req handle; ++ wait_queue_head_t wait; ++}; ++static void cache_restart_thread(struct cache_deferred_req *dreq, int too_many) ++{ ++ struct thread_deferred_req *dr = ++ container_of(dreq, struct thread_deferred_req, handle); ++ wake_up(&dr->wait); ++} ++ + static int cache_defer_req(struct cache_req *req, struct cache_head *item) + { + struct cache_deferred_req *dreq, *discard; + int hash = DFR_HASH(item); ++ struct thread_deferred_req sleeper; + + if (cache_defer_cnt >= DFR_MAX) { + /* too much in the cache, randomly drop this one, +@@ -510,7 +522,14 @@ static int cache_defer_req(struct cache_ + if (net_random()&1) + return -ENOMEM; + } +- dreq = req->defer(req); ++ if (req->thread_wait) { ++ dreq = &sleeper.handle; ++ init_waitqueue_head(&sleeper.wait); ++ dreq->revisit = cache_restart_thread; ++ } else ++ dreq = req->defer(req); ++ ++ retry: + if (dreq == NULL) + return -ENOMEM; + +@@ -544,6 +563,29 @@ static int cache_defer_req(struct cache_ + cache_revisit_request(item); + return -EAGAIN; + } ++ ++ if (dreq == &sleeper.handle) { ++ wait_event_interruptible_timeout( ++ sleeper.wait, ++ !test_bit(CACHE_PENDING, &item->flags) ++ || list_empty(&sleeper.handle.hash), ++ req->thread_wait); ++ spin_lock(&cache_defer_lock); ++ if (!list_empty(&sleeper.handle.hash)) { ++ list_del_init(&sleeper.handle.recent); ++ list_del_init(&sleeper.handle.hash); ++ cache_defer_cnt--; ++ } ++ spin_unlock(&cache_defer_lock); ++ if (test_bit(CACHE_PENDING, &item->flags)) { ++ /* item is still pending, try request ++ * deferral ++ */ ++ dreq = req->defer(req); ++ goto retry; ++ } ++ return 0; ++ } + return 0; + } + +--- linux-2.6.31-master.orig/net/sunrpc/svc_xprt.c ++++ linux-2.6.31-master/net/sunrpc/svc_xprt.c +@@ -656,12 +656,23 @@ int svc_recv(struct svc_rqst *rqstp, lon + pool->sp_nwaking--; + BUG_ON(pool->sp_nwaking < 0); + } ++ ++ /* Normally we will wait up to 5 seconds for any required ++ * cache information to be provided. ++ */ ++ rqstp->rq_chandle.thread_wait = 5*HZ; + xprt = svc_xprt_dequeue(pool); + if (xprt) { + rqstp->rq_xprt = xprt; + svc_xprt_get(xprt); + rqstp->rq_reserved = serv->sv_max_mesg; + atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved); ++ ++ /* As there is a shortage of threads and this request ++ * had to be queue, don't allow the thread to wait so ++ * long for cache updates. ++ */ ++ rqstp->rq_chandle.thread_wait = 1*HZ; + } else { + /* No data pending. Go to sleep */ + svc_thread_enqueue(pool, rqstp); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch new/patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch --- old/patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,122 @@ +Patch-mainline: submitted 04aug2009 +References: bnc#498708 +From: NeilBrown <neilb@suse.de> +Date: Tue, 4 Aug 2009 15:06:38 +1000 +Subject: [PATCH 08/12] sunrpc/cache: retry cache lookups that return -ETIMEDOUT + +If cache_check returns -ETIMEDOUT, then the cache item is not +up-to-date, but there is no pending upcall. +This could mean the data is not available, or it could mean that the +good data has been stored in a new cache item. + +So re-do the lookup and if that returns a new item, proceed using that +item. + +Signed-off-by: NeilBrown <neilb@suse.de> + +--- + fs/nfsd/export.c | 18 ++++++++++++++++++ + net/sunrpc/svcauth_unix.c | 22 ++++++++++++++++++++-- + 2 files changed, 38 insertions(+), 2 deletions(-) + +--- linux-2.6.31-master.orig/fs/nfsd/export.c ++++ linux-2.6.31-master/fs/nfsd/export.c +@@ -793,9 +793,18 @@ exp_find_key(svc_client *clp, int fsid_t + memcpy(key.ek_fsid, fsidv, key_len(fsid_type)); + + ek = svc_expkey_lookup(&key); ++ again: + if (ek == NULL) + return ERR_PTR(-ENOMEM); + err = cache_check(&svc_expkey_cache, &ek->h, reqp); ++ if (err == -ETIMEDOUT) { ++ struct svc_expkey *prev_ek = ek; ++ ek = svc_expkey_lookup(&key); ++ if (ek != prev_ek) ++ goto again; ++ if (ek) ++ cache_put(&ek->h, &svc_expkey_cache); ++ } + if (err) + return ERR_PTR(err); + return ek; +@@ -865,9 +874,18 @@ static svc_export *exp_get_by_name(svc_c + key.ex_path = *path; + + exp = svc_export_lookup(&key); ++ retry: + if (exp == NULL) + return ERR_PTR(-ENOMEM); + err = cache_check(&svc_export_cache, &exp->h, reqp); ++ if (err == -ETIMEDOUT) { ++ struct svc_export *prev_exp = exp; ++ exp = svc_export_lookup(&key); ++ if (exp != prev_exp) ++ goto retry; ++ if (exp) ++ cache_put(&exp->h, &svc_export_cache); ++ } + if (err) + return ERR_PTR(err); + return exp; +--- linux-2.6.31-master.orig/net/sunrpc/svcauth_unix.c ++++ linux-2.6.31-master/net/sunrpc/svcauth_unix.c +@@ -659,8 +659,10 @@ static int unix_gid_find(uid_t uid, stru + struct svc_rqst *rqstp) + { + struct unix_gid *ug = unix_gid_lookup(uid); ++ struct unix_gid *prevug; + if (!ug) + return -EAGAIN; ++ retry: + switch (cache_check(&unix_gid_cache, &ug->h, &rqstp->rq_chandle)) { + case -ENOENT: + *gip = NULL; +@@ -670,6 +672,13 @@ static int unix_gid_find(uid_t uid, stru + get_group_info(*gip); + cache_put(&ug->h, &unix_gid_cache); + return 0; ++ case -ETIMEDOUT: ++ prevug = ug; ++ ug = unix_gid_lookup(uid); ++ if (ug != prevug) ++ goto retry; ++ if (ug) ++ cache_put(&ug->h, &unix_gid_cache); + default: + return -EAGAIN; + } +@@ -680,7 +689,7 @@ svcauth_unix_set_client(struct svc_rqst + { + struct sockaddr_in *sin; + struct sockaddr_in6 *sin6, sin6_storage; +- struct ip_map *ipm; ++ struct ip_map *ipm, *prev_ipm; + + switch (rqstp->rq_addr.ss_family) { + case AF_INET: +@@ -705,14 +714,23 @@ svcauth_unix_set_client(struct svc_rqst + ipm = ip_map_lookup(rqstp->rq_server->sv_program->pg_class, + &sin6->sin6_addr); + ++ retry: + if (ipm == NULL) + return SVC_DENIED; + + switch (cache_check(&ip_map_cache, &ipm->h, &rqstp->rq_chandle)) { + default: + BUG(); +- case -EAGAIN: + case -ETIMEDOUT: ++ prev_ipm = ipm; ++ ipm = ip_map_lookup(rqstp->rq_server->sv_program->pg_class, ++ &sin6->sin6_addr); ++ if (ipm != prev_ipm) ++ goto retry; ++ if (ipm) ++ cache_put(&ipm->h, &ip_map_cache); ++ ++ case -EAGAIN: + return SVC_DROP; + case -ENOENT: + return SVC_DENIED; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch new/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch --- old/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,141 @@ +Patch-mainline: submitted 04aug2009 +References: bnc#498708 +From: NeilBrown <neilb@suse.de> +Date: Tue, 4 Aug 2009 15:06:39 +1000 +Subject: [PATCH 09/12] nfsd/idmap: drop special request deferal in favour of improved default. + +The idmap code manages request deferal by waiting for a reply from +userspace rather than putting the NFS request on a queue to be retried +from the start. +Now that the comment deferal code does this there is no need for the +special code in idmap. + +Signed-off-by: NeilBrown <neilb@suse.de> + +--- + fs/nfsd/nfs4idmap.c | 105 +++++----------------------------------------------- + 1 file changed, 11 insertions(+), 94 deletions(-) + +--- linux-2.6.31-master.orig/fs/nfsd/nfs4idmap.c ++++ linux-2.6.31-master/fs/nfsd/nfs4idmap.c +@@ -496,109 +496,26 @@ nfsd_idmap_shutdown(void) + cache_unregister(&nametoid_cache); + } + +-/* +- * Deferred request handling +- */ +- +-struct idmap_defer_req { +- struct cache_req req; +- struct cache_deferred_req deferred_req; +- wait_queue_head_t waitq; +- atomic_t count; +-}; +- +-static inline void +-put_mdr(struct idmap_defer_req *mdr) +-{ +- if (atomic_dec_and_test(&mdr->count)) +- kfree(mdr); +-} +- +-static inline void +-get_mdr(struct idmap_defer_req *mdr) +-{ +- atomic_inc(&mdr->count); +-} +- +-static void +-idmap_revisit(struct cache_deferred_req *dreq, int toomany) +-{ +- struct idmap_defer_req *mdr = +- container_of(dreq, struct idmap_defer_req, deferred_req); +- +- wake_up(&mdr->waitq); +- put_mdr(mdr); +-} +- +-static struct cache_deferred_req * +-idmap_defer(struct cache_req *req) +-{ +- struct idmap_defer_req *mdr = +- container_of(req, struct idmap_defer_req, req); +- +- mdr->deferred_req.revisit = idmap_revisit; +- get_mdr(mdr); +- return (&mdr->deferred_req); +-} +- +-static inline int +-do_idmap_lookup(struct ent *(*lookup_fn)(struct ent *), struct ent *key, +- struct cache_detail *detail, struct ent **item, +- struct idmap_defer_req *mdr) +-{ +- *item = lookup_fn(key); +- if (!*item) +- return -ENOMEM; +- return cache_check(detail, &(*item)->h, &mdr->req); +-} +- +-static inline int +-do_idmap_lookup_nowait(struct ent *(*lookup_fn)(struct ent *), +- struct ent *key, struct cache_detail *detail, +- struct ent **item) +-{ +- int ret = -ENOMEM; +- +- *item = lookup_fn(key); +- if (!*item) +- goto out_err; +- ret = -ETIMEDOUT; +- if (!test_bit(CACHE_VALID, &(*item)->h.flags) +- || (*item)->h.expiry_time < get_seconds() +- || detail->flush_time > (*item)->h.last_refresh) +- goto out_put; +- ret = -ENOENT; +- if (test_bit(CACHE_NEGATIVE, &(*item)->h.flags)) +- goto out_put; +- return 0; +-out_put: +- cache_put(&(*item)->h, detail); +-out_err: +- *item = NULL; +- return ret; +-} +- + static int + idmap_lookup(struct svc_rqst *rqstp, + struct ent *(*lookup_fn)(struct ent *), struct ent *key, + struct cache_detail *detail, struct ent **item) + { +- struct idmap_defer_req *mdr; + int ret; + +- mdr = kzalloc(sizeof(*mdr), GFP_KERNEL); +- if (!mdr) ++ *item = lookup_fn(key); ++ if (!*item) + return -ENOMEM; +- atomic_set(&mdr->count, 1); +- init_waitqueue_head(&mdr->waitq); +- mdr->req.defer = idmap_defer; +- ret = do_idmap_lookup(lookup_fn, key, detail, item, mdr); +- if (ret == -EAGAIN) { +- wait_event_interruptible_timeout(mdr->waitq, +- test_bit(CACHE_VALID, &(*item)->h.flags), 1 * HZ); +- ret = do_idmap_lookup_nowait(lookup_fn, key, detail, item); ++ retry: ++ ret = cache_check(detail, &(*item)->h, &rqstp->rq_chandle); ++ ++ if (ret == -ETIMEDOUT) { ++ struct ent *prev_item = *item; ++ *item = lookup_fn(key); ++ if (*item != prev_item) ++ goto retry; ++ cache_put(&(*item)->h, detail); + } +- put_mdr(mdr); + return ret; + } + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-09-fix-kabi new/patches.fixes/nfsd-09-fix-kabi --- old/patches.fixes/nfsd-09-fix-kabi 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/nfsd-09-fix-kabi 2009-11-30 23:10:54.000000000 +0100 @@ -0,0 +1,89 @@ +From: NeilBrown <neilb@suse.de +Subject: Fix kabi breakage in previous nfsd patch series +Patch-mainline: not needed +References: bnc#498708 + +Adding 'thread_wait' to struct cache_req breaks the kabi. +We don't really need this field. It seemed like a good idea +in terms of generality but: +1/ we don't need the set/not-set test in cache.c because there + is only one user and it always sets a value +2/ we don't really need the two different values - As long as we have + some small time limit, it isn't critical what the value is. The + two possibilities were mainly provided as a basis for discussion of + what would be ideal. + So just set to 3 seconds timeout for any request at any time. + +Signed-off-by: Neil Brown <neilb@suse.de> + +--- + include/linux/sunrpc/cache.h | 3 --- + net/sunrpc/cache.c | 12 +++++------- + net/sunrpc/svc_xprt.c | 9 --------- + 3 files changed, 5 insertions(+), 19 deletions(-) + +--- linux-2.6.31-master.orig/include/linux/sunrpc/cache.h ++++ linux-2.6.31-master/include/linux/sunrpc/cache.h +@@ -125,9 +125,6 @@ struct cache_detail { + */ + struct cache_req { + struct cache_deferred_req *(*defer)(struct cache_req *req); +- int thread_wait; /* How long (jiffies) we can block the +- * current thread to wait for updates. +- */ + }; + /* this must be embedded in a deferred_request that is being + * delayed awaiting cache-fill +--- linux-2.6.31-master.orig/net/sunrpc/cache.c ++++ linux-2.6.31-master/net/sunrpc/cache.c +@@ -522,12 +522,10 @@ static int cache_defer_req(struct cache_ + if (net_random()&1) + return -ENOMEM; + } +- if (req->thread_wait) { +- dreq = &sleeper.handle; +- init_waitqueue_head(&sleeper.wait); +- dreq->revisit = cache_restart_thread; +- } else +- dreq = req->defer(req); ++ ++ dreq = &sleeper.handle; ++ init_waitqueue_head(&sleeper.wait); ++ dreq->revisit = cache_restart_thread; + + retry: + if (dreq == NULL) +@@ -569,7 +567,7 @@ static int cache_defer_req(struct cache_ + sleeper.wait, + !test_bit(CACHE_PENDING, &item->flags) + || list_empty(&sleeper.handle.hash), +- req->thread_wait); ++ 3*HZ); + spin_lock(&cache_defer_lock); + if (!list_empty(&sleeper.handle.hash)) { + list_del_init(&sleeper.handle.recent); +--- linux-2.6.31-master.orig/net/sunrpc/svc_xprt.c ++++ linux-2.6.31-master/net/sunrpc/svc_xprt.c +@@ -657,10 +657,6 @@ int svc_recv(struct svc_rqst *rqstp, lon + BUG_ON(pool->sp_nwaking < 0); + } + +- /* Normally we will wait up to 5 seconds for any required +- * cache information to be provided. +- */ +- rqstp->rq_chandle.thread_wait = 5*HZ; + xprt = svc_xprt_dequeue(pool); + if (xprt) { + rqstp->rq_xprt = xprt; +@@ -668,11 +664,6 @@ int svc_recv(struct svc_rqst *rqstp, lon + rqstp->rq_reserved = serv->sv_max_mesg; + atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved); + +- /* As there is a shortage of threads and this request +- * had to be queue, don't allow the thread to wait so +- * long for cache updates. +- */ +- rqstp->rq_chandle.thread_wait = 1*HZ; + } else { + /* No data pending. Go to sleep */ + svc_thread_enqueue(pool, rqstp); ++++++ patches.kernel.org.tar.bz2 ++++++ kernel-source/patches.kernel.org.tar.bz2 /mounts/work_src_done/STABLE/kernel-source/patches.kernel.org.tar.bz2 differ: byte 11, line 1 ++++++ patches.rpmify.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/arch-include-asm-fixes new/patches.rpmify/arch-include-asm-fixes --- old/patches.rpmify/arch-include-asm-fixes 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.rpmify/arch-include-asm-fixes 2009-12-03 16:01:42.000000000 +0100 @@ -0,0 +1,97 @@ +From: Jeff Mahoney <jeffm@suse.com> +Subject: [PATCH] kbuild: Properly handle arch/$arch/include/asm +References: bnc#427473 + + Some architectures have moved include/asm-$arch to arch/$arch/include/asm, + but were still placing new files in include/asm-$arch. This causes build + problems with out-of-tree modules. + + This patch properly handles the new locations. + +Signed-off-by: Jeff Mahoney <jeffm@suse.com> +--- + Makefile | 23 +++++++++++++++-------- + arch/ia64/Makefile | 2 +- + arch/ia64/include/asm/irq.h | 2 +- + arch/ia64/kernel/Makefile | 6 +++--- + 4 files changed, 20 insertions(+), 13 deletions(-) + +--- a/Makefile ++++ b/Makefile +@@ -992,8 +992,10 @@ define check-symlink + set -e; \ + if [ -L include/asm ]; then \ + asmlink=`readlink include/asm | cut -d '-' -f 2`; \ +- if [ "$$asmlink" != "$(SRCARCH)" ]; then \ +- echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) was expected"; \ ++ archlink=`readlink include/asm | cut -d '/' -f 3`; \ ++ if [ "$$asmlink" != "$(SRCARCH)" -a \ ++ "$$archlink" != "$(SRCARCH)" ]; then \ ++ echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) or ../arch/$(SRCARCH)/include/asm was expected"; \ + echo " set ARCH or save .config and run 'make mrproper' to fix it"; \ + exit 1; \ + fi; \ +@@ -1008,12 +1010,17 @@ endef + # not exist so the test in check-symlink works and we have a + # directory for generated filesas used by some architectures. + define create-symlink +- if [ ! -L include/asm ]; then \ +- $(kecho) ' SYMLINK $@ -> include/asm-$(SRCARCH)'; \ +- if [ ! -d include/asm-$(SRCARCH) ]; then \ +- mkdir -p include/asm-$(SRCARCH); \ +- fi; \ +- ln -fsn asm-$(SRCARCH) $@; \ ++ if [ ! -L include/asm ]; then \ ++ if [ -d arch/$(SRCARCH)/include/asm ]; then \ ++ echo ' SYMLINK $@ -> arch/$(SRCARCH)/include/asm'; \ ++ ln -fsn ../arch/$(SRCARCH)/include/asm $@; \ ++ else \ ++ echo ' SYMLINK $@ -> include/asm-$(SRCARCH)'; \ ++ if [ ! -d include/asm-$(SRCARCH) ]; then \ ++ mkdir -p include/asm-$(SRCARCH); \ ++ fi; \ ++ ln -fsn asm-$(SRCARCH) $@; \ ++ fi; \ + fi + endef + +--- a/arch/ia64/Makefile ++++ b/arch/ia64/Makefile +@@ -103,4 +103,4 @@ archprepare: make_nr_irqs_h FORCE + PHONY += make_nr_irqs_h FORCE + + make_nr_irqs_h: FORCE +- $(Q)$(MAKE) $(build)=arch/ia64/kernel include/asm-ia64/nr-irqs.h ++ $(Q)$(MAKE) $(build)=arch/ia64/kernel arch/ia64/include/asm/nr-irqs.h +--- a/arch/ia64/include/asm/irq.h ++++ b/arch/ia64/include/asm/irq.h +@@ -13,7 +13,7 @@ + + #include <linux/types.h> + #include <linux/cpumask.h> +-#include <asm-ia64/nr-irqs.h> ++#include <asm/nr-irqs.h> + + static __inline__ int + irq_canonicalize (int irq) +--- a/arch/ia64/kernel/Makefile ++++ b/arch/ia64/kernel/Makefile +@@ -82,15 +82,15 @@ endef + + # We use internal kbuild rules to avoid the "is up to date" message from make + arch/$(SRCARCH)/kernel/nr-irqs.s: $(srctree)/arch/$(SRCARCH)/kernel/nr-irqs.c \ +- $(wildcard $(srctree)/include/asm-ia64/*/irq.h) ++ $(wildcard $(srctree)/arch/ia64/include/asm/*/irq.h) + $(Q)mkdir -p $(dir $@) + $(call if_changed_dep,cc_s_c) + +-include/asm-ia64/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s ++arch/ia64/include/asm/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s + $(Q)mkdir -p $(dir $@) + $(call cmd,nr_irqs) + +-clean-files += $(objtree)/include/asm-ia64/nr-irqs.h ++clean-files += $(objtree)/arch/ia64/include/asm/nr-irqs.h + + # + # native ivt.S, entry.S and fsys.S diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/gdth-section-conflict new/patches.rpmify/gdth-section-conflict --- old/patches.rpmify/gdth-section-conflict 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.rpmify/gdth-section-conflict 2009-12-03 16:01:42.000000000 +0100 @@ -0,0 +1,78 @@ +Subject: gdth: Fixup section annotations +From: Hannes Reinecke <hare@suse.de> +Date: Tue Sep 30 12:33:53 2008 +0200: +Git: 833d622ac5002b5bcbcaae4dee335d3e80b84f28 + +Fixup section annotations so that kbuild doesn't complain anymore. + +Signed-off-by: Hannes Reinecke <hare@suse.de> + +--- + drivers/scsi/gdth.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +--- a/drivers/scsi/gdth.c ++++ b/drivers/scsi/gdth.c +@@ -328,7 +328,7 @@ static int irq[MAXHA] __initdata = + {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; + /* disable driver flag */ +-static int disable __initdata = 0; ++static int disable = 0; + /* reserve flag */ + static int reserve_mode = 1; + /* reserve list */ +@@ -658,7 +658,7 @@ static int __devinit gdth_pci_init_one(s + #endif /* CONFIG_PCI */ + + #ifdef CONFIG_EISA +-static int __init gdth_init_eisa(ushort eisa_adr,gdth_ha_str *ha) ++static int __devinit gdth_init_eisa(ushort eisa_adr,gdth_ha_str *ha) + { + ulong32 retries,id; + unchar prot_ver,eisacf,i,irq_found; +@@ -752,7 +752,7 @@ static int __init gdth_init_eisa(ushort + #endif /* CONFIG_EISA */ + + #ifdef CONFIG_ISA +-static int __init gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha) ++static int __devinit gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha) + { + register gdt2_dpram_str __iomem *dp2_ptr; + int i; +@@ -4670,7 +4670,7 @@ static struct scsi_host_template gdth_te + }; + + #ifdef CONFIG_ISA +-static int __init gdth_isa_probe_one(ulong32 isa_bios) ++static int __devinit gdth_isa_probe_one(ulong32 isa_bios) + { + struct Scsi_Host *shp; + gdth_ha_str *ha; +@@ -4802,7 +4802,7 @@ static int __init gdth_isa_probe_one(ulo + #endif /* CONFIG_ISA */ + + #ifdef CONFIG_EISA +-static int __init gdth_eisa_probe_one(ushort eisa_slot) ++static int __devinit gdth_eisa_probe_one(ushort eisa_slot) + { + struct Scsi_Host *shp; + gdth_ha_str *ha; +@@ -5138,7 +5138,7 @@ static struct notifier_block gdth_notifi + gdth_halt, NULL, 0 + }; + +-static int __init gdth_init(void) ++static int __devinit gdth_init(void) + { + if (disable) { + printk("GDT-HA: Controller driver disabled from" +@@ -5192,7 +5192,7 @@ static int __init gdth_init(void) + return 0; + } + +-static void __exit gdth_exit(void) ++static void __devexit gdth_exit(void) + { + gdth_ha_str *ha; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/ipmi-section-conflict.diff new/patches.rpmify/ipmi-section-conflict.diff --- old/patches.rpmify/ipmi-section-conflict.diff 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.rpmify/ipmi-section-conflict.diff 2009-12-03 16:01:42.000000000 +0100 @@ -0,0 +1,82 @@ +From: Jeff Mahoney <jeffm@suse.com> +Subject: [PATCH] ipmi: Fix section type conflicts + + Module parameters can't be static since the module macros explicitly + put those symbols in the __param section. It causes a section conflict + on ia64. This doesn't occur with standard types, since they are global + and exported. + +Signed-off-by: Jeff Mahoney <jeffm@suse.com> +--- + + drivers/char/ipmi/ipmi_si_intf.c | 4 ++-- + drivers/char/ipmi/ipmi_watchdog.c | 10 +++++----- + 2 files changed, 7 insertions(+), 7 deletions(-) + +--- a/drivers/char/ipmi/ipmi_si_intf.c ++++ b/drivers/char/ipmi/ipmi_si_intf.c +@@ -1150,7 +1150,7 @@ static unsigned int num_slave_addrs; + #define IPMI_MEM_ADDR_SPACE 1 + static char *addr_space_to_str[] = { "i/o", "mem" }; + +-static int hotmod_handler(const char *val, struct kernel_param *kp); ++int hotmod_handler(const char *val, struct kernel_param *kp); + + module_param_call(hotmod, hotmod_handler, NULL, NULL, 0200); + MODULE_PARM_DESC(hotmod, "Add and remove interfaces. See" +@@ -1572,7 +1572,7 @@ static int check_hotmod_int_op(const cha + return 0; + } + +-static int hotmod_handler(const char *val, struct kernel_param *kp) ++int hotmod_handler(const char *val, struct kernel_param *kp) + { + char *str = kstrdup(val, GFP_KERNEL); + int rv; +--- a/drivers/char/ipmi/ipmi_watchdog.c ++++ b/drivers/char/ipmi/ipmi_watchdog.c +@@ -196,7 +196,7 @@ static void ipmi_unregister_watchdog(int + */ + static int start_now; + +-static int set_param_int(const char *val, struct kernel_param *kp) ++int set_param_int(const char *val, struct kernel_param *kp) + { + char *endp; + int l; +@@ -215,7 +215,7 @@ static int set_param_int(const char *val + return rv; + } + +-static int get_param_int(char *buffer, struct kernel_param *kp) ++int get_param_int(char *buffer, struct kernel_param *kp) + { + return sprintf(buffer, "%i", *((int *)kp->arg)); + } +@@ -227,7 +227,7 @@ static int preaction_op(const char *inva + static int preop_op(const char *inval, char *outval); + static void check_parms(void); + +-static int set_param_str(const char *val, struct kernel_param *kp) ++int set_param_str(const char *val, struct kernel_param *kp) + { + action_fn fn = (action_fn) kp->arg; + int rv = 0; +@@ -251,7 +251,7 @@ static int set_param_str(const char *val + return rv; + } + +-static int get_param_str(char *buffer, struct kernel_param *kp) ++int get_param_str(char *buffer, struct kernel_param *kp) + { + action_fn fn = (action_fn) kp->arg; + int rv; +@@ -263,7 +263,7 @@ static int get_param_str(char *buffer, s + } + + +-static int set_param_wdog_ifnum(const char *val, struct kernel_param *kp) ++int set_param_wdog_ifnum(const char *val, struct kernel_param *kp) + { + int rv = param_set_int(val, kp); + if (rv) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/md-section-conflict new/patches.rpmify/md-section-conflict --- old/patches.rpmify/md-section-conflict 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.rpmify/md-section-conflict 2009-12-03 16:01:42.000000000 +0100 @@ -0,0 +1,30 @@ +From: Jeff Mahoney <jeffm@suse.com> +Subject: md: Fix section conflicts + + Module parameters can't be static since the module macros explicitly + put those symbols in the __param section. It causes a section conflict + on ia64. This doesn't occur with standard types, since they are global + and exported. + +Signed-off-by: Jeff Mahoney <jeffm@suse.com> +--- + + drivers/md/md.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/md/md.c ++++ b/drivers/md/md.c +@@ -6968,11 +6968,11 @@ static __exit void md_exit(void) + subsys_initcall(md_init); + module_exit(md_exit) + +-static int get_ro(char *buffer, struct kernel_param *kp) ++int get_ro(char *buffer, struct kernel_param *kp) + { + return sprintf(buffer, "%d", start_readonly); + } +-static int set_ro(const char *val, struct kernel_param *kp) ++int set_ro(const char *val, struct kernel_param *kp) + { + char *e; + int num = simple_strtoul(val, &e, 10); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/psmouse-section-conflict.diff new/patches.rpmify/psmouse-section-conflict.diff --- old/patches.rpmify/psmouse-section-conflict.diff 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.rpmify/psmouse-section-conflict.diff 2009-12-03 16:01:42.000000000 +0100 @@ -0,0 +1,47 @@ +From: Jeff Mahoney <jeffm@suse.com> +Subject: [PATCH] psmouse: fix section type conflict + + Module parameters can't be static since the module macros explicitly + put those symbols in the __param section. It causes a section conflict + on ia64. This doesn't occur with standard types, since they are global + and exported. + +Signed-off-by: Jeff Mahoney <jeffm@suse.com> + +--- + + drivers/input/mouse/psmouse-base.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +--- a/drivers/input/mouse/psmouse-base.c ++++ b/drivers/input/mouse/psmouse-base.c +@@ -39,8 +39,8 @@ MODULE_DESCRIPTION(DRIVER_DESC); + MODULE_LICENSE("GPL"); + + static unsigned int psmouse_max_proto = PSMOUSE_AUTO; +-static int psmouse_set_maxproto(const char *val, struct kernel_param *kp); +-static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp); ++int psmouse_set_maxproto(const char *val, struct kernel_param *kp); ++int psmouse_get_maxproto(char *buffer, struct kernel_param *kp); + #define param_check_proto_abbrev(name, p) __param_check(name, p, unsigned int) + #define param_set_proto_abbrev psmouse_set_maxproto + #define param_get_proto_abbrev psmouse_get_maxproto +@@ -1652,7 +1652,8 @@ static ssize_t psmouse_attr_set_resoluti + } + + +-static int psmouse_set_maxproto(const char *val, struct kernel_param *kp) ++/* These two should be static, but it causes a section type conflict */ ++int psmouse_set_maxproto(const char *val, struct kernel_param *kp) + { + const struct psmouse_protocol *proto; + +@@ -1669,7 +1670,7 @@ static int psmouse_set_maxproto(const ch + return 0; + } + +-static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp) ++int psmouse_get_maxproto(char *buffer, struct kernel_param *kp) + { + int type = *((unsigned int *)kp->arg); + ++++++ patches.suse.tar.bz2 ++++++ ++++ 8136 lines of diff (skipped) ++++++ patches.trace.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.trace/lttng-instrumentation-swap.patch new/patches.trace/lttng-instrumentation-swap.patch --- old/patches.trace/lttng-instrumentation-swap.patch 2009-11-26 00:30:04.000000000 +0100 +++ new/patches.trace/lttng-instrumentation-swap.patch 2009-11-27 10:49:21.000000000 +0100 @@ -35,8 +35,10 @@ mm/swapfile.c | 6 ++++++ 4 files changed, 34 insertions(+) ---- a/mm/memory.c -+++ b/mm/memory.c +Index: linux-2.6.31-master/mm/memory.c +=================================================================== +--- linux-2.6.31-master.orig/mm/memory.c ++++ linux-2.6.31-master/mm/memory.c @@ -56,6 +56,7 @@ #include <linux/kallsyms.h> #include <linux/swapops.h> @@ -62,11 +64,13 @@ } else if (PageHWPoison(page)) { ret = VM_FAULT_HWPOISON; delayacct_clear_flag(DELAYACCT_PF_SWAPIN); ---- a/mm/page_io.c -+++ b/mm/page_io.c -@@ -17,8 +17,11 @@ - #include <linux/bio.h> +Index: linux-2.6.31-master/mm/page_io.c +=================================================================== +--- linux-2.6.31-master.orig/mm/page_io.c ++++ linux-2.6.31-master/mm/page_io.c +@@ -18,8 +18,11 @@ #include <linux/swapops.h> + #include <linux/buffer_head.h> #include <linux/writeback.h> +#include <trace/swap.h> #include <asm/pgtable.h> @@ -76,7 +80,7 @@ static struct bio *get_swap_bio(gfp_t gfp_flags, pgoff_t index, struct page *page, bio_end_io_t end_io) { -@@ -114,6 +117,7 @@ int swap_writepage(struct page *page, st +@@ -127,6 +130,7 @@ int swap_writepage(struct page *page, st rw |= (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG); count_vm_event(PSWPOUT); set_page_writeback(page); @@ -84,8 +88,10 @@ unlock_page(page); submit_bio(rw, bio); out: ---- a/mm/swapfile.c -+++ b/mm/swapfile.c +Index: linux-2.6.31-master/mm/swapfile.c +=================================================================== +--- linux-2.6.31-master.orig/mm/swapfile.c ++++ linux-2.6.31-master/mm/swapfile.c @@ -33,12 +33,16 @@ #include <linux/capability.h> #include <linux/syscalls.h> @@ -103,7 +109,7 @@ static DEFINE_SPINLOCK(swap_lock); static unsigned int nr_swapfiles; long nr_swap_pages; -@@ -1628,6 +1632,7 @@ SYSCALL_DEFINE1(swapoff, const char __us +@@ -1647,6 +1651,7 @@ SYSCALL_DEFINE1(swapoff, const char __us swap_map = p->swap_map; p->swap_map = NULL; p->flags = 0; @@ -111,7 +117,7 @@ spin_unlock(&swap_lock); mutex_unlock(&swapon_mutex); vfree(swap_map); -@@ -2019,6 +2024,7 @@ SYSCALL_DEFINE2(swapon, const char __use +@@ -2038,6 +2043,7 @@ SYSCALL_DEFINE2(swapon, const char __use } else { swap_info[prev].next = p - swap_info; } @@ -119,8 +125,10 @@ spin_unlock(&swap_lock); mutex_unlock(&swapon_mutex); error = 0; +Index: linux-2.6.31-master/include/trace/swap.h +=================================================================== --- /dev/null -+++ b/include/trace/swap.h ++++ linux-2.6.31-master/include/trace/swap.h @@ -0,0 +1,20 @@ +#ifndef _TRACE_SWAP_H +#define _TRACE_SWAP_H ++++++ patches.xen.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.xen/tmem new/patches.xen/tmem --- old/patches.xen/tmem 2009-11-26 12:48:56.000000000 +0100 +++ new/patches.xen/tmem 2009-12-03 15:59:47.000000000 +0100 @@ -30,9 +30,34 @@ Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> Acked-by: jbeulich@novell.com ---- head-2009-11-06.orig/fs/buffer.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/buffer.c 2009-11-06 10:32:37.000000000 +0100 -@@ -41,6 +41,7 @@ +--- + fs/buffer.c | 6 + + fs/ext3/super.c | 2 + fs/ext4/super.c | 3 + fs/mpage.c | 8 ++ + fs/ocfs2/super.c | 2 + fs/reiserfs/super.c | 2 + fs/super.c | 8 ++ + include/linux/fs.h | 3 + include/linux/precache.h | 55 ++++++++++++++ + include/linux/swap.h | 51 +++++++++++++ + kernel/sysctl.c | 12 +++ + mm/Kconfig | 28 +++++++ + mm/Makefile | 3 + mm/filemap.c | 11 ++ + mm/page_io.c | 19 ++++ + mm/precache.c | 140 +++++++++++++++++++++++++++++++++++ + mm/preswap.c | 184 +++++++++++++++++++++++++++++++++++++++++++++++ + mm/swapfile.c | 137 +++++++++++++++++++++++++++++++++- + mm/tmem.h | 84 +++++++++++++++++++++ + mm/truncate.c | 10 ++ + 20 files changed, 764 insertions(+), 4 deletions(-) + +Index: linux-2.6.31-master/fs/buffer.c +=================================================================== +--- linux-2.6.31-master.orig/fs/buffer.c ++++ linux-2.6.31-master/fs/buffer.c +@@ -42,6 +42,7 @@ #include <linux/mpage.h> #include <linux/bit_spinlock.h> #include <trace/fs.h> @@ -40,7 +65,7 @@ static int fsync_buffers_list(spinlock_t *lock, struct list_head *list); -@@ -276,6 +277,11 @@ void invalidate_bdev(struct block_device +@@ -282,6 +283,11 @@ void invalidate_bdev(struct block_device invalidate_bh_lrus(); invalidate_mapping_pages(mapping, 0, -1); @@ -52,8 +77,10 @@ } EXPORT_SYMBOL(invalidate_bdev); ---- head-2009-11-06.orig/fs/ext3/super.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/ext3/super.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/fs/ext3/super.c +=================================================================== +--- linux-2.6.31-master.orig/fs/ext3/super.c ++++ linux-2.6.31-master/fs/ext3/super.c @@ -38,6 +38,7 @@ #include <linux/seq_file.h> #include <linux/nfs4acl.h> @@ -62,7 +89,7 @@ #include <asm/uaccess.h> -@@ -1332,6 +1333,7 @@ static int ext3_setup_super(struct super +@@ -1334,6 +1335,7 @@ static int ext3_setup_super(struct super } else { printk("internal journal\n"); } @@ -70,8 +97,10 @@ return res; } ---- head-2009-11-06.orig/fs/ext4/super.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/ext4/super.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/fs/ext4/super.c +=================================================================== +--- linux-2.6.31-master.orig/fs/ext4/super.c ++++ linux-2.6.31-master/fs/ext4/super.c @@ -39,6 +39,7 @@ #include <linux/ctype.h> #include <linux/log2.h> @@ -89,8 +118,10 @@ return res; } ---- head-2009-11-06.orig/fs/mpage.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/mpage.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/fs/mpage.c +=================================================================== +--- linux-2.6.31-master.orig/fs/mpage.c ++++ linux-2.6.31-master/fs/mpage.c @@ -26,6 +26,7 @@ #include <linux/writeback.h> #include <linux/backing-dev.h> @@ -113,8 +144,10 @@ /* * This page will go to BIO. Do we need to send this BIO off first? */ ---- head-2009-11-06.orig/fs/ocfs2/super.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/ocfs2/super.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/fs/ocfs2/super.c +=================================================================== +--- linux-2.6.31-master.orig/fs/ocfs2/super.c ++++ linux-2.6.31-master/fs/ocfs2/super.c @@ -41,6 +41,7 @@ #include <linux/mount.h> #include <linux/seq_file.h> @@ -123,7 +156,7 @@ #include <linux/smp_lock.h> #define MLOG_MASK_PREFIX ML_SUPER -@@ -2222,6 +2223,7 @@ static int ocfs2_initialize_super(struct +@@ -2247,6 +2248,7 @@ static int ocfs2_initialize_super(struct mlog_errno(status); goto bail; } @@ -131,8 +164,10 @@ bail: mlog_exit(status); ---- head-2009-11-06.orig/fs/reiserfs/super.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/reiserfs/super.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/fs/reiserfs/super.c +=================================================================== +--- linux-2.6.31-master.orig/fs/reiserfs/super.c ++++ linux-2.6.31-master/fs/reiserfs/super.c @@ -26,6 +26,7 @@ #include <linux/vfs.h> #include <linux/mount.h> @@ -149,8 +184,10 @@ return (0); ---- head-2009-11-06.orig/fs/super.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/super.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/fs/super.c +=================================================================== +--- linux-2.6.31-master.orig/fs/super.c ++++ linux-2.6.31-master/fs/super.c @@ -37,6 +37,7 @@ #include <linux/kobject.h> #include <linux/mutex.h> @@ -187,9 +224,11 @@ simple_set_mnt(mnt, s); return 0; } ---- head-2009-11-06.orig/include/linux/fs.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/fs.h 2009-11-06 10:32:37.000000000 +0100 -@@ -1371,6 +1371,9 @@ struct super_block { +Index: linux-2.6.31-master/include/linux/fs.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/fs.h ++++ linux-2.6.31-master/include/linux/fs.h +@@ -1397,6 +1397,9 @@ struct super_block { /* Granularity of c/m/atime in ns. Cannot be worse than a second */ u32 s_time_gran; @@ -199,8 +238,10 @@ /* * Filesystem subtype. If non-empty the filesystem type field ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2009-11-06/include/linux/precache.h 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/include/linux/precache.h +=================================================================== +--- /dev/null ++++ linux-2.6.31-master/include/linux/precache.h @@ -0,0 +1,55 @@ +#ifndef _LINUX_PRECACHE_H + @@ -257,9 +298,11 @@ + +#define _LINUX_PRECACHE_H +#endif /* _LINUX_PRECACHE_H */ ---- head-2009-11-06.orig/include/linux/swap.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/swap.h 2009-11-06 10:32:37.000000000 +0100 -@@ -177,8 +177,59 @@ struct swap_info_struct { +Index: linux-2.6.31-master/include/linux/swap.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/swap.h ++++ linux-2.6.31-master/include/linux/swap.h +@@ -178,8 +178,59 @@ struct swap_info_struct { unsigned int max; unsigned int inuse_pages; unsigned int old_block_size; @@ -319,8 +362,10 @@ struct swap_list_t { int head; /* head of priority-ordered swapfile list */ int next; /* swapfile to be used next */ ---- head-2009-11-06.orig/kernel/sysctl.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/kernel/sysctl.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/kernel/sysctl.c +=================================================================== +--- linux-2.6.31-master.orig/kernel/sysctl.c ++++ linux-2.6.31-master/kernel/sysctl.c @@ -1424,6 +1424,18 @@ static struct ctl_table vm_table[] = { .mode = 0644, .proc_handler = &proc_dointvec, @@ -340,8 +385,10 @@ #ifdef CONFIG_MEMORY_FAILURE { .ctl_name = CTL_UNNUMBERED, ---- head-2009-11-06.orig/mm/Kconfig 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/Kconfig 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/mm/Kconfig +=================================================================== +--- linux-2.6.31-master.orig/mm/Kconfig ++++ linux-2.6.31-master/mm/Kconfig @@ -287,3 +287,31 @@ config NOMMU_INITIAL_TRIM_EXCESS of 1 says that all excess pages should be trimmed. @@ -374,8 +421,10 @@ + Allows the transcendent memory pool to be used as a pseudo-swap + device which, under some circumstances, will greatly reduce + swapping and thus improve performance. If unsure, say Y. ---- head-2009-11-06.orig/mm/Makefile 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/Makefile 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/mm/Makefile +=================================================================== +--- linux-2.6.31-master.orig/mm/Makefile ++++ linux-2.6.31-master/mm/Makefile @@ -17,6 +17,9 @@ obj-y += init-mm.o obj-$(CONFIG_BOUNCE) += bounce.o @@ -386,8 +435,10 @@ obj-$(CONFIG_HAS_DMA) += dmapool.o obj-$(CONFIG_HUGETLBFS) += hugetlb.o obj-$(CONFIG_NUMA) += mempolicy.o ---- head-2009-11-06.orig/mm/filemap.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/filemap.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/mm/filemap.c +=================================================================== +--- linux-2.6.31-master.orig/mm/filemap.c ++++ linux-2.6.31-master/mm/filemap.c @@ -33,6 +33,7 @@ #include <linux/cpuset.h> #include <linux/hardirq.h> /* for BUG_ON(!in_atomic()) only */ @@ -396,7 +447,7 @@ #include <linux/mm_inline.h> /* for page_is_file_cache() */ #include <trace/filemap.h> #include "internal.h" -@@ -119,6 +120,16 @@ void __remove_from_page_cache(struct pag +@@ -123,6 +124,16 @@ void __remove_from_page_cache(struct pag { struct address_space *mapping = page->mapping; @@ -413,9 +464,11 @@ radix_tree_delete(&mapping->page_tree, page->index); page->mapping = NULL; mapping->nrpages--; ---- head-2009-11-06.orig/mm/page_io.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/page_io.c 2009-11-06 10:32:37.000000000 +0100 -@@ -110,10 +110,23 @@ int swap_writepage(struct page *page, st +Index: linux-2.6.31-master/mm/page_io.c +=================================================================== +--- linux-2.6.31-master.orig/mm/page_io.c ++++ linux-2.6.31-master/mm/page_io.c +@@ -126,10 +126,23 @@ int swap_writepage(struct page *page, st ret = -ENOMEM; goto out; } @@ -439,11 +492,10 @@ trace_swap_out(page); unlock_page(page); submit_bio(rw, bio); -@@ -127,6 +140,13 @@ int swap_readpage(struct page *page) +@@ -185,6 +198,12 @@ int swap_readpage(struct page *page) + return ret; + } - VM_BUG_ON(!PageLocked(page)); - VM_BUG_ON(PageUptodate(page)); -+ + if (preswap_get(page) == 1) { + SetPageUptodate(page); + unlock_page(page); @@ -453,8 +505,10 @@ bio = get_swap_bio(GFP_KERNEL, page_private(page), page, end_swap_bio_read); if (bio == NULL) { ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2009-11-06/mm/precache.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/mm/precache.c +=================================================================== +--- /dev/null ++++ linux-2.6.31-master/mm/precache.c @@ -0,0 +1,140 @@ +/* + * linux/mm/precache.c @@ -596,8 +650,10 @@ + sb->precache_poolid = tmem_new_pool(uuid_lo, uuid_hi, TMEM_POOL_SHARED); +} +EXPORT_SYMBOL(shared_precache_init); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2009-11-06/mm/preswap.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/mm/preswap.c +=================================================================== +--- /dev/null ++++ linux-2.6.31-master/mm/preswap.c @@ -0,0 +1,184 @@ +/* + * linux/mm/preswap.c @@ -783,9 +839,11 @@ + if (preswap_poolid < 0) + return; +} ---- head-2009-11-06.orig/mm/swapfile.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/swapfile.c 2009-11-06 10:32:37.000000000 +0100 -@@ -589,6 +589,7 @@ static int swap_entry_free(struct swap_i +Index: linux-2.6.31-master/mm/swapfile.c +=================================================================== +--- linux-2.6.31-master.orig/mm/swapfile.c ++++ linux-2.6.31-master/mm/swapfile.c +@@ -593,6 +593,7 @@ static int swap_entry_free(struct swap_i swap_list.next = p - swap_info; nr_swap_pages++; p->inuse_pages--; @@ -793,7 +851,7 @@ } if (!swap_count(count)) mem_cgroup_uncharge_swap(ent); -@@ -988,7 +989,7 @@ static int unuse_mm(struct mm_struct *mm +@@ -992,7 +993,7 @@ static int unuse_mm(struct mm_struct *mm * Recycle to start on reaching the end, returning 0 when empty. */ static unsigned int find_next_to_unuse(struct swap_info_struct *si, @@ -802,7 +860,7 @@ { unsigned int max = si->max; unsigned int i = prev; -@@ -1014,6 +1015,12 @@ static unsigned int find_next_to_unuse(s +@@ -1018,6 +1019,12 @@ static unsigned int find_next_to_unuse(s prev = 0; i = 1; } @@ -815,7 +873,7 @@ count = si->swap_map[i]; if (count && swap_count(count) != SWAP_MAP_BAD) break; -@@ -1025,8 +1032,12 @@ static unsigned int find_next_to_unuse(s +@@ -1029,8 +1036,12 @@ static unsigned int find_next_to_unuse(s * We completely avoid races by reading each swap page in advance, * and then search for the process using it. All the necessary * page table adjustments can then be made atomically. @@ -829,7 +887,7 @@ { struct swap_info_struct * si = &swap_info[type]; struct mm_struct *start_mm; -@@ -1062,7 +1073,7 @@ static int try_to_unuse(unsigned int typ +@@ -1066,7 +1077,7 @@ static int try_to_unuse(unsigned int typ * one pass through swap_map is enough, but not necessarily: * there are races when an instance of an entry might be missed. */ @@ -838,7 +896,7 @@ if (signal_pending(current)) { retval = -EINTR; break; -@@ -1255,6 +1266,8 @@ retry: +@@ -1259,6 +1270,8 @@ retry: * interactive performance. */ cond_resched(); @@ -847,7 +905,7 @@ } mmput(start_mm); -@@ -1579,7 +1592,7 @@ SYSCALL_DEFINE1(swapoff, const char __us +@@ -1602,7 +1615,7 @@ SYSCALL_DEFINE1(swapoff, const char __us spin_unlock(&swap_lock); current->flags |= PF_OOM_ORIGIN; @@ -856,7 +914,7 @@ current->flags &= ~PF_OOM_ORIGIN; if (err) { -@@ -1628,9 +1641,14 @@ SYSCALL_DEFINE1(swapoff, const char __us +@@ -1652,9 +1665,14 @@ SYSCALL_DEFINE1(swapoff, const char __us p->swap_map = NULL; p->flags = 0; trace_swap_file_close(swap_file); @@ -871,7 +929,7 @@ /* Destroy swap account informatin */ swap_cgroup_swapoff(type); -@@ -1784,6 +1802,7 @@ SYSCALL_DEFINE2(swapon, const char __use +@@ -1808,6 +1826,7 @@ SYSCALL_DEFINE2(swapon, const char __use unsigned long maxpages = 1; unsigned long swapfilepages; unsigned short *swap_map = NULL; @@ -879,7 +937,7 @@ struct page *page = NULL; struct inode *inode = NULL; int did_down = 0; -@@ -1952,6 +1971,12 @@ SYSCALL_DEFINE2(swapon, const char __use +@@ -1976,6 +1995,12 @@ SYSCALL_DEFINE2(swapon, const char __use swap_map[page_nr] = SWAP_MAP_BAD; } @@ -892,7 +950,7 @@ error = swap_cgroup_swapon(type, maxpages); if (error) goto bad_swap; -@@ -1994,6 +2019,9 @@ SYSCALL_DEFINE2(swapon, const char __use +@@ -2018,6 +2043,9 @@ SYSCALL_DEFINE2(swapon, const char __use else p->prio = --least_priority; p->swap_map = swap_map; @@ -902,7 +960,7 @@ p->flags |= SWP_WRITEOK; nr_swap_pages += nr_good_pages; total_swap_pages += nr_good_pages; -@@ -2019,6 +2047,7 @@ SYSCALL_DEFINE2(swapon, const char __use +@@ -2044,6 +2072,7 @@ SYSCALL_DEFINE2(swapon, const char __use swap_info[prev].next = p - swap_info; } trace_swap_file_open(swap_file, name); @@ -910,7 +968,7 @@ spin_unlock(&swap_lock); mutex_unlock(&swapon_mutex); error = 0; -@@ -2035,6 +2064,7 @@ bad_swap_2: +@@ -2060,6 +2089,7 @@ bad_swap_2: p->swap_file = NULL; p->flags = 0; spin_unlock(&swap_lock); @@ -918,7 +976,7 @@ vfree(swap_map); if (swap_file) filp_close(swap_file, NULL); -@@ -2211,6 +2241,10 @@ int valid_swaphandles(swp_entry_t entry, +@@ -2268,6 +2298,10 @@ int valid_swaphandles(swp_entry_t entry, base++; spin_lock(&swap_lock); @@ -929,7 +987,7 @@ if (end > si->max) /* don't go beyond end of map */ end = si->max; -@@ -2221,6 +2255,9 @@ int valid_swaphandles(swp_entry_t entry, +@@ -2278,6 +2312,9 @@ int valid_swaphandles(swp_entry_t entry, break; if (swap_count(si->swap_map[toff]) == SWAP_MAP_BAD) break; @@ -939,7 +997,7 @@ } /* Count contiguous allocated slots below our target */ for (toff = target; --toff >= base; nr_pages++) { -@@ -2229,6 +2266,9 @@ int valid_swaphandles(swp_entry_t entry, +@@ -2286,6 +2323,9 @@ int valid_swaphandles(swp_entry_t entry, break; if (swap_count(si->swap_map[toff]) == SWAP_MAP_BAD) break; @@ -949,7 +1007,7 @@ } spin_unlock(&swap_lock); -@@ -2239,3 +2279,92 @@ int valid_swaphandles(swp_entry_t entry, +@@ -2296,3 +2336,92 @@ int valid_swaphandles(swp_entry_t entry, *offset = ++toff; return nr_pages? ++nr_pages: 0; } @@ -1042,8 +1100,10 @@ +} +#endif +#endif /* CONFIG_PRESWAP */ ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2009-11-06/mm/tmem.h 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/mm/tmem.h +=================================================================== +--- /dev/null ++++ linux-2.6.31-master/mm/tmem.h @@ -0,0 +1,84 @@ +/* + * linux/mm/tmem.h @@ -1129,8 +1189,10 @@ + } u; +}; +#endif ---- head-2009-11-06.orig/mm/truncate.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/truncate.c 2009-11-06 10:32:37.000000000 +0100 +Index: linux-2.6.31-master/mm/truncate.c +=================================================================== +--- linux-2.6.31-master.orig/mm/truncate.c ++++ linux-2.6.31-master/mm/truncate.c @@ -15,6 +15,7 @@ #include <linux/pagemap.h> #include <linux/highmem.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.xen/xen3-auto-arch-x86.diff new/patches.xen/xen3-auto-arch-x86.diff --- old/patches.xen/xen3-auto-arch-x86.diff 2009-11-26 12:48:56.000000000 +0100 +++ new/patches.xen/xen3-auto-arch-x86.diff 2009-12-03 15:59:47.000000000 +0100 @@ -146,7 +146,7 @@ +#endif pr->pdc = NULL; - if (c->x86_vendor == X86_VENDOR_INTEL) + if (c->x86_vendor == X86_VENDOR_INTEL || --- head-2009-11-06.orig/arch/x86/kernel/cpu/mcheck/Makefile 2009-11-06 10:29:51.000000000 +0100 +++ head-2009-11-06/arch/x86/kernel/cpu/mcheck/Makefile 2009-11-06 10:37:15.000000000 +0100 @@ -3,6 +3,7 @@ obj-y = mce.o mce-severity.o diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.xen/xen3-auto-common.diff new/patches.xen/xen3-auto-common.diff --- old/patches.xen/xen3-auto-common.diff 2009-11-26 12:48:56.000000000 +0100 +++ new/patches.xen/xen3-auto-common.diff 2009-12-03 15:59:47.000000000 +0100 @@ -12,8 +12,65 @@ 2.6.25/mm/highmem.c 2.6.30/include/linux/pci_regs.h ---- head-2009-11-06.orig/drivers/Makefile 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/Makefile 2009-11-06 10:37:01.000000000 +0100 +--- + drivers/Makefile | 1 + drivers/acpi/Makefile | 3 + drivers/acpi/acpica/hwsleep.c | 15 + drivers/acpi/processor_core.c | 69 ++- + drivers/acpi/processor_extcntl.c | 241 +++++++++++ + drivers/acpi/processor_idle.c | 14 + drivers/acpi/processor_perflib.c | 21 + drivers/acpi/sleep.c | 9 + drivers/char/agp/intel-agp.c | 10 + drivers/char/mem.c | 16 + drivers/char/tpm/Makefile | 2 + drivers/char/tpm/tpm.h | 15 + drivers/char/tpm/tpm_vtpm.c | 542 +++++++++++++++++++++++++ + drivers/char/tpm/tpm_vtpm.h | 55 ++ + drivers/char/tpm/tpm_xen.c | 722 ++++++++++++++++++++++++++++++++++ + drivers/edac/edac_mc.c | 4 + drivers/ide/ide-lib.c | 8 + drivers/oprofile/buffer_sync.c | 72 ++- + drivers/oprofile/cpu_buffer.c | 52 +- + drivers/oprofile/cpu_buffer.h | 12 + drivers/oprofile/event_buffer.h | 3 + drivers/oprofile/oprof.c | 30 + + drivers/oprofile/oprof.h | 3 + drivers/oprofile/oprofile_files.c | 197 +++++++++ + fs/aio.c | 119 +++++ + fs/compat_ioctl.c | 19 + include/acpi/processor.h | 143 ++++++ + include/asm-generic/pgtable.h | 4 + include/linux/aio.h | 6 + include/linux/highmem.h | 6 + include/linux/interrupt.h | 6 + include/linux/kexec.h | 13 + include/linux/mm.h | 20 + include/linux/oprofile.h | 16 + include/linux/page-flags.h | 37 + + include/linux/pci.h | 9 + include/linux/skbuff.h | 6 + include/linux/vermagic.h | 7 + kernel/irq/spurious.c | 2 + kernel/kexec.c | 68 ++- + kernel/sysctl.c | 2 + mm/memory.c | 40 + + mm/mmap.c | 10 + mm/mprotect.c | 2 + mm/page_alloc.c | 14 + net/core/dev.c | 62 ++ + net/core/skbuff.c | 4 + net/ipv4/netfilter/nf_nat_proto_tcp.c | 3 + net/ipv4/netfilter/nf_nat_proto_udp.c | 4 + net/ipv4/xfrm4_output.c | 2 + scripts/Makefile.build | 15 + scripts/Makefile.lib | 6 + 52 files changed, 2687 insertions(+), 74 deletions(-) + +Index: linux-2.6.31-master/drivers/Makefile +=================================================================== +--- linux-2.6.31-master.orig/drivers/Makefile ++++ linux-2.6.31-master/drivers/Makefile @@ -33,6 +33,7 @@ obj-$(CONFIG_PARPORT) += parport/ obj-y += base/ block/ misc/ mfd/ obj-$(CONFIG_NUBUS) += nubus/ @@ -22,8 +79,10 @@ obj-$(CONFIG_SCSI) += scsi/ obj-$(CONFIG_ATA) += ata/ obj-$(CONFIG_MTD) += mtd/ ---- head-2009-11-06.orig/drivers/acpi/Makefile 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/acpi/Makefile 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/acpi/Makefile +=================================================================== +--- linux-2.6.31-master.orig/drivers/acpi/Makefile ++++ linux-2.6.31-master/drivers/acpi/Makefile @@ -62,5 +62,8 @@ obj-$(CONFIG_ACPI_POWER_METER) += power_ processor-y := processor_core.o processor_throttling.o processor-y += processor_idle.o processor_thermal.o @@ -33,8 +92,10 @@ +endif obj-$(CONFIG_ACPI_PROCESSOR_AGGREGATOR) += acpi_pad.o ---- head-2009-11-06.orig/drivers/acpi/acpica/hwsleep.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/acpi/acpica/hwsleep.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/acpi/acpica/hwsleep.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/acpi/acpica/hwsleep.c ++++ linux-2.6.31-master/drivers/acpi/acpica/hwsleep.c @@ -236,7 +236,11 @@ acpi_status asmlinkage acpi_enter_sleep_ u32 pm1b_control; struct acpi_bit_register_info *sleep_type_reg_info; @@ -72,8 +133,10 @@ return_ACPI_STATUS(AE_OK); } ---- head-2009-11-06.orig/drivers/acpi/processor_core.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/acpi/processor_core.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/acpi/processor_core.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/acpi/processor_core.c ++++ linux-2.6.31-master/drivers/acpi/processor_core.c @@ -658,7 +658,8 @@ static int acpi_processor_get_info(struc */ if (pr->id == -1) { @@ -96,7 +159,7 @@ static void acpi_processor_notify(struct acpi_device *device, u32 event) { -@@ -790,27 +795,43 @@ static int acpi_processor_add(struct acp +@@ -790,27 +795,43 @@ static int __cpuinit acpi_processor_add( strcpy(acpi_device_class(device), ACPI_PROCESSOR_CLASS); device->driver_data = pr; @@ -142,7 +205,7 @@ per_cpu(processors, pr->id) = pr; -@@ -829,15 +850,27 @@ static int acpi_processor_add(struct acp +@@ -829,15 +850,27 @@ static int __cpuinit acpi_processor_add( acpi_processor_set_pdc(pr); arch_acpi_processor_cleanup_pdc(pr); @@ -173,7 +236,7 @@ pr->cdev = thermal_cooling_device_register("Processor", device, &processor_cooling_ops); if (IS_ERR(pr->cdev)) { -@@ -889,7 +922,7 @@ static int acpi_processor_remove(struct +@@ -889,7 +922,7 @@ static int acpi_processor_remove(struct pr = acpi_driver_data(device); @@ -182,7 +245,7 @@ goto free; if (type == ACPI_BUS_REMOVAL_EJECT) { -@@ -910,8 +943,14 @@ static int acpi_processor_remove(struct +@@ -910,8 +943,14 @@ static int acpi_processor_remove(struct pr->cdev = NULL; } @@ -241,8 +304,10 @@ if (cpu_online(pr->id)) cpu_down(pr->id); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2009-11-06/drivers/acpi/processor_extcntl.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/acpi/processor_extcntl.c +=================================================================== +--- /dev/null ++++ linux-2.6.31-master/drivers/acpi/processor_extcntl.c @@ -0,0 +1,241 @@ +/* + * processor_extcntl.c - channel to external control logic @@ -485,8 +550,10 @@ + kfree(perf); + return ret; +} ---- head-2009-11-06.orig/drivers/acpi/processor_idle.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/acpi/processor_idle.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/acpi/processor_idle.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/acpi/processor_idle.c ++++ linux-2.6.31-master/drivers/acpi/processor_idle.c @@ -419,7 +419,8 @@ static int acpi_processor_get_power_info */ cx.entry_method = ACPI_CSTATE_HALT; @@ -522,8 +589,10 @@ return 0; } ---- head-2009-11-06.orig/drivers/acpi/processor_perflib.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/acpi/processor_perflib.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/acpi/processor_perflib.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/acpi/processor_perflib.c ++++ linux-2.6.31-master/drivers/acpi/processor_perflib.c @@ -78,6 +78,7 @@ MODULE_PARM_DESC(ignore_ppc, "If the fre static int acpi_processor_ppc_status; @@ -598,8 +667,10 @@ { int result = 0; acpi_status status = AE_OK; ---- head-2009-11-06.orig/drivers/acpi/sleep.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/acpi/sleep.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/acpi/sleep.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/acpi/sleep.c ++++ linux-2.6.31-master/drivers/acpi/sleep.c @@ -60,6 +60,7 @@ static struct notifier_block tts_notifie static int acpi_sleep_prepare(u32 acpi_state) { @@ -631,8 +702,10 @@ break; } ---- head-2009-11-06.orig/drivers/char/agp/intel-agp.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/char/agp/intel-agp.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/char/agp/intel-agp.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/char/agp/intel-agp.c ++++ linux-2.6.31-master/drivers/char/agp/intel-agp.c @@ -397,6 +397,13 @@ static struct page *i8xx_alloc_pages(voi if (page == NULL) return NULL; @@ -657,8 +730,10 @@ put_page(page); __free_pages(page, 2); atomic_dec(&agp_bridge->current_memory_agp); ---- head-2009-11-06.orig/drivers/char/mem.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/char/mem.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/char/mem.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/char/mem.c ++++ linux-2.6.31-master/drivers/char/mem.c @@ -110,6 +110,7 @@ void __attribute__((weak)) unxlate_dev_m { } @@ -675,7 +750,7 @@ int __attribute__((weak)) phys_mem_access_prot_allowed(struct file *file, unsigned long pfn, unsigned long size, pgprot_t *vma_prot) -@@ -345,6 +347,9 @@ static int mmap_mem(struct file * file, +@@ -345,6 +347,9 @@ static int mmap_mem(struct file * file, static int mmap_kmem(struct file * file, struct vm_area_struct * vma) { unsigned long pfn; @@ -717,16 +792,20 @@ #ifdef CONFIG_DEVKMEM static const struct file_operations kmem_fops = { ---- head-2009-11-06.orig/drivers/char/tpm/Makefile 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/char/tpm/Makefile 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/char/tpm/Makefile +=================================================================== +--- linux-2.6.31-master.orig/drivers/char/tpm/Makefile ++++ linux-2.6.31-master/drivers/char/tpm/Makefile @@ -9,3 +9,5 @@ obj-$(CONFIG_TCG_TIS) += tpm_tis.o obj-$(CONFIG_TCG_NSC) += tpm_nsc.o obj-$(CONFIG_TCG_ATMEL) += tpm_atmel.o obj-$(CONFIG_TCG_INFINEON) += tpm_infineon.o +obj-$(CONFIG_TCG_XEN) += tpm_xenu.o +tpm_xenu-y = tpm_xen.o tpm_vtpm.o ---- head-2009-11-06.orig/drivers/char/tpm/tpm.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/char/tpm/tpm.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/char/tpm/tpm.h +=================================================================== +--- linux-2.6.31-master.orig/drivers/char/tpm/tpm.h ++++ linux-2.6.31-master/drivers/char/tpm/tpm.h @@ -108,6 +108,9 @@ struct tpm_chip { struct dentry **bios_dir; @@ -756,8 +835,10 @@ extern void tpm_get_timeouts(struct tpm_chip *); extern void tpm_gen_interrupt(struct tpm_chip *); extern void tpm_continue_selftest(struct tpm_chip *); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2009-11-06/drivers/char/tpm/tpm_vtpm.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/char/tpm/tpm_vtpm.c +=================================================================== +--- /dev/null ++++ linux-2.6.31-master/drivers/char/tpm/tpm_vtpm.c @@ -0,0 +1,542 @@ +/* + * Copyright (C) 2006 IBM Corporation @@ -1301,8 +1382,10 @@ + tpm_remove_hardware(dev); + kfree(vtpms); +} ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2009-11-06/drivers/char/tpm/tpm_vtpm.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/char/tpm/tpm_vtpm.h +=================================================================== +--- /dev/null ++++ linux-2.6.31-master/drivers/char/tpm/tpm_vtpm.h @@ -0,0 +1,55 @@ +#ifndef TPM_VTPM_H +#define TPM_VTPM_H @@ -1359,8 +1442,10 @@ +} + +#endif ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ head-2009-11-06/drivers/char/tpm/tpm_xen.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/char/tpm/tpm_xen.c +=================================================================== +--- /dev/null ++++ linux-2.6.31-master/drivers/char/tpm/tpm_xen.c @@ -0,0 +1,722 @@ +/* + * Copyright (c) 2005, IBM Corporation @@ -2084,8 +2169,10 @@ +module_init(tpmif_init); + +MODULE_LICENSE("Dual BSD/GPL"); ---- head-2009-11-06.orig/drivers/edac/edac_mc.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/edac/edac_mc.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/edac/edac_mc.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/edac/edac_mc.c ++++ linux-2.6.31-master/drivers/edac/edac_mc.c @@ -578,6 +578,10 @@ static void edac_mc_scrub_block(unsigned debugf3("%s()\n", __func__); @@ -2097,8 +2184,10 @@ /* ECC error page was not in our memory. Ignore it. */ if (!pfn_valid(page)) return; ---- head-2009-11-06.orig/drivers/ide/ide-lib.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/ide/ide-lib.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/ide/ide-lib.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/ide/ide-lib.c ++++ linux-2.6.31-master/drivers/ide/ide-lib.c @@ -18,12 +18,12 @@ void ide_toggle_bounce(ide_drive_t *driv { u64 addr = BLK_BOUNCE_HIGH; /* dma64_addr_t */ @@ -2116,8 +2205,10 @@ addr = *dev->dma_mask; } ---- head-2009-11-06.orig/drivers/oprofile/buffer_sync.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/oprofile/buffer_sync.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/oprofile/buffer_sync.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/oprofile/buffer_sync.c ++++ linux-2.6.31-master/drivers/oprofile/buffer_sync.c @@ -8,6 +8,10 @@ * @author Barry Kasindorf * @author Robert Richter <robert.richter@amd.com> @@ -2294,8 +2385,10 @@ mark_done(cpu); mutex_unlock(&buffer_mutex); ---- head-2009-11-06.orig/drivers/oprofile/cpu_buffer.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/oprofile/cpu_buffer.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/oprofile/cpu_buffer.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/oprofile/cpu_buffer.c ++++ linux-2.6.31-master/drivers/oprofile/cpu_buffer.c @@ -8,6 +8,10 @@ * @author Barry Kasindorf <barry.kasindorf@amd.com> * @author Robert Richter <robert.richter@amd.com> @@ -2325,7 +2418,7 @@ b->tracing = 0; b->buffer_size = buffer_size; b->sample_received = 0; -@@ -216,7 +222,7 @@ unsigned long op_cpu_buffer_entries(int +@@ -216,7 +222,7 @@ unsigned long op_cpu_buffer_entries(int static int op_add_code(struct oprofile_cpu_buffer *cpu_buf, unsigned long backtrace, @@ -2411,8 +2504,10 @@ /* * This serves to avoid cpu buffer overflow, and makes sure * the task mortuary progresses ---- head-2009-11-06.orig/drivers/oprofile/cpu_buffer.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/oprofile/cpu_buffer.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/oprofile/cpu_buffer.h +=================================================================== +--- linux-2.6.31-master.orig/drivers/oprofile/cpu_buffer.h ++++ linux-2.6.31-master/drivers/oprofile/cpu_buffer.h @@ -40,7 +40,7 @@ struct op_entry; struct oprofile_cpu_buffer { unsigned long buffer_size; @@ -2447,8 +2542,10 @@ +#define DOMAIN_SWITCH (1UL << 5) #endif /* OPROFILE_CPU_BUFFER_H */ ---- head-2009-11-06.orig/drivers/oprofile/event_buffer.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/oprofile/event_buffer.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/oprofile/event_buffer.h +=================================================================== +--- linux-2.6.31-master.orig/drivers/oprofile/event_buffer.h ++++ linux-2.6.31-master/drivers/oprofile/event_buffer.h @@ -30,6 +30,9 @@ void wake_up_buffer_waiter(void); #define INVALID_COOKIE ~0UL #define NO_COOKIE 0UL @@ -2459,8 +2556,10 @@ extern const struct file_operations event_buffer_fops; /* mutex between sync_cpu_buffers() and the ---- head-2009-11-06.orig/drivers/oprofile/oprof.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/oprofile/oprof.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/oprofile/oprof.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/oprofile/oprof.c ++++ linux-2.6.31-master/drivers/oprofile/oprof.c @@ -5,6 +5,10 @@ * @remark Read the file COPYING * @@ -2505,8 +2604,10 @@ int oprofile_setup(void) { int err; ---- head-2009-11-06.orig/drivers/oprofile/oprof.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/oprofile/oprof.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/oprofile/oprof.h +=================================================================== +--- linux-2.6.31-master.orig/drivers/oprofile/oprof.h ++++ linux-2.6.31-master/drivers/oprofile/oprof.h @@ -39,4 +39,7 @@ void oprofile_timer_init(struct oprofile int oprofile_set_backtrace(unsigned long depth); int oprofile_set_timeout(unsigned long time); @@ -2515,8 +2616,10 @@ +int oprofile_set_passive(int passive_domains[], unsigned int pdomains); + #endif /* OPROF_H */ ---- head-2009-11-06.orig/drivers/oprofile/oprofile_files.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/drivers/oprofile/oprofile_files.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/drivers/oprofile/oprofile_files.c +=================================================================== +--- linux-2.6.31-master.orig/drivers/oprofile/oprofile_files.c ++++ linux-2.6.31-master/drivers/oprofile/oprofile_files.c @@ -5,11 +5,17 @@ * @remark Read the file COPYING * @@ -2740,8 +2843,10 @@ oprofilefs_create_file(sb, root, "buffer", &event_buffer_fops); oprofilefs_create_ulong(sb, root, "buffer_size", &oprofile_buffer_size); oprofilefs_create_ulong(sb, root, "buffer_watershed", &oprofile_buffer_watershed); ---- head-2009-11-06.orig/fs/aio.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/aio.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/fs/aio.c +=================================================================== +--- linux-2.6.31-master.orig/fs/aio.c ++++ linux-2.6.31-master/fs/aio.c @@ -36,6 +36,11 @@ #include <asm/kmap_types.h> #include <asm/uaccess.h> @@ -2929,8 +3034,10 @@ get_ioctx(ioctx); /* io_destroy() expects us to hold a ref */ io_destroy(ioctx); ---- head-2009-11-06.orig/fs/compat_ioctl.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/fs/compat_ioctl.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/fs/compat_ioctl.c +=================================================================== +--- linux-2.6.31-master.orig/fs/compat_ioctl.c ++++ linux-2.6.31-master/fs/compat_ioctl.c @@ -115,6 +115,13 @@ #include <asm/fbio.h> #endif @@ -2964,8 +3071,10 @@ }; #define IOCTL_HASHSIZE 256 ---- head-2009-11-06.orig/include/acpi/processor.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/acpi/processor.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/acpi/processor.h +=================================================================== +--- linux-2.6.31-master.orig/include/acpi/processor.h ++++ linux-2.6.31-master/include/acpi/processor.h @@ -17,6 +17,12 @@ #define ACPI_PROCESSOR_MAX_THROTTLE 250 /* 25% */ #define ACPI_PROCESSOR_MAX_DUTY_WIDTH 4 @@ -3149,8 +3258,10 @@ +#endif /* CONFIG_XEN */ + #endif ---- head-2009-11-06.orig/include/asm-generic/pgtable.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/asm-generic/pgtable.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/asm-generic/pgtable.h +=================================================================== +--- linux-2.6.31-master.orig/include/asm-generic/pgtable.h ++++ linux-2.6.31-master/include/asm-generic/pgtable.h @@ -99,6 +99,10 @@ static inline void ptep_set_wrprotect(st } #endif @@ -3162,8 +3273,10 @@ #ifndef __HAVE_ARCH_PTE_SAME #define pte_same(A,B) (pte_val(A) == pte_val(B)) #endif ---- head-2009-11-06.orig/include/linux/aio.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/aio.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/linux/aio.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/aio.h ++++ linux-2.6.31-master/include/linux/aio.h @@ -201,6 +201,12 @@ struct kioctx { struct delayed_work wq; @@ -3177,8 +3290,10 @@ struct rcu_head rcu_head; }; ---- head-2009-11-06.orig/include/linux/highmem.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/highmem.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/linux/highmem.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/highmem.h ++++ linux-2.6.31-master/include/linux/highmem.h @@ -130,12 +130,14 @@ alloc_zeroed_user_highpage_movable(struc return __alloc_zeroed_user_highpage(__GFP_MOVABLE, vma, vaddr); } @@ -3203,15 +3318,17 @@ static inline void copy_highpage(struct page *to, struct page *from) { char *vfrom, *vto; -@@ -200,4 +204,6 @@ static inline void copy_highpage(struct +@@ -200,4 +204,6 @@ static inline void copy_highpage(struct kunmap_atomic(vto, KM_USER1); } +#endif + #endif /* _LINUX_HIGHMEM_H */ ---- head-2009-11-06.orig/include/linux/interrupt.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/interrupt.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/linux/interrupt.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/interrupt.h ++++ linux-2.6.31-master/include/linux/interrupt.h @@ -317,6 +317,12 @@ static inline int disable_irq_wake(unsig } #endif /* CONFIG_GENERIC_HARDIRQS */ @@ -3225,8 +3342,10 @@ #ifndef __ARCH_SET_SOFTIRQ_PENDING #define set_softirq_pending(x) (local_softirq_pending() = (x)) #define or_softirq_pending(x) (local_softirq_pending() |= (x)) ---- head-2009-11-06.orig/include/linux/kexec.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/kexec.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/linux/kexec.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/kexec.h ++++ linux-2.6.31-master/include/linux/kexec.h @@ -46,6 +46,13 @@ KEXEC_CORE_NOTE_NAME_BYTES + \ KEXEC_CORE_NOTE_DESC_BYTES ) @@ -3254,9 +3373,11 @@ extern asmlinkage long sys_kexec_load(unsigned long entry, unsigned long nr_segments, struct kexec_segment __user *segments, ---- head-2009-11-06.orig/include/linux/mm.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/mm.h 2009-11-06 10:37:01.000000000 +0100 -@@ -102,7 +102,12 @@ extern unsigned int kobjsize(const void +Index: linux-2.6.31-master/include/linux/mm.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/mm.h ++++ linux-2.6.31-master/include/linux/mm.h +@@ -102,7 +102,12 @@ extern unsigned int kobjsize(const void #define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */ #define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */ @@ -3269,7 +3390,7 @@ #define VM_PFN_AT_MMAP 0x40000000 /* PFNMAP vma that is fully mapped at mmap time */ #define VM_MERGEABLE 0x80000000 /* KSM may merge identical pages */ -@@ -127,6 +132,12 @@ extern unsigned int kobjsize(const void +@@ -127,6 +132,12 @@ extern unsigned int kobjsize(const void */ #define VM_SPECIAL (VM_IO | VM_DONTEXPAND | VM_RESERVED | VM_PFNMAP) @@ -3298,8 +3419,10 @@ #ifdef CONFIG_NUMA /* * set_policy() op must add a reference to any non-NULL @new mempolicy ---- head-2009-11-06.orig/include/linux/oprofile.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/oprofile.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/linux/oprofile.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/oprofile.h ++++ linux-2.6.31-master/include/linux/oprofile.h @@ -16,6 +16,8 @@ #include <linux/types.h> #include <linux/spinlock.h> @@ -3351,8 +3474,10 @@ /** * Create a file of the given name as a child of the given root, with ---- head-2009-11-06.orig/include/linux/page-flags.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/page-flags.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/linux/page-flags.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/page-flags.h ++++ linux-2.6.31-master/include/linux/page-flags.h @@ -110,6 +110,11 @@ enum pageflags { #ifdef CONFIG_MEMORY_FAILURE PG_hwpoison, /* hardware poisoned page. Don't touch */ @@ -3418,8 +3543,10 @@ /* * Flags checked when a page is prepped for return by the page allocator. ---- head-2009-11-06.orig/include/linux/pci.h 2009-11-06 10:30:33.000000000 +0100 -+++ head-2009-11-06/include/linux/pci.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/linux/pci.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/pci.h ++++ linux-2.6.31-master/include/linux/pci.h @@ -877,6 +877,11 @@ static inline int pci_msi_enabled(void) { return 0; @@ -3443,8 +3570,10 @@ #endif #ifndef CONFIG_PCIEASPM ---- head-2009-11-06.orig/include/linux/skbuff.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/skbuff.h 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/include/linux/skbuff.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/skbuff.h ++++ linux-2.6.31-master/include/linux/skbuff.h @@ -278,6 +278,8 @@ typedef unsigned char *sk_buff_data_t; * @local_df: allow local fragmentation * @cloned: Head may be cloned (check refcnt to be sure) @@ -3454,7 +3583,7 @@ * @pkt_type: Packet class * @fclone: skbuff clone status * @ip_summed: Driver fed us an IP checksum -@@ -379,9 +381,13 @@ struct sk_buff { +@@ -379,6 +381,10 @@ struct sk_buff { #ifdef CONFIG_IPV6_NDISC_NODETYPE __u8 ndisc_nodetype:2; #endif @@ -3464,13 +3593,11 @@ +#endif kmemcheck_bitfield_end(flags2); -- /* 0/14 bit hole */ -+ /* 0/12/14 bit hole */ - - #ifdef CONFIG_NET_DMA - dma_cookie_t dma_cookie; ---- head-2009-11-06.orig/include/linux/vermagic.h 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/include/linux/vermagic.h 2009-11-06 10:37:01.000000000 +0100 + #ifdef CONFIG_NETVM +Index: linux-2.6.31-master/include/linux/vermagic.h +=================================================================== +--- linux-2.6.31-master.orig/include/linux/vermagic.h ++++ linux-2.6.31-master/include/linux/vermagic.h @@ -22,6 +22,11 @@ #else #define MODULE_VERMAGIC_MODVERSIONS "" @@ -3490,9 +3617,11 @@ - MODULE_ARCH_VERMAGIC + MODULE_VERMAGIC_XEN MODULE_ARCH_VERMAGIC ---- head-2009-11-06.orig/kernel/irq/spurious.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/kernel/irq/spurious.c 2009-11-06 10:37:01.000000000 +0100 -@@ -235,7 +235,7 @@ void note_interrupt(unsigned int irq, st +Index: linux-2.6.31-master/kernel/irq/spurious.c +=================================================================== +--- linux-2.6.31-master.orig/kernel/irq/spurious.c ++++ linux-2.6.31-master/kernel/irq/spurious.c +@@ -245,7 +245,7 @@ void note_interrupt(unsigned int irq, st */ if (time_after(jiffies, desc->last_unhandled + HZ/10)) desc->irqs_unhandled = 1; @@ -3501,8 +3630,10 @@ desc->irqs_unhandled++; desc->last_unhandled = jiffies; if (unlikely(action_ret != IRQ_NONE)) ---- head-2009-11-06.orig/kernel/kexec.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/kernel/kexec.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/kernel/kexec.c +=================================================================== +--- linux-2.6.31-master.orig/kernel/kexec.c ++++ linux-2.6.31-master/kernel/kexec.c @@ -360,13 +360,26 @@ static int kimage_is_destination_range(s return 0; } @@ -3703,8 +3834,10 @@ /* Install the new kernel, and Uninstall the old */ image = xchg(dest_image, image); ---- head-2009-11-06.orig/kernel/sysctl.c 2009-11-06 10:32:37.000000000 +0100 -+++ head-2009-11-06/kernel/sysctl.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/kernel/sysctl.c +=================================================================== +--- linux-2.6.31-master.orig/kernel/sysctl.c ++++ linux-2.6.31-master/kernel/sysctl.c @@ -858,7 +858,7 @@ static struct ctl_table kern_table[] = { .proc_handler = &proc_dointvec, }, @@ -3714,9 +3847,11 @@ { .procname = "acpi_video_flags", .data = &acpi_realmode_flags, ---- head-2009-11-06.orig/mm/memory.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/memory.c 2009-11-06 10:37:01.000000000 +0100 -@@ -523,6 +523,12 @@ struct page *vm_normal_page(struct vm_ar +Index: linux-2.6.31-master/mm/memory.c +=================================================================== +--- linux-2.6.31-master.orig/mm/memory.c ++++ linux-2.6.31-master/mm/memory.c +@@ -526,6 +526,12 @@ struct page *vm_normal_page(struct vm_ar { unsigned long pfn = pte_pfn(pte); @@ -3729,7 +3864,7 @@ if (HAVE_PTE_SPECIAL) { if (likely(!pte_special(pte))) goto check_pfn; -@@ -554,6 +560,9 @@ struct page *vm_normal_page(struct vm_ar +@@ -557,6 +563,9 @@ struct page *vm_normal_page(struct vm_ar return NULL; check_pfn: if (unlikely(pfn > highest_memmap_pfn)) { @@ -3739,7 +3874,7 @@ print_bad_pte(vma, addr, pte, NULL); return NULL; } -@@ -839,8 +848,12 @@ static unsigned long zap_pte_range(struc +@@ -842,8 +851,12 @@ static unsigned long zap_pte_range(struc page->index > details->last_index)) continue; } @@ -3754,7 +3889,7 @@ tlb_remove_tlb_entry(tlb, pte, addr); if (unlikely(!page)) continue; -@@ -1100,6 +1113,7 @@ unsigned long zap_page_range(struct vm_a +@@ -1103,6 +1116,7 @@ unsigned long zap_page_range(struct vm_a tlb_finish_mmu(tlb, address, end); return end; } @@ -3762,7 +3897,7 @@ /** * zap_vma_ptes - remove ptes mapping the vma -@@ -1296,6 +1310,28 @@ int __get_user_pages(struct task_struct +@@ -1299,6 +1313,28 @@ int __get_user_pages(struct task_struct continue; } @@ -3791,9 +3926,11 @@ if (!vma || (vma->vm_flags & (VM_IO | VM_PFNMAP)) || !(vm_flags & vma->vm_flags)) ---- head-2009-11-06.orig/mm/mmap.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/mmap.c 2009-11-06 10:37:01.000000000 +0100 -@@ -1856,6 +1856,12 @@ static void unmap_region(struct mm_struc +Index: linux-2.6.31-master/mm/mmap.c +=================================================================== +--- linux-2.6.31-master.orig/mm/mmap.c ++++ linux-2.6.31-master/mm/mmap.c +@@ -1857,6 +1857,12 @@ static void unmap_region(struct mm_struc tlb_finish_mmu(tlb, start, end); } @@ -3806,7 +3943,7 @@ /* * Create a list of vma's touched by the unmap, removing them from the mm's * vma list as we go.. -@@ -1871,6 +1877,7 @@ detach_vmas_to_be_unmapped(struct mm_str +@@ -1872,6 +1878,7 @@ detach_vmas_to_be_unmapped(struct mm_str insertion_point = (prev ? &prev->vm_next : &mm->mmap); do { rb_erase(&vma->vm_rb, &mm->mm_rb); @@ -3814,7 +3951,7 @@ mm->map_count--; tail_vma = vma; vma = vma->vm_next; -@@ -2171,6 +2178,9 @@ void exit_mmap(struct mm_struct *mm) +@@ -2172,6 +2179,9 @@ void exit_mmap(struct mm_struct *mm) arch_exit_mmap(mm); @@ -3824,8 +3961,10 @@ vma = mm->mmap; if (!vma) /* Can happen if dup_mmap() received an OOM */ return; ---- head-2009-11-06.orig/mm/mprotect.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/mprotect.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/mm/mprotect.c +=================================================================== +--- linux-2.6.31-master.orig/mm/mprotect.c ++++ linux-2.6.31-master/mm/mprotect.c @@ -91,6 +91,8 @@ static inline void change_pmd_range(stru next = pmd_addr_end(addr, end); if (pmd_none_or_clear_bad(pmd)) @@ -3835,9 +3974,11 @@ change_pte_range(mm, pmd, addr, next, newprot, dirty_accountable); } while (pmd++, addr = next, addr != end); } ---- head-2009-11-06.orig/mm/page_alloc.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/mm/page_alloc.c 2009-11-06 10:37:01.000000000 +0100 -@@ -585,6 +585,13 @@ static void __free_pages_ok(struct page +Index: linux-2.6.31-master/mm/page_alloc.c +=================================================================== +--- linux-2.6.31-master.orig/mm/page_alloc.c ++++ linux-2.6.31-master/mm/page_alloc.c +@@ -592,6 +592,13 @@ static void __free_pages_ok(struct page int bad = 0; int wasMlocked = __TestClearPageMlocked(page); @@ -3851,7 +3992,7 @@ kmemcheck_free_shadow(page, order); trace_page_free(page, order); -@@ -1084,6 +1091,13 @@ static void free_hot_cold_page(struct pa +@@ -1093,6 +1100,13 @@ static void free_hot_cold_page(struct pa int migratetype; int wasMlocked = __TestClearPageMlocked(page); @@ -3865,9 +4006,11 @@ kmemcheck_free_shadow(page, 0); trace_page_free(page, 0); ---- head-2009-11-06.orig/net/core/dev.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/net/core/dev.c 2009-11-06 10:37:01.000000000 +0100 -@@ -136,6 +136,12 @@ +Index: linux-2.6.31-master/net/core/dev.c +=================================================================== +--- linux-2.6.31-master.orig/net/core/dev.c ++++ linux-2.6.31-master/net/core/dev.c +@@ -137,6 +137,12 @@ /* This should be increased if a protocol with a bigger head is added. */ #define GRO_MAX_HEAD (MAX_HEADER + 128) @@ -3880,7 +4023,7 @@ /* * The list of packet types we will receive (as opposed to discard) * and the routines to invoke. -@@ -1808,6 +1814,43 @@ static struct netdev_queue *dev_pick_tx( +@@ -1817,6 +1823,43 @@ static struct netdev_queue *dev_pick_tx( return netdev_get_tx_queue(dev, queue_index); } @@ -3924,7 +4067,7 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q, struct net_device *dev, struct netdev_queue *txq) -@@ -1874,6 +1917,12 @@ int dev_queue_xmit(struct sk_buff *skb) +@@ -1883,6 +1926,12 @@ int dev_queue_xmit(struct sk_buff *skb) struct Qdisc *q; int rc = -ENOMEM; @@ -3937,9 +4080,9 @@ /* GSO will handle the following emulations directly. */ if (netif_needs_gso(dev, skb)) goto gso; -@@ -2332,6 +2381,19 @@ int netif_receive_skb(struct sk_buff *sk - } - #endif +@@ -2383,6 +2432,19 @@ int netif_receive_skb(struct sk_buff *sk + if (skb_emergency(skb)) + goto skip_taps; +#ifdef CONFIG_XEN + switch (skb->ip_summed) { @@ -3957,9 +4100,11 @@ list_for_each_entry_rcu(ptype, &ptype_all, list) { if (ptype->dev == null_or_orig || ptype->dev == skb->dev || ptype->dev == orig_dev) { ---- head-2009-11-06.orig/net/core/skbuff.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/net/core/skbuff.c 2009-11-06 10:37:01.000000000 +0100 -@@ -581,6 +581,10 @@ static struct sk_buff *__skb_clone(struc +Index: linux-2.6.31-master/net/core/skbuff.c +=================================================================== +--- linux-2.6.31-master.orig/net/core/skbuff.c ++++ linux-2.6.31-master/net/core/skbuff.c +@@ -642,6 +642,10 @@ static struct sk_buff *__skb_clone(struc n->hdr_len = skb->nohdr ? skb_headroom(skb) : skb->hdr_len; n->cloned = 1; n->nohdr = 0; @@ -3970,8 +4115,10 @@ n->destructor = NULL; C(tail); C(end); ---- head-2009-11-06.orig/net/ipv4/netfilter/nf_nat_proto_tcp.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/net/ipv4/netfilter/nf_nat_proto_tcp.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/net/ipv4/netfilter/nf_nat_proto_tcp.c +=================================================================== +--- linux-2.6.31-master.orig/net/ipv4/netfilter/nf_nat_proto_tcp.c ++++ linux-2.6.31-master/net/ipv4/netfilter/nf_nat_proto_tcp.c @@ -75,6 +75,9 @@ tcp_manip_pkt(struct sk_buff *skb, if (hdrsize < sizeof(*hdr)) return true; @@ -3982,8 +4129,10 @@ inet_proto_csum_replace4(&hdr->check, skb, oldip, newip, 1); inet_proto_csum_replace2(&hdr->check, skb, oldport, newport, 0); return true; ---- head-2009-11-06.orig/net/ipv4/netfilter/nf_nat_proto_udp.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/net/ipv4/netfilter/nf_nat_proto_udp.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/net/ipv4/netfilter/nf_nat_proto_udp.c +=================================================================== +--- linux-2.6.31-master.orig/net/ipv4/netfilter/nf_nat_proto_udp.c ++++ linux-2.6.31-master/net/ipv4/netfilter/nf_nat_proto_udp.c @@ -60,6 +60,10 @@ udp_manip_pkt(struct sk_buff *skb, newport = tuple->dst.u.udp.port; portptr = &hdr->dest; @@ -3995,8 +4144,10 @@ if (hdr->check || skb->ip_summed == CHECKSUM_PARTIAL) { inet_proto_csum_replace4(&hdr->check, skb, oldip, newip, 1); inet_proto_csum_replace2(&hdr->check, skb, *portptr, newport, ---- head-2009-11-06.orig/net/ipv4/xfrm4_output.c 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/net/ipv4/xfrm4_output.c 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/net/ipv4/xfrm4_output.c +=================================================================== +--- linux-2.6.31-master.orig/net/ipv4/xfrm4_output.c ++++ linux-2.6.31-master/net/ipv4/xfrm4_output.c @@ -81,7 +81,7 @@ static int xfrm4_output_finish(struct sk #endif @@ -4006,8 +4157,10 @@ } int xfrm4_output(struct sk_buff *skb) ---- head-2009-11-06.orig/scripts/Makefile.build 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/scripts/Makefile.build 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/scripts/Makefile.build +=================================================================== +--- linux-2.6.31-master.orig/scripts/Makefile.build ++++ linux-2.6.31-master/scripts/Makefile.build @@ -76,6 +76,21 @@ ifndef obj $(warning kbuild: Makefile.build is included improperly) endif @@ -4030,8 +4183,10 @@ # =========================================================================== ifneq ($(strip $(lib-y) $(lib-m) $(lib-n) $(lib-)),) ---- head-2009-11-06.orig/scripts/Makefile.lib 2009-11-06 10:29:51.000000000 +0100 -+++ head-2009-11-06/scripts/Makefile.lib 2009-11-06 10:37:01.000000000 +0100 +Index: linux-2.6.31-master/scripts/Makefile.lib +=================================================================== +--- linux-2.6.31-master.orig/scripts/Makefile.lib ++++ linux-2.6.31-master/scripts/Makefile.lib @@ -22,6 +22,12 @@ obj-m := $(filter-out $(obj-y),$(obj-m)) lib-y := $(filter-out $(obj-y), $(sort $(lib-y) $(lib-m))) ++++++ post.sh ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100 @@ -67,6 +67,11 @@ fi } +# exit out early for Moblin as we don't want to touch the bootloader menu +if [ -f /etc/SuSE-moblin-release ] ; then + exit 0 +fi + if [ -f /etc/fstab -a ! -e /.buildenv ] ; then # only run the bootloader if the usual bootloader configuration # files are there -- this is different on every architecture ++++++ postun.sh ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100 @@ -21,6 +21,11 @@ /bin/bash -${-/e/} $wm2 --remove-kernel @KERNELRELEASE@-@FLAVOR@ fi +# exit out early for Moblin as we don't want to touch the bootloader menu +if [ -f /etc/SuSE-moblin-release ] ; then + exit 0 +fi + # remove fstab check once perl-Bootloader can cope with it if [ -f /etc/fstab ]; then if [ -x /usr/lib/bootloader/bootloader_entry ]; then ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100 @@ -27,13 +27,6 @@ # DO NOT MODIFY THEM! # Send separate patches upstream if you find a problem... ######################################################## - patches.kernel.org/patch-2.6.32-rc1 - patches.kernel.org/patch-2.6.32-rc1-rc3 - patches.kernel.org/patch-2.6.32-rc3-rc4 - patches.kernel.org/patch-2.6.32-rc4-rc5 - patches.kernel.org/patch-2.6.32-rc5-rc6 - patches.kernel.org/patch-2.6.32-rc6-rc7 - patches.kernel.org/patch-2.6.32-rc7-rc8 ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -42,11 +35,11 @@ # since they're not actually upstream, but if the # packages don't build, that's pretty useless too. ######################################################## - patches.kernel.org/psmouse-section-conflict.diff - patches.kernel.org/ipmi-section-conflict.diff - patches.kernel.org/md-section-conflict - patches.kernel.org/gdth-section-conflict - patches.kernel.org/arch-include-asm-fixes + patches.rpmify/psmouse-section-conflict.diff + patches.rpmify/ipmi-section-conflict.diff + patches.rpmify/md-section-conflict + patches.rpmify/gdth-section-conflict + patches.rpmify/arch-include-asm-fixes patches.rpmify/arm-arch_include_asm-fix.diff patches.rpmify/tsi148-dependency patches.rpmify/staging-missing-sched.h @@ -114,7 +107,6 @@ ######################################################## +needs_update-32 patches.suse/smtnice-disable patches.suse/setuid-dumpable-wrongdir -+needs_update-32 patches.suse/sysctl-add-affinity_load_balancing patches.fixes/seccomp-disable-tsc-option patches.suse/hung_task_timeout-configurable-default @@ -144,7 +136,8 @@ patches.suse/rlim-0023-unistd-add-__NR_-get-set-prlimit-syscall-numbers.patch patches.suse/rlim-0024-COMPAT-add-get-put_compat_rlimit.patch patches.suse/rlim-0025-x86-add-ia32-compat-prlimit-syscalls.patch - + + patches.fixes/make-note_interrupt-fast.diff ######################################################## # Architecture-specific patches. These used to be all @@ -185,12 +178,18 @@ patches.arch/add_x86_support_for_hpet_msi_intr_remap.patch patches.arch/x86-crypto-pclmulqdq-accelerated-implementation.patch patches.arch/x86-crypto-add-ghash-algorithm-test.patch + patches.arch/x86-fix-nodac + patches.arch/x86-mcp51-no-dac patches.arch/kvm-split-paravirt-ops-by-functionality patches.arch/kvm-only-export-selected-pv-ops-feature-structs patches.arch/kvm-split-the-KVM-pv-ops-support-by-feature patches.arch/kvm-replace-kvm-io-delay-pv-ops-with-linux-magic + patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata + patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata + patches.arch/x86-64-add-comment-for-rodata-large-page-retainment + ######################################################## # x86_64/4096CPUS - from SGI ######################################################## @@ -228,8 +227,6 @@ patches.arch/ppc-vmcoreinfo.diff patches.arch/ppc-select - patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch - patches.arch/ppc-extended_h_cede-kernel-dlpar patches.arch/ppc-extended_h_cede-mv_of_drconf_cell patches.arch/ppc-extended_h_cede-Export_memory_sysdev_class @@ -318,7 +315,7 @@ # CPUFREQ ######################################################## -# cpuidle: not yet -- unresolved symbol on i586 +## cpuidle feature patch set still not consistent. # patches.suse/cpuidle-cleanup # patches.suse/cpuidle-implement-list # patches.suse/cpuidle-cleanup-x86 @@ -328,6 +325,7 @@ # patches.suse/cpuidle-pseries-proc-idle # patches.suse/cpuidle-eliminate-ppcmdpowersave1 # patches.suse/cpuidle-documentation + patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch ######################################################## # AGP, graphics related stuff @@ -340,6 +338,7 @@ # TIOCGDEV - suse special patches.fixes/tiocgdev +still_needed? patches.suse/mm-increase-dirty-limits.patch + patches.suse/panic-on-io-nmi-SLE11-user-space-api.patch ######################################################## # Networking, IPv6 @@ -353,6 +352,10 @@ patches.fixes/nfs-slot-table-alloc patches.fixes/nfs-honour-server-preferred-io-size + patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch + patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch + patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch + patches.fixes/nfsd-09-fix-kabi ######################################################## # lockd + statd ######################################################## @@ -379,11 +382,21 @@ patches.suse/reiserfs-barrier-default ######################################################## + # dlm + ######################################################## + patches.fixes/dlm-enable-debug.patch + + ######################################################## # ocfs2 ######################################################## patches.suse/ocfs2-allocation-resrvations.patch ######################################################## + # gfs2 read-only support for migration + ######################################################## + patches.suse/gfs2-ro-mounts-only.patch + + ######################################################## # xfs ######################################################## patches.suse/xfs-dmapi-src @@ -411,6 +424,42 @@ patches.suse/nfs4acl-ai.diff patches.fixes/zisofs-large-pagesize-read.patch + + ######################################################## + # Swap-over-NFS + ######################################################## + patches.suse/SoN-01-mm-setup_per_zone_wmarks.patch + patches.suse/SoN-02-doc.patch + patches.suse/SoN-03-mm-gfp-to-alloc_flags-expose.patch + patches.suse/SoN-04-page_alloc-reserve.patch + patches.suse/SoN-05-reserve-slub.patch + patches.suse/SoN-06-mm-kmem_estimate_pages.patch + patches.suse/SoN-07-mm-PF_MEMALLOC-softirq.patch + patches.suse/SoN-08-mm-page_alloc-emerg.patch + patches.suse/SoN-09-global-ALLOC_NO_WATERMARKS.patch + patches.suse/SoN-10-mm-page_alloc-GFP_EMERGENCY.patch + patches.suse/SoN-11-mm-reserve.patch + patches.suse/SoN-12-mm-selinux-emergency.patch + patches.suse/SoN-13-net-ps_rx.patch + patches.suse/SoN-14-net-sk_allocation.patch + patches.suse/SoN-15-netvm-reserve.patch + patches.suse/SoN-16-netvm-reserve-inet.patch + patches.suse/SoN-17-netvm-reserve-inet.patch-fix + patches.suse/SoN-18-netvm-skbuff-reserve.patch + patches.suse/SoN-19-netvm-sk_filter.patch + patches.suse/SoN-20-netvm-tcp-deadlock.patch + patches.suse/SoN-21-emergency-nf_queue.patch + patches.suse/SoN-22-netvm.patch + patches.suse/SoN-23-mm-swapfile.patch + patches.suse/SoN-24-mm-page_file_methods.patch + patches.suse/SoN-25-nfs-swapcache.patch + patches.suse/SoN-26-nfs-swapper.patch + patches.suse/SoN-27-nfs-swap_ops.patch + patches.suse/SoN-28-nfs-alloc-recursions.patch + patches.suse/SoN-29-fix-swap_sync_page-race + patches.suse/SoN-30-fix-uninitialized-var.patch + + ######################################################## # Netfilter ######################################################## @@ -486,6 +535,7 @@ patches.fixes/sd_liberal_28_sense_invalid.diff patches.fixes/scsi-ibmvscsi-module_alias.patch + patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io ######################################################## # DRM/Video @@ -498,7 +548,6 @@ patches.suse/nameif-track-rename.patch patches.fixes/tg3-fix-default-wol.patch patches.drivers/ehea-modinfo.patch -+needs_update-32 patches.drivers/tg3_libphy_workaround patches.drivers/igb-add-support-for-82576NS-SerDes-adapter.patch # entropy FATE##307517 @@ -595,7 +644,6 @@ # Wireless Networking ######################################################## patches.suse/wireless-no-aes-select - patches.fixes/mac80211-fix-spurious-delba-handling.patch ######################################################## # iSCSI @@ -653,6 +701,10 @@ patches.drivers/alsa-sp1-hda-15-fix-build-warning patches.drivers/alsa-sp1-hda-16-stac-dual-headphones-fix patches.drivers/alsa-sp1-hda-17-fix-mute-LED-sync-idt92h383xxx + patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix + patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix + patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix + patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk ######################################################## # Other driver fixes @@ -689,11 +741,13 @@ patches.suse/dm-mpath-null-pgs patches.fixes/dm-table-switch-to-readonly patches.suse/dm-mpath-evaluate-request-result-and-sense + patches.fixes/dm-release-map_lock-before-set_disk_ro ######################################################## # md ######################################################## + patches.drivers/8250_pnp-wacom-add ########################################################## # @@ -747,6 +801,8 @@ patches.suse/perfmon2.patch patches.suse/perfmon2_ioctl.patch + patches.suse/perfmon2-remove_syscalls.patch + patches.suse/perfmon2-remove_get_base_syscall_attr.patch patches.suse/perfmon2_noutrace.patch patches.fixes/oprofile_bios_ctr.patch ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100 @@ -1,3 +1,3 @@ -2009-11-26 15:24:07 +0100 -GIT Revision: 73922f74f422111f9f37c410d1d35ec356dd9acb +2009-12-04 00:41:46 +0100 +GIT Revision: 4070eecb55553914dd7cf49aeb8a589df281e7d9 GIT Branch: master ++++++ split-modules ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100 @@ -67,13 +67,18 @@ exit 1 fi ( - echo -e '%:\n\t@echo $@' + echo '%: + @echo $@ +ifdef EXPLAIN + @for dep in $^; do echo "$$dep needed by $@"; done >> $(EXPLAIN) +endif +' sed -r 's:[^ ]*/([^/]*).ko>:\1:g; y/-/_/' "$modules_dep" ) >"$tmp/dep" add_dependent_modules() { - xargs -r make -rRs -C "$tmp/empty" -f "$tmp/dep" | sort -u + xargs -r make EXPLAIN=$1 -rRs -C "$tmp/empty" -f "$tmp/dep" | sort -u } # base @@ -82,10 +87,11 @@ # main sed 's/ .*//; y/-/_/' "$opt_supp" | sort -u >"$tmp/supp" -add_dependent_modules <"$tmp/supp" >"$tmp/supp-all" +add_dependent_modules "$tmp/supp-explain" <"$tmp/supp" >"$tmp/supp-all" if ! cmp -s "$tmp/supp" "$tmp/supp-all"; then echo "The following unsupported modules are used by supported modules:" >&2 - join -v2 "$tmp/supp" "$tmp/supp-all" >&2 + join -j1 -a2 <(sort "$tmp/supp-explain") \ + <(join -v2 "$tmp/supp" "$tmp/supp-all") >&2 echo "Please fix supported.conf." >&2 if ! $opt_ignore_errors; then exit 1 ++++++ supported.conf ++++++ --- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100 +++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100 @@ -8,7 +8,12 @@ # Modules that a base module uses implicitly are also base modules, # but at least they need to be marked as supported here. + kernel/arch/ia64/perfmon/perfmon_generic + kernel/arch/ia64/perfmon/perfmon_itanium + kernel/arch/ia64/perfmon/perfmon_mckinley + kernel/arch/ia64/perfmon/perfmon_montecito kernel/arch/ia64/kernel/err_inject + +external kernel/arch/powerpc/platforms/cell/cbe-cpufreq +external kernel/arch/powerpc/platforms/cell/cbe_cpufreq_pmi +external kernel/arch/powerpc/platforms/cell/cbe_powerbutton @@ -154,6 +159,7 @@ kernel/drivers/ata/pata_amd # IBM pSeries JS20, AMD8111 board types kernel/drivers/ata/pata_artop kernel/drivers/ata/pata_atiixp + kernel/drivers/ata/pata_atp867x kernel/drivers/ata/pata_cmd640 kernel/drivers/ata/pata_cmd64x kernel/drivers/ata/pata_cs5520 @@ -186,6 +192,7 @@ kernel/drivers/ata/pata_pdc202xx_old kernel/drivers/ata/pata_qdi kernel/drivers/ata/pata_radisys + kernel/drivers/ata/pata_rdc kernel/drivers/ata/pata_rz1000 kernel/drivers/ata/pata_sc1200 kernel/drivers/ata/pata_sch @@ -239,6 +246,7 @@ +base kernel/drivers/block/loop kernel/drivers/block/loop_fish2 kernel/drivers/block/nbd # Network Block Device +- kernel/drivers/block/osdblk - kernel/drivers/block/paride/aten - kernel/drivers/block/paride/bpck - kernel/drivers/block/paride/bpck6 @@ -411,8 +419,37 @@ kernel/drivers/gpu/drm/tdfx/tdfx # 3dfx Banshee/Voodoo3+ kernel/drivers/gpu/drm/ttm/ttm - kernel/drivers/gpu/drm/via/via + kernel/drivers/hid/hid + kernel/drivers/hid/hid-a4tech + kernel/drivers/hid/hid-apple + kernel/drivers/hid/hid-belkin + kernel/drivers/hid/hid-cherry + kernel/drivers/hid/hid-chicony + kernel/drivers/hid/hid-cypress + kernel/drivers/hid/hid-drff + kernel/drivers/hid/hid-ezkey + kernel/drivers/hid/hid-gaff + kernel/drivers/hid/hid-gyration + kernel/drivers/hid/hid-kensington + kernel/drivers/hid/hid-kye + kernel/drivers/hid/hid-logitech + kernel/drivers/hid/hid-microsoft + kernel/drivers/hid/hid-monterey + kernel/drivers/hid/hid-ntrig + kernel/drivers/hid/hid-petalynx + kernel/drivers/hid/hid-pl + kernel/drivers/hid/hid-samsung + kernel/drivers/hid/hid-sjoy + kernel/drivers/hid/hid-sony + kernel/drivers/hid/hid-sunplus + kernel/drivers/hid/hid-tmff + kernel/drivers/hid/hid-topseed + kernel/drivers/hid/hid-twinhan + kernel/drivers/hid/hid-wacom + kernel/drivers/hid/hid-zpff kernel/drivers/hid/usbhid/usbhid + - kernel/drivers/hwmon/abituguru3 # Abit uGuru rev. 3 - kernel/drivers/hwmon/abituguru # Abit uGuru rev. 1 and 2 - kernel/drivers/hwmon/ad7414 # AD7414 @@ -425,10 +462,13 @@ - kernel/drivers/hwmon/adm1031 # ADM1031/ADM1030 driver - kernel/drivers/hwmon/adm9240 - kernel/drivers/hwmon/ads7828 # 12-bit 8-channel ADC +- kernel/drivers/hwmon/adt7462 # Analog Devices ADT7462 - kernel/drivers/hwmon/adt7470 # Analog Devices ADT7470 - kernel/drivers/hwmon/adt7473 # Analog Devices ADT7473 +- kernel/drivers/hwmon/adt7475 # Analog Devices ADT7475 - kernel/drivers/hwmon/applesmc - kernel/drivers/hwmon/asb100 # ASB100 Bach driver +- kernel/drivers/hwmon/asus_atk0110 # Asus ATK0110 (ACPI) - kernel/drivers/hwmon/atxp1 - kernel/drivers/hwmon/coretemp # Intel Core/Core2 thermal sensors - kernel/drivers/hwmon/dme1737 # SMSC DME1737, SCH311x and compatible @@ -436,12 +476,12 @@ - kernel/drivers/hwmon/f71805f # Fintek Super-I/O - kernel/drivers/hwmon/f71882fg # Fintek Super-I/O - kernel/drivers/hwmon/f75375s # Fintek F75373, F75375 -- kernel/drivers/hwmon/fscher # FSC Hermes driver - kernel/drivers/hwmon/fschmd # Unified FSC driver -- kernel/drivers/hwmon/fscpos +- kernel/drivers/hwmon/g760a - kernel/drivers/hwmon/gl518sm # GL518SM driver - kernel/drivers/hwmon/gl520sm - kernel/drivers/hwmon/hdaps + kernel/drivers/hwmon/hp_accel # HP 3D DriveGuard (FATE #306448) kernel/drivers/hwmon/hwmon kernel/drivers/hwmon/hwmon-vid kernel/drivers/hwmon/i5k_amb # Intel 5000 series FB-DIMM AMB @@ -449,6 +489,8 @@ +external kernel/drivers/hwmon/ibmpex # IBM PowerExecutive power sensors, supported by IBM - kernel/drivers/hwmon/it87 # IT8705F, IT8712F, Sis950 driver - kernel/drivers/hwmon/k8temp # AMD K8 thermal sensors + kernel/drivers/hwmon/lis3lv02d # needed by hp_accel +- kernel/drivers/hwmon/lis3lv02d_spi - kernel/drivers/hwmon/lm63 - kernel/drivers/hwmon/lm70 # LM70 (on SPI bus) - kernel/drivers/hwmon/lm75 # LM75 driver @@ -461,15 +503,22 @@ - kernel/drivers/hwmon/lm90 # LM90/ADM1032 driver - kernel/drivers/hwmon/lm92 - kernel/drivers/hwmon/lm93 # National Semi. LM93 +- kernel/drivers/hwmon/lm95241 +- kernel/drivers/hwmon/ltc4215 +- kernel/drivers/hwmon/ltc4245 +- kernel/drivers/hwmon/max1111 - kernel/drivers/hwmon/max1619 # MAX1619 sensor driver - kernel/drivers/hwmon/max6650 # MAX6650, MAX6651 - kernel/drivers/hwmon/pc87360 - kernel/drivers/hwmon/pc87427 # PC87427 fan sensors +- kernel/drivers/hwmon/sht15 - kernel/drivers/hwmon/sis5595 - kernel/drivers/hwmon/smsc47b397 - kernel/drivers/hwmon/smsc47m192 # SMSC LPC47M1xx thermal sensors - kernel/drivers/hwmon/smsc47m1 # SMSC LPC47M1xx fan sensors driver - kernel/drivers/hwmon/thmc50 # TI THMC50, Analog Dev. ADM1022 +- kernel/drivers/hwmon/tmp401 +- kernel/drivers/hwmon/tmp421 - kernel/drivers/hwmon/via686a # VIA 686A Sensor device - kernel/drivers/hwmon/vt1211 # VIA VT1211 super-I/O sensors - kernel/drivers/hwmon/vt8231 @@ -501,7 +550,7 @@ kernel/drivers/i2c/busses/i2c-pca-isa # ISA base PCA9564 driver kernel/drivers/i2c/busses/i2c-pca-platform kernel/drivers/i2c/busses/i2c-piix4 - kernel/drivers/i2c/busses/i2c-simtec + kernel/drivers/i2c/busses/i2c-scmi # SMBus CMI (ACPI) kernel/drivers/i2c/busses/i2c-sis5595 # SIS5595 SMBus driver kernel/drivers/i2c/busses/i2c-sis630 # SIS630 SMBus driver kernel/drivers/i2c/busses/i2c-sis96x # SiS96x SMBus driver @@ -510,16 +559,12 @@ kernel/drivers/i2c/busses/i2c-tiny-usb kernel/drivers/i2c/busses/i2c-via # i2c for Via vt82c586b southbridge kernel/drivers/i2c/busses/i2c-viapro # vt82c596 SMBus driver -- kernel/drivers/i2c/busses/i2c-voodoo3 # Voodoo3 I2C/DDC driver kernel/drivers/i2c/busses/scx200_acb # NatSemi SCx200 ACCESS.bus Driver kernel/drivers/i2c/busses/scx200_i2c kernel/drivers/i2c/chips/at24 kernel/drivers/i2c/chips/ds1682 kernel/drivers/i2c/chips/eeprom # I2C EEPROM driver kernel/drivers/i2c/chips/max6875 # MAX6874/MAX6875 -- kernel/drivers/i2c/chips/pca9539 # PCA9539 GPIO driver (deprecated) -- kernel/drivers/i2c/chips/pcf8574 # PCF8574 GPIO driver (deprecated) -- kernel/drivers/i2c/chips/pcf8575 # PCF8575 GPIO driver (deprecated) kernel/drivers/i2c/chips/pcf8591 # PCF8591 driver kernel/drivers/i2c/chips/tsl2550 # Light sensor kernel/drivers/i2c/i2c-core # I2C-Bus main module @@ -598,6 +643,7 @@ kernel/drivers/infiniband/ulp/ipoib/ib_ipoib kernel/drivers/infiniband/ulp/iser/ib_iser kernel/drivers/infiniband/ulp/srp/ib_srp + kernel/drivers/input/evbug kernel/drivers/input/ff-memless kernel/drivers/input/gameport/emu10k1-gp # EMU10k1 gameport driver @@ -628,30 +674,41 @@ kernel/drivers/input/joystick/tmdc # ThrustMaster DirectConnect joystick driver kernel/drivers/input/joystick/turbografx # TurboGraFX parallel port interface driver kernel/drivers/input/joystick/twidjoy # Handykey Twiddler keyboard as a joystick driver + kernel/drivers/input/joystick/walkera0701 kernel/drivers/input/joystick/warrior # Logitech WingMan Warrior joystick driver kernel/drivers/input/joystick/xpad kernel/drivers/input/joystick/zhenhua + kernel/drivers/input/keyboard/adp5588-keys kernel/drivers/input/keyboard/gpio_keys + kernel/drivers/input/keyboard/lm8323 + kernel/drivers/input/keyboard/matrix_keypad + kernel/drivers/input/keyboard/max7359_keypad kernel/drivers/input/keyboard/newtonkbd # Newton keyboard driver + kernel/drivers/input/keyboard/opencores-kbd kernel/drivers/input/keyboard/sunkbd # Sun keyboard driver + kernel/drivers/input/keyboard/twl4030_keypad kernel/drivers/input/keyboard/xtkbd # XT keyboard driver kernel/drivers/input/misc/apanel kernel/drivers/input/misc/ati_remote kernel/drivers/input/misc/ati_remote2 kernel/drivers/input/misc/atlas_btns + kernel/drivers/input/misc/cm109 kernel/drivers/input/misc/keyspan_remote + kernel/drivers/input/misc/pcap_keys + kernel/drivers/input/misc/pcf50633-input kernel/drivers/input/misc/pcspkr kernel/drivers/input/misc/powermate + kernel/drivers/input/misc/rotary_encoder + kernel/drivers/input/misc/twl4030-pwrbutton kernel/drivers/input/misc/uinput # User level driver support for input subsystem -- kernel/drivers/input/misc/wistron_btns + kernel/drivers/input/misc/winbond-cir kernel/drivers/input/misc/yealink kernel/drivers/input/mouse/appletouch kernel/drivers/input/mouse/bcm5974 kernel/drivers/input/mouse/gpio_mouse -+isa kernel/drivers/input/mouse/inport -+isa kernel/drivers/input/mouse/logibm -+isa kernel/drivers/input/mouse/pc110pad kernel/drivers/input/mouse/sermouse # Serial mouse driver + kernel/drivers/input/mouse/synaptics_i2c + kernel/drivers/input/mouse/vsxxxaa kernel/drivers/input/serio/ct82c710 # 82C710 C&T mouse port chip driver kernel/drivers/input/serio/parkbd # Parallel port to Keyboard port adapter driver kernel/drivers/input/serio/pcips2 # PCI PS/2 keyboard/mouse driver @@ -663,22 +720,36 @@ kernel/drivers/input/tablet/gtco kernel/drivers/input/tablet/kbtab kernel/drivers/input/tablet/wacom + kernel/drivers/input/touchscreen/ad7877 + kernel/drivers/input/touchscreen/ad7879 kernel/drivers/input/touchscreen/ads7846 # ADS7846 based touchscreen and sensor driver + kernel/drivers/input/touchscreen/eeti_ts kernel/drivers/input/touchscreen/elo # Elo serial touchscreen driver kernel/drivers/input/touchscreen/elousb kernel/drivers/input/touchscreen/fujitsu_ts kernel/drivers/input/touchscreen/gunze # Gunze AHL-51S touchscreen driver kernel/drivers/input/touchscreen/htcpen kernel/drivers/input/touchscreen/inexio + kernel/drivers/input/touchscreen/mcs5000_ts kernel/drivers/input/touchscreen/mk712 # ICS MicroClock MK712 TouchScreen driver kernel/drivers/input/touchscreen/mtouch # MicroTouch (3M) serial touchscreen driver + kernel/drivers/input/touchscreen/pcap_ts kernel/drivers/input/touchscreen/penmount kernel/drivers/input/touchscreen/touchit213 kernel/drivers/input/touchscreen/touchright kernel/drivers/input/touchscreen/touchwin + kernel/drivers/input/touchscreen/tsc2007 kernel/drivers/input/touchscreen/ucb1400_ts kernel/drivers/input/touchscreen/usbtouchscreen + kernel/drivers/input/touchscreen/w90p910_ts + kernel/drivers/input/touchscreen/wacom_w8001 kernel/drivers/input/touchscreen/wm97xx-ts ++isa kernel/drivers/input/mouse/inport ++isa kernel/drivers/input/mouse/logibm ++isa kernel/drivers/input/mouse/pc110pad +- kernel/drivers/input/misc/wistron_btns + + +isa kernel/drivers/isdn/act2000/act2000 kernel/drivers/isdn/capi/capi # CAPI4Linux: Userspace /dev/capi20 interface kernel/drivers/isdn/capi/capidrv # CAPI4Linux: Interface to ISDN4Linux @@ -750,7 +821,7 @@ kernel/drivers/md/dm-regions kernel/drivers/md/dm-region_hash kernel/drivers/md/dm-round-robin # Round-robin path selector - kernel/drivers/md/dm-leastpending-path # Least pending path selector + kernel/drivers/md/dm-least-pending kernel/drivers/md/dm-queue-length # Queue-lenght oriented dynamic load balancer kernel/drivers/md/dm-service-time # Service-time oriented dynamic load balancer kernel/drivers/md/dm-snapshot # device-mapper snapshot target @@ -1193,6 +1264,7 @@ kernel/drivers/net/can/vcan - kernel/drivers/net/cassini - kernel/drivers/net/chelsio/cxgb # Chelsio 10Gb Ethernet Driver + kernel/drivers/net/cnic +isa kernel/drivers/net/cs89x0 kernel/drivers/net/cxgb3/cxgb3 +isa kernel/drivers/net/de600 @@ -1235,6 +1307,7 @@ +external kernel/drivers/net/ibmveth # IBM eServer i/pSeries Virtual Ethernet Device Driver kernel/drivers/net/ifb # IMQ replacement kernel/drivers/net/igb/igb # Intel Gigabit Ethernet driver + kernel/drivers/net/igbvf/igbvf # Intel Gigabit Ethernet SR-IOV driver kernel/drivers/net/ipg kernel/drivers/net/irda/act200l-sir # ACTiSYS ACT-IR200L dongle driver kernel/drivers/net/irda/actisys-sir # ACTiSYS IR-220L and IR-220L+ dongle driver @@ -1538,6 +1611,7 @@ kernel/drivers/s390/char/monreader kernel/drivers/s390/char/monwriter kernel/drivers/s390/char/raw3270 + kernel/drivers/s390/char/sclp_async kernel/drivers/s390/char/sclp_cpi kernel/drivers/s390/char/tape kernel/drivers/s390/char/tape_34xx @@ -1628,6 +1702,8 @@ kernel/drivers/scsi/mvsas +isa kernel/drivers/scsi/NCR53c406a kernel/drivers/scsi/nsp32 +- kernel/drivers/scsi/osd/libosd +- kernel/drivers/scsi/osd/osd kernel/drivers/scsi/osst # OnStream {DI-|FW-|SC-|USB}{30|50} Tape Driver +isa kernel/drivers/scsi/pas16 kernel/drivers/scsi/pcmcia/aha152x_cs @@ -1635,6 +1711,7 @@ kernel/drivers/scsi/pcmcia/nsp_cs kernel/drivers/scsi/pcmcia/qlogic_cs # Driver for the PCMCIA Qlogic FAS SCSI controllers kernel/drivers/scsi/pcmcia/sym53c500_cs # SYM53C500 PCMCIA SCSI driver + kernel/drivers/scsi/pmcraid kernel/drivers/scsi/ppa kernel/drivers/scsi/ps3rom # Sony PS3 ROM update kernel/drivers/scsi/qla1280 # Qlogic ISP SCSI (qla1x80/qla1x160) driver @@ -1693,9 +1770,12 @@ - kernel/drivers/telephony/phonedev kernel/drivers/thermal/thermal_sys # Generic thermal zone interface kernel/drivers/uio/uio + kernel/drivers/uio/uio_aec kernel/drivers/uio/uio_cif + kernel/drivers/uio/uio_pci_generic kernel/drivers/uio/uio_pdrv kernel/drivers/uio/uio_pdrv_genirq + kernel/drivers/uio/uio_sercos3 kernel/drivers/uio/uio_smx - kernel/drivers/usb/atm/cxacru # driver for USB ADSL modems based on Conexant AccessRunner chipset kernel/drivers/usb/atm/speedtch @@ -1706,15 +1786,22 @@ kernel/drivers/usb/class/cdc-acm # USB Abstract Control Model driver for USB modems and ISDN adapters kernel/drivers/usb/class/cdc-wdm kernel/drivers/usb/class/usblp # USB Printer Device Class driver + kernel/drivers/usb/class/usbtmc # USB test and measurement driver +base kernel/drivers/usb/core/usbcore +base kernel/drivers/usb/host/ehci-hcd # 2003-Dec-29 USB 2.0 'Enhanced' Host Controller (EHCI) Driver +- kernel/drivers/usb/host/hwa-hc +- kernel/drivers/usb/host/isp1362-hcd - kernel/drivers/usb/host/isp116x-hcd # ISP116x HCD (Host Controller Driver) for USB - kernel/drivers/usb/host/isp1760 +base kernel/drivers/usb/host/ohci-hcd # 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver +- kernel/drivers/usb/host/oxu210hp-hcd kernel/drivers/usb/host/r8a66597-hcd - kernel/drivers/usb/host/sl811_cs # PCMCIA driver for SL811HS (as found in REX-CFU1U) - kernel/drivers/usb/host/sl811-hcd +- kernel/drivers/usb/host/u132-hcd +base kernel/drivers/usb/host/uhci-hcd # USB Universal Host Controller Interface driver +- kernel/drivers/usb/host/whci/whci-hcd + kernel/drivers/usb/host/xhci kernel/drivers/usb/image/mdc800 # USB Driver for Mustek MDC800 Digital Camera kernel/drivers/usb/image/microtek # Microtek Scanmaker X6 USB scanner driver kernel/drivers/usb/misc/adutux @@ -1730,22 +1817,21 @@ kernel/drivers/usb/misc/isight_firmware kernel/drivers/usb/misc/ldusb # Generic USB driver for report based interrupt in/out devices kernel/drivers/usb/misc/legousbtower # LEGO USB Tower Driver - kernel/drivers/usb/misc/phidget - kernel/drivers/usb/misc/phidgetkit - kernel/drivers/usb/misc/phidgetmotorcontrol - kernel/drivers/usb/misc/phidgetservo # USB PhidgetServo Driver kernel/drivers/usb/misc/rio500 # USB Rio 500 driver - kernel/drivers/usb/misc/sisusbvga/sisusbvga # driver for SiS315(E) based USB2VGA dongles kernel/drivers/usb/misc/trancevibrator kernel/drivers/usb/misc/usblcd # USBLCD Driver Version 1.04 kernel/drivers/usb/misc/usbled # USB LED Driver kernel/drivers/usb/misc/uss720 # USB Parport Cable driver for Cables using the Lucent Technologies USS720 Chip + kernel/drivers/usb/misc/usbsevseg +- kernel/drivers/usb/misc/usbtest + kernel/drivers/usb/misc/vstusb - kernel/drivers/usb/mon/usbmon # The USB Monitor kernel/drivers/usb/serial/aircable kernel/drivers/usb/serial/ark3116 kernel/drivers/usb/serial/belkin_sa # USB Belkin Serial converter driver kernel/drivers/usb/serial/ch341 - kernel/drivers/usb/serial/cp2101 # Silicon Laboratories CP2101/CP2102 USB to RS232 serial adaptor driver + kernel/drivers/usb/serial/cp210x # Silicon Laboratories CP2101/CP2102 USB to RS232 serial adaptor driver kernel/drivers/usb/serial/cyberjack # REINER SCT cyberJack pinpad/e-com USB Chipcard Reader Driver kernel/drivers/usb/serial/cypress_m8 kernel/drivers/usb/serial/digi_acceleport # Digi AccelePort USB-2/USB-4 Serial Converter driver @@ -1770,18 +1856,37 @@ kernel/drivers/usb/serial/moto_modem kernel/drivers/usb/serial/navman # USB Navman GPS device kernel/drivers/usb/serial/omninet # USB ZyXEL omni.net LCD PLUS Driver + kernel/drivers/usb/serial/opticon kernel/drivers/usb/serial/option # USB Wireless modems kernel/drivers/usb/serial/oti6858 kernel/drivers/usb/serial/pl2303 # Prolific PL2303 USB to serial adaptor driver + kernel/drivers/usb/serial/qcserial kernel/drivers/usb/serial/safe_serial # USB Safe Encapsulated Serial + kernel/drivers/usb/serial/siemens_mpi kernel/drivers/usb/serial/sierra # USB Sierra Wireless Modems kernel/drivers/usb/serial/spcp8x5 + kernel/drivers/usb/serial/symbolserial kernel/drivers/usb/serial/ti_usb_3410_5052 kernel/drivers/usb/serial/usb_debug kernel/drivers/usb/serial/usbserial # USB Serial Driver core kernel/drivers/usb/serial/visor # USB HandSpring Visor / Palm OS driver kernel/drivers/usb/serial/whiteheat # USB ConnectTech WhiteHEAT driver +base kernel/drivers/usb/storage/usb-storage # USB Mass Storage driver for Linux ++base kernel/drivers/usb/storage/ums-alauda ++base kernel/drivers/usb/storage/ums-cypress ++base kernel/drivers/usb/storage/ums-datafab ++base kernel/drivers/usb/storage/ums-freecom ++base kernel/drivers/usb/storage/ums-isd200 ++base kernel/drivers/usb/storage/ums-jumpshot ++base kernel/drivers/usb/storage/ums-karma ++base kernel/drivers/usb/storage/ums-onetouch ++base kernel/drivers/usb/storage/ums-sddr09 ++base kernel/drivers/usb/storage/ums-sddr55 ++base kernel/drivers/usb/storage/ums-usbat +- kernel/drivers/usb/wusbcore/wusb-cbaf +- kernel/drivers/usb/wusbcore/wusb-wa +- kernel/drivers/usb/wusbcore/wusbcore + - kernel/drivers/video/arcfb # FB driver for Arc monochrome LCD board kernel/drivers/video/arkfb kernel/drivers/video/aty/aty128fb # FBDev driver for ATI Rage128 / Pro cards @@ -1901,9 +2006,10 @@ +isa kernel/drivers/watchdog/wdt kernel/drivers/watchdog/wdt_pci # Driver for the ICS PCI-WDT500/501 watchdog cards kernel/drivers/xen/blkback/blkbk # Xen block device backend - kernel/drivers/xen/blkback/blkback_pagemap # Xen block device backend + kernel/drivers/xen/blkback/blkback-pagemap +base kernel/drivers/xen/blkfront/xenblk # Xen block device frontend kernel/drivers/xen/blktap/blktap +- kernel/drivers/xen/blktap2/blktap2 kernel/drivers/xen/core/domctl kernel/drivers/xen/gntdev/gntdev kernel/drivers/xen/netback/netbk # Xen network device backend @@ -1916,6 +2022,8 @@ +external kernel/drivers/xen/sfc_netback/sfc_netfront +external kernel/drivers/xen/sfc_netutil/sfc_netutil kernel/drivers/xen/tpmback/tpmbk # Xen TPM device backend +- kernel/drivers/xen/usbback/usbbk +- kernel/drivers/xen/usbfront/xen-hcd kernel/drivers/xen/xenbus/xenbus_be # Xen XenBus backend driver support module kernel/fs/9p/9p - kernel/fs/adfs/adfs @@ -1938,7 +2046,7 @@ kernel/fs/exportfs/exportfs kernel/fs/ext2/ext2 # Second Extended Filesystem +base kernel/fs/ext3/ext3 # Second Extended Filesystem with journaling extensions -- kernel/fs/ext4/ext4dev +- kernel/fs/ext4/ext4 kernel/fs/fat/fat - kernel/fs/freevxfs/freevxfs # Veritas Filesystem (VxFS) driver kernel/fs/fuse/fuse # FUSE: Filesystem in Userspace @@ -1948,6 +2056,7 @@ kernel/fs/hfs/hfs kernel/fs/hfsplus/hfsplus # Extended Macintosh Filesystem - kernel/fs/hpfs/hpfs + kernel/fs/isofs/isofs kernel/fs/jbd2/jbd2 +base kernel/fs/jbd/jbd - kernel/fs/jffs2/jffs2 # The Journalling Flash File System, v2 @@ -2377,6 +2486,7 @@ kernel/sound/core/seq/snd-seq-midi-event # MIDI byte <-> sequencer event coder kernel/sound/core/seq/snd-seq-virmidi # Virtual Raw MIDI client on Sequencer kernel/sound/core/snd # Advanced Linux Sound Architecture driver for soundcards. + kernel/sound/core/snd-hrtimer # HRTimer backend kernel/sound/core/snd-hwdep # Hardware dependent layer kernel/sound/core/snd-page-alloc # Memory allocator for ALSA system. kernel/sound/core/snd-pcm # Midlevel PCM code for ALSA. @@ -2419,6 +2529,9 @@ +isa kernel/sound/isa/gus/snd-gusmax +isa kernel/sound/isa/gus/snd-interwave +isa kernel/sound/isa/gus/snd-interwave-stb ++isa kernel/sound/isa/msnd/snd-msnd-classic ++isa kernel/sound/isa/msnd/snd-msnd-lib ++isa kernel/sound/isa/msnd/snd-msnd-pinnacle +isa kernel/sound/isa/opti9xx/snd-miro +isa kernel/sound/isa/opti9xx/snd-opti92x-ad1848 +isa kernel/sound/isa/opti9xx/snd-opti92x-cs4231 @@ -2443,21 +2556,24 @@ +isa kernel/sound/isa/snd-sgalaxy +isa kernel/sound/isa/snd-sscape +isa kernel/sound/isa/wavefront/snd-wavefront - kernel/sound/oss/ad1848 - kernel/sound/oss/aedsp16 # Audio Excel DSP 16 Driver Version 1.3 - kernel/sound/oss/kahlua # Kahlua VSA1 PCI Audio - kernel/sound/oss/mpu401 - kernel/sound/oss/opl3 - kernel/sound/oss/pas2 - kernel/sound/oss/pss # Module for PSS sound cards (based on AD1848, ADSP-2115 and ESC614). This module includes control of output amplifier and synth volume of the Beethoven ADSP-16 card (this may work with other PSS cards). - kernel/sound/oss/sb_lib - kernel/sound/oss/sb # OSS Soundblaster ISA PnP and legacy sound driver - kernel/sound/oss/sound # OSS Sound subsystem - kernel/sound/oss/sscape - kernel/sound/oss/trix - kernel/sound/oss/uart401 - kernel/sound/oss/uart6850 - kernel/sound/oss/v_midi +- kernel/sound/oss/ad1848 +- kernel/sound/oss/aedsp16 # Audio Excel DSP 16 Driver Version 1.3 +- kernel/sound/oss/kahlua # Kahlua VSA1 PCI Audio +- kernel/sound/oss/mpu401 +- kernel/sound/oss/opl3 +- kernel/sound/oss/msnd +- kernel/sound/oss/msnd_classic +- kernel/sound/oss/msnd_pinnacle +- kernel/sound/oss/pas2 +- kernel/sound/oss/pss # Module for PSS sound cards (based on AD1848, ADSP-2115 and ESC614). This module includes control of output amplifier and synth volume of the Beethoven ADSP-16 card (this may work with other PSS cards). +- kernel/sound/oss/sb_lib +- kernel/sound/oss/sb # OSS Soundblaster ISA PnP and legacy sound driver +- kernel/sound/oss/sound # OSS Sound subsystem +- kernel/sound/oss/sscape +- kernel/sound/oss/trix +- kernel/sound/oss/uart401 +- kernel/sound/oss/uart6850 +- kernel/sound/oss/v_midi kernel/sound/pci/ac97/snd-ac97-codec # Universal interface for Audio Codec '97 kernel/sound/pci/ali5451/snd-ali5451 # ALI M5451 kernel/sound/pci/au88x0/snd-au8810 # Aureal vortex @@ -2475,7 +2591,9 @@ kernel/sound/pci/echoaudio/snd-gina24 # Echoaudio Gina24 kernel/sound/pci/echoaudio/snd-indigodj # Echoaudio Indigo DJ kernel/sound/pci/echoaudio/snd-indigo # Echoaudio Indigo + kernel/sound/pci/echoaudio/snd-indigodjx kernel/sound/pci/echoaudio/snd-indigoio # Echoaudio Indigo IO + kernel/sound/pci/echoaudio/snd-indigoiox kernel/sound/pci/echoaudio/snd-layla20 # Echoaudio Layla20 kernel/sound/pci/echoaudio/snd-layla24 # Echoaudio Layla24 kernel/sound/pci/echoaudio/snd-mia # Echoaudio Mia @@ -2487,11 +2605,12 @@ kernel/sound/pci/hda/snd-hda-codec-analog # Analog Device HD-audio codecs kernel/sound/pci/hda/snd-hda-codec-atihdmi # ATI/AMD HD-audio (HDMI) codecs kernel/sound/pci/hda/snd-hda-codec-ca0110 # CreativeLabs HD-audio codecs + kernel/sound/pci/hda/snd-hda-codec-cirrus kernel/sound/pci/hda/snd-hda-codec-cmedia # C-Media HD-audio codecs kernel/sound/pci/hda/snd-hda-codec-conexant # Conexant HD-audio codecs kernel/sound/pci/hda/snd-hda-codec-idt # IDT/Sigmatel HD-audio codecs kernel/sound/pci/hda/snd-hda-codec-intelhdmi # Intel HD-audio (HDMI) codecs - kernel/sound/pci/hda/snd-hda-codec-nvidia # Nvidia HD-audio (HDMI) codecs + kernel/sound/pci/hda/snd-hda-codec-nvhdmi # Nvidia HD-audio (HDMI) codecs kernel/sound/pci/hda/snd-hda-codec-realtek # Realtek HD-audio codecs kernel/sound/pci/hda/snd-hda-codec-si3054 # SI-compatible HD-audio modem codecs kernel/sound/pci/hda/snd-hda-codec-via # VIA HD-audio codecs @@ -2500,6 +2619,7 @@ kernel/sound/pci/ice1712/snd-ice1724 # ICEnsemble ICE1724 (Envy24HT) kernel/sound/pci/ice1712/snd-ice17xx-ak4xxx # ICEnsemble ICE17xx <-> AK4xxx AD/DA chip interface kernel/sound/pci/korg1212/snd-korg1212 # korg1212 +- kernel/sound/pci/lx6464es/snd-lx6464es kernel/sound/pci/mixart/snd-mixart # Digigram miXart kernel/sound/pci/nm256/snd-nm256 # NeoMagic NM256AV/ZX kernel/sound/pci/oxygen/snd-hifier # TempoTec HiFier Fantasia @@ -2551,3 +2671,4 @@ kernel/sound/usb/snd-usb-audio # USB Audio kernel/sound/usb/snd-usb-lib # USB Audio/MIDI helper module kernel/sound/usb/usx2y/snd-usb-usx2y # TASCAM US-X2Y Version 0.7.2 +- kernel/sound/usb/usx2y/snd-usb-us122l ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org