ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/
- We might have a fix here for the recent AGP/DRM problems. If you were
having problems with that, please test and report.
- An update to the hfs and hfsplus filesystems.
- Lots more pcmcia changes.
- Linus is away this week. Not a lot more should be going into 2.6.12 now
and I have a list of ~140 bugs, many of which are post-2.6.10 regressions.
We should fix these.
Changes since 2.6.11-mm4:
linus.patch
bk-acpi.patch
bk-arm.patch
bk-audit.patch
bk-cifs.patch
bk-cpufreq.patch
bk-driver-core.patch
bk-drm.patch
bk-drm-via.patch
bk-i2c.patch
bk-ia64.patch
bk-ieee1394.patch
bk-input.patch
bk-jfs.patch
bk-kbuild.patch
bk-netdev.patch
bk-ntfs.patch
bk-pci.patch
bk-scsi.patch
bk-scsi-rc-fixes.patch
bk-serial.patch
bk-usb.patch
bk-watchdog.patch
bk-xfs.patch
Latest versions of various bk trees
-parport_pc-revert-netmos-patch.patch
-bk-acpi-acpi_pci_irq_disable-build-fix.patch
-acpi-poweroff-fix.patch
-acpi-poweroff-fix-fix.patch
-ide-hdiotxt-update.patch
-ide-serverworks-fix-section-references.patch
-arch-i386-pci-i386c-use-new-for_each_pci_dev-macro.patch
-pci-be-more-verbose-in-gen-devlist.patch
-usb-hcd-u64-warning-fix.patch
-log-full-of-ing_filter-fixed-ippp2-out-ippp2.patch
-ppc32-fix-powermac-cpufreq-for-newer-machines.patch
-ppc32-fix-overflow-in-cpuinfo-freq-display.patch
-ppc32-update-powermac-models-table.patch
-ppc32-add-virtual-dma-support-to-legacy-floppy-driver-on.patch
-ppc32-fix-a-warning-in-planb-video-driver.patch
-ppc32-delete-arch-ppc-syslib-ppc4xx_serialc.patch
-ppc32-lindent-include-asm-ppc-dmah.patch
-ppc32-better-comment-arch-ppc-syslib-cpc700h.patch
-ppc32-serial-fix-for-pal4.patch
-ppc32-fix-a-typo-on-8260.patch
-ppc32-update-8260_io-fcc_enetc-to-function-again.patch
-ppc32-patch-for-changed-dev-bus_id-format.patch
-ppc32-update-radstone-ppc7d-platform.patch
-ppc32-clean-up-mv64x60-bootwrapper-support.patch
-ppc32-fix-fec-ethernet-intialization-on-mpc8540-ads-board.patch
-ppc32-sparse-clean-ups-for-the-freescale-mpc52xx-related-code.patch
-ppc32-add-pci-bus-support-for-freescale-mpc52xx.patch
-ppc64-rtasd-shouldnt-hold-cpucontrol-while-sleeping.patch
-ppc64-fix-kprobes-calling-smp_processor_id-when-preemptible.patch
-ppc64-kill-might_sleep-warnings-in-__copy__user_inatomic.patch
-ppc64-make-rtas-code-usable-on-non-pseries-machines.patch
-ppc64-delete-unused-file-no_initrdc.patch
-ppc64-delete-unused-file-iseries_fixuph.patch
-ppc64-iseries-cleanup-viopath.patch
-ppc64-iseries-cleanup-iseries_setup.patch
-sort-out-pci_rom_address_enable-vs-ioresource_rom_enable.patch
-blockdev-fixes-race-between-mount-umount.patch
-sealevel-8-port-rs-232-rs-422-rs-485-board.patch
-sisusb-fix-arg-types.patch
-matroxfb-compile-error.patch
-fix-u32-vs-pm_message_t-in-usb-fix.patch
-pwc-fix-printk-arg-types.patch
Merged
+pcmcia-properly-bail-out-on-mtd-related-ioctl-invocation.patch
+pcmcia-dont-lock-up-in-rsrc_nonstatic-pcmcia_validate_mem.patch
pcmcia fixes
+ppc64-preliminary-changes-to-of-fixup-functions.patch
+ppc64-make-of-node-fixup-code-usable-at-runtime.patch
+ppc64-introduce-pseries_reconfig.patch
+ppc64-promc-use-pseries-reconfig-notifier.patch
ppc64 update
+handle-multiple-video-cards-on-the-same-bus.patch
Video card detection fix
+acpi-create_polling_proc-fix.patch
acpi fix
+fix-agp_backend-usage-in-drm_agp_init.patch
Might fix the DRM problems
+arm-atomic_sub_and_test.patch
ARM atomic_t API addition
+export-platform_add_devices.patch
Export a symbol
+input-fix-fast-scrolling-scancodes-in-atkbdc.patch
Input driver fix
+doc-describe-kbuild-pitfall.patch
kbuild documentation tweak
+complete-cpufreq-kconfig-cleanup.patch
cpufreq kconfig updates and fixes
+pci-pci-transparent-bridge-handling-improvements-pci-core.patch
+pci-pci-transparent-bridge-handling-improvements-yenta_socket.patch
PCI bridge handling enhancements
+acpi-bridge-hotadd-acpi-based-root-bridge-hot-add.patch
+acpi-bridge-hotadd-fix-pci_enable_device-for-p2p-bridges.patch
+acpi-bridge-hotadd-make-pcibios_fixup_bus-hot-plug-safe.patch
+acpi-bridge-hotadd-prevent-duplicate-bus-numbers-when-scanning-pci-bridge.patch
+acpi-bridge-hotadd-take-the-pci-lock-when-modifying-pci-bus-or-device-lists.patch
+acpi-bridge-hotadd-link-newly-created-pci-child-bus-to-its-parent-on-creation.patch
+acpi-bridge-hotadd-make-the-pci-remove-routines-safe-for-failed-hot-plug.patch
+acpi-bridge-hotadd-remove-hot-plugged-devices-that-could-not-be-allocated-resources.patch
+acpi-bridge-hotadd-read-bridge-resources-when-fixing-up-the-bus.patch
+acpi-bridge-hotadd-allow-acpi-add-and-start-operations-to-be-done-independently.patch
+acpi-bridge-hotadd-export-the-interface-to-get-pci-id-for-an-acpi-handle.patch
ACPI-based PCI bridge hotadd support
+zd1201-makefile-fix.patch
Actually include this driver in the build.
+usb-wacom-driver-update.patch
Tablet driver update
-sparsemem-base-teach-discontig-about-sparse-ranges.patch
-sparsemem-base-simple-numa-remap-space-allocator.patch
-sparsemem-base-reorganize-page-flags-bit-operations.patch
-sparsemem-base-early_pfn_to_nid-works-before-sparse-is-initialized.patch
This was breaking compilation in various ways on various architectures.
Returned to manufacturer.
+vmscan-notice-slab-shrinking.patch
vmscan slab reclaim fixes. This isn't quite right.
+slab-shrinkers-use-vfs_cache_pressure.patch
Allow /proc/sys/vm/vfs_cache_pressure to tune the mbcache and dquot caches
as well.
+madvise-do-not-split-the-maps.patch
+madvise-merge-the-maps.patch
Do vma merging in madvise().
+include-cleanup-in-pgalloch.patch
Code cleanup
-e100-napi-fixes.patch
+e100-napi-state-machine-fix.patch
New e100 napi fix
+smc91x-addr-config-check.patch
+smc91x-warning-fix.patch
+dm9000-network-driver.patch
Net driver updates
+tcp-infrastructure-split-out.patch
+tcp-bic-11-support.patch
+tcp-westwood-support.patch
+tcp-westwood-support-kconfig-fix.patch
+tcp-vegas-support.patch
+tcp-high-speed-support.patch
New tcp modes
+null-pointer-bug-in-netpollc.patch
Fix a netpoll oops
+ppc32-fix-mv64x60-internal-sram-size.patch
+ppc32-move-83xx-85xx-device-and-system-description-files.patch
+ppc32-fix-config_serial_text_debug-support-on-83xx.patch
ppc32 updates
+ppc64-pci_dnc-use-pseries-reconfig-notifier.patch
+ppc64-pseries_iommuc-use-pseries-reconfig-notifier.patch
ppc64 updates
+mips-linkage-fix.patch
MIPS build fix
+x86-cmos-time-update-optimisation-locking-fix-check.patch
Check that George is telling the truth.
+i386-add-kstack=n-option-from-x86_64.patch
+kernel-parameters-ia-32-x86-64-cleanups.patch
+reduce-inlined-x86-memcpy-by-2-bytes.patch
+rename-fpu_verify_area-to-fpu_access_ok.patch
x86 cleanups and little stuff.
+suspend-to-ram-update-videotxt-with-more-systems.patch
+pm-remove-obsolete-pm_-from-vtc.patch
+swsusp-small-updates.patch
+swsusp-1-1-kill-swsusp_restore.patch
swsusp updates
+building-areca-arcmsr-driver-outside-kernel-source-tree.patch
Fixes for areca-raid-linux-scsi-driver.patch
+cfq-ioschedc-fix-soft-hang-with-non-fs-requests.patch
cfq3 fix
+revert-gconfig-changes-build-fix.patch
gconfig build fix
+ext2_make_empty-information-leak.patch
ext2 directory handling fix
+missing-set_fs-calls-around-kernel-syscall.patch
Fix for in-kernel setscheduler() usage
+cpusets-mems-generation-deadlock-fix.patch
+cpusets-alloc-gfp_wait-sleep-fix.patch
cpusets fixes
+mtrr-uaccess-range-checking-fix.patch
+cciss-range-checking-fix.patch
Some range checking fixes
+fix-posix-timers-expiring-before-their-scheduled-time.patch
POSIX timers accuracy
+fix-oops-when-inserting-ipmi_si-module.patch
IPMI fix
+binfmt_elf-bss-padding-fix.patch
Handle weird elf files better.
+posix-cpu-timers-and-cputime_t-divisons.patch
Fix posix CPU timers for architectures which use cputime_t correctly.
+timers-prepare-for-del_timer_sync-changes.patch
+timers-rework-del_timer_sync.patch
+timers-serialize-timers.patch
+timers-remove-memory-barriers.patch
+timers-cleanup-kill-__get_base.patch
del_timer_sync() speedups
+ext2-3-file-limits-to-avoid-overflowing-i_blocks.patch
Fix ext2/ext3 large file corner case.
+load_elf_library-kfree-fix.patch
Fix stupidity in load_elf_library()
+futex-queue_me-get_user-ordering-fix.patch
Futex fix
+io_remap_pfn_range-add-for-all-arch-es.patch
+io_remap_pfn_range-add-for-all-arch-es-fix.patch
+io_remap_pfn_range-convert-sparc-callers.patch
+io_remap_pfn_range-fix-some-callers-for-xen.patch
+io_remap_pfn_range-convert-last-callers.patch
Start to migrate from io_remap_page_range() to io_remap_pfn_range().
+alpha-build-fixes.patch
Build fix
+fix-pcmcia-resume-with-card-inserted.patch
pcmcia fix
+pcmcia-clean-up-suspend.patch
pcmcia cleanup
+small-warning-fix-for-gcc4.patch
gcc4 fix
+enable-sig_ign-on-blocked-signals.patch
Permit setting of SIG_IGN from within signal handlers.
+alpha-elimitate-two-warnings-from-gcc4.patch
Warning fixes
+hfs-free-page-buffers-in-releasepage.patch
+hfs-fix-umask-behaviour.patch
+hfs-more-bnode-error-checks.patch
+hfs-fix-sign-problem-in-hfs_ext_keycmp.patch
+hfs-use-parse-library-for-mount-options.patch
+hfs-add-nls-support.patch
+hfs-unicode-decompose-support.patch
HFS filesystem update
-inotify.patch
-inotify-fix.patch
+inotify-42.patch
y.a. inotify version.
+pcmcia-add-some-documentation.patch
+pcmcia-update-resource-database-adjust-routines-to-use-unsigned-long-values.patch
+pcmcia-mark-parent-bridge-windows-as-resources-available-for-pcmcia-devices.patch
+pcmcia-add-a-config-option-for-the-pcmica-ioctl.patch
+pcmcia-move-pcmcia-ioctl-to-a-separate-file.patch
+pcmcia-clean-up-cs-ds-callback.patch
+pcmcia-clean-up-cs-ds-callback-fix.patch
+pcmcia-make-pcmcia-status-a-bitfield.patch
+pcmcia-merge-struct-pcmcia_bus_socket-into-struct-pcmcia_socket.patch
+pcmcia-remove-unneeded-includes-in-dsc.patch
+pcmcia-rename-some-functions.patch
+pcmcia-move-pcmcia-resource-handling-out-of-csc.patch
+pcmcia-csc-cleanup.patch
+pcmcia-dsc-cleanup.patch
+pcmcia-release_class.patch
+pcmcia-use-request_region-in-i82365.patch
+pcmcia-synclink_cs-irq_info2_info-is-gone.patch
+pcmcia-mod_devicetableh-fix-for-different-sizes-in-kernel-and-userspace.patch
PCMCIA update
+perfctr-cleanups-1-3-common.patch
+perfctr-cleanups-2-3-ppc32.patch
+perfctr-cleanups-3-3-x86.patch
perfctr cleanups
-sched-improve-pinned-task-handling.patch
-sched-improve-pinned-task-handling-fix.patch
-sched-no-aggressive-idle-balancing.patch
-sched-better-active-balancing-heuristic.patch
-sched-generalised-cpu-load-averaging.patch
-sched-less-affine-wakups.patch
-sched-remove-aggressive-idle-balancing.patch
-sched-sched-domains-aware-balance-on-fork.patch
-sched-schedstats-additions-for-sched-balance-fork.patch
-sched-basic-tuning.patch
-random-ia64-sched-domains-values.patch
-add-sysctl-interface-to-sched_domain-parameters.patch
+sched2-fix-schedstats-warning.patch
+sched2-cleanup-wake_idle.patch
+sched2-improve-load-balancing-pinned-tasks.patch
+sched2-reduce-active-load-balancing.patch
+sched2-fix-smt-scheduling-problems.patch
+sched2-add-debugging.patch
+sched2-less-aggressive-idle-balancing.patch
+sched2-balance-timers.patch
+sched2-tweak-affine-wakeups.patch
+sched2-no-aggressive-idle-balancing.patch
+sched2-balance-on-fork.patch
+sched2-schedstats-update-for-balance-on-fork.patch
+sched2-sched-tuning.patch
+sched2-sched-tuning-fix.patch
+sched2-sched-domain-sysctl.patch
The CPU scheduler patches were respun.
+kexec-reserve-bootmem-fix-for-booting-nondefault-location-kernel.patch
kexec fix
+fbdev-cleanups-in-drivers-video-part-2-fix.patch
Fix fbdev-cleanups-in-drivers-video-part-2.patch
+nvidiafb-process-boot-options-earlier.patch
+fbcon-save-var-rotate-field-in-struct-display.patch
+fbcon-call-set_par-per-fb_info-once-during-init.patch
+fbcon-do-not-set-palette-if-console-is-not-visible.patch
+nvidiafb-delete-i2c-bus-on-driver-unload.patch
+neofb-mmio-fixes.patch
+neofb-set-hwaccel-flags-properly.patch
+remove-redundant-null-checks-before-kfree-in-drivers-video.patch
+remove-redundant-null-checks-before-kfree-in-drivers-video-fix.patch
fbdev driver updates
+fuse-mount-options-fix.patch
FUSE fix
+riottyc-cleanups-and-warning-fix.patch
+fixup-a-comment-still-refering-to-verify_area.patch
+char-ds1620-use-msleep-instead-of-schedule_timeout.patch
+char-tty_io-replace-schedule_timeout-with-msleep_interruptible.patch
+kernel-timer-fix-msleep_interruptible-comment.patch
+ixj-compile-warning-cleanup.patch
+spelling-cleanups-in-shrinker-code.patch
+init-do_mounts_initrdc-fix-sparse-warning.patch
+arch-i386-kernel-trapsc-fix-sparse-warnings.patch
+arch-i386-kernel-apmc-fix-sparse-warnings.patch
+arch-i386-mm-faultc-fix-sparse-warnings.patch
+arch-i386-crypto-aesc-fix-sparse-warnings.patch
+codingstyle-trivial-whitespace-fixups.patch
+small-partitions-msdos-cleanups.patch
+remove-redundant-null-check-before-before-kfree-in.patch
+update-ross-biro-bouncing-email-address.patch
+get-rid-of-redundant-null-checks-before-kfree-in-arch-i386.patch
+remove-redundant-null-checks-before-kfree-in-sound-and.patch
Little fixes and cleanups.
number of patches in -mm: 609
number of changesets in external trees: 553
number of patches in -mm only: 586
total patches: 1139
All 609 patches:
linus.patch
pcmcia-properly-bail-out-on-mtd-related-ioctl-invocation.patch
pcmcia: properly bail out on MTD-related ioctl invocation
pcmcia-dont-lock-up-in-rsrc_nonstatic-pcmcia_validate_mem.patch
pcmcia: don't lock up in rsrc_nonstatic pcmcia_validate_mem
pcmcia-dont-send-eject-request-events-to-userspace.patch
pcmcia: don't send eject request events to userspace
ppc64-preliminary-changes-to-of-fixup-functions.patch
ppc64: preliminary changes to OF fixup functions
ppc64-make-of-node-fixup-code-usable-at-runtime.patch
ppc64: make OF node fixup code usable at runtime
ppc64-introduce-pseries_reconfig.patch
ppc64: introduce pSeries_reconfig.[ch]
ppc64-promc-use-pseries-reconfig-notifier.patch
ppc64: prom.c: use pSeries reconfig notifier
handle-multiple-video-cards-on-the-same-bus.patch
handle multiple video cards on the same bus
tty-overrun-time-fix.patch
tty overrun time fix
ia64-msi-warning-fixes.patch
ia64 msi warning fixes
ia64-config_apci_numa-fix.patch
ia64 CONFIG_APCI_NUMA fix
bk-acpi.patch
acpi-toshiba-failure-handling.patch
acpi: Toshiba failure handling
acpi-video-pointer-size-fix.patch
acpi video pointer size fix
acpi-create_polling_proc-fix.patch
acpi: create_polling_proc() fix
agp-make-some-code-static.patch
AGP: make some code static
fix-agp_backend-usage-in-drm_agp_init.patch
Fix agp_backend usage in drm_agp_init
include-linux-soundcardh-endianness-fix.patch
include/linux/soundcard.h: endianness fix
bk-arm.patch
arm-atomic_sub_and_test.patch
arm atomic_sub_and_test()
bk-audit.patch
bk-cifs.patch
bk-cpufreq.patch
bk-driver-core.patch
export-platform_add_devices.patch
export platform_add_devices
bk-drm.patch
bk-drm-via.patch
bk-i2c.patch
bk-ia64.patch
bk-ieee1394.patch
bk-input.patch
input-fix-fast-scrolling-scancodes-in-atkbdc.patch
input: Fix fast scrolling scancodes in atkbd.c
bk-jfs.patch
bk-kbuild.patch
uml-make-deb-pkg-build-target-build-a-debian-style-user-mode-linux-package.patch
uml: make deb-pkg build target build a Debian-style user-mode-linux package
uml-restore-proper-descriptions-in-make-deb-pkg-target.patch
UML - Restore proper descriptions in make deb-pkg target
doc-describe-kbuild-pitfall.patch
doc: describe Kbuild pitfall
complete-cpufreq-kconfig-cleanup.patch
complete cpufreq Kconfig cleanup
bk-netdev.patch
bk-ntfs.patch
bk-pci.patch
pci-pci-transparent-bridge-handling-improvements-pci-core.patch
PCI-PCI transparent bridge handling improvements (pci core)
pci-pci-transparent-bridge-handling-improvements-yenta_socket.patch
PCI-PCI transparent bridge handling improvements (yenta_socket)
acpi-bridge-hotadd-acpi-based-root-bridge-hot-add.patch
acpi bridge hotadd: ACPI based root bridge hot-add
acpi-bridge-hotadd-fix-pci_enable_device-for-p2p-bridges.patch
acpi bridge hotadd: Fix pci_enable_device() for p2p bridges
acpi-bridge-hotadd-make-pcibios_fixup_bus-hot-plug-safe.patch
acpi bridge hotadd: Make pcibios_fixup_bus() hot-plug safe
acpi-bridge-hotadd-prevent-duplicate-bus-numbers-when-scanning-pci-bridge.patch
acpi bridge hotadd: Prevent duplicate bus numbers when scanning PCI bridge
acpi-bridge-hotadd-take-the-pci-lock-when-modifying-pci-bus-or-device-lists.patch
acpi bridge hotadd: Take the PCI lock when modifying pci bus or device lists
acpi-bridge-hotadd-link-newly-created-pci-child-bus-to-its-parent-on-creation.patch
acpi bridge hotadd: Link newly created pci child bus to its parent on creation
acpi-bridge-hotadd-make-the-pci-remove-routines-safe-for-failed-hot-plug.patch
acpi bridge hotadd: Make the PCI remove routines safe for failed hot-plug
acpi-bridge-hotadd-remove-hot-plugged-devices-that-could-not-be-allocated-resources.patch
acpi bridge hotadd: Remove hot-plugged devices that could not be allocated resources
acpi-bridge-hotadd-read-bridge-resources-when-fixing-up-the-bus.patch
acpi bridge hotadd: Read bridge resources when fixing up the bus
acpi-bridge-hotadd-allow-acpi-add-and-start-operations-to-be-done-independently.patch
acpi bridge hotadd: Allow ACPI .add and .start operations to be done independently
acpi-bridge-hotadd-export-the-interface-to-get-pci-id-for-an-acpi-handle.patch
acpi bridge hotadd: Export the interface to get PCI id for an ACPI handle
bk-scsi.patch
megaraid_sas-announcing-new-module-for.patch
megaraid_sas: Announcing new module for LSI Logic's SAS based MegaRAID controllers
open-iscsi-scsi.patch
open-iscsi-scsi
open-iscsi-headers.patch
open-iscsi-headers
open-iscsi-kconfig.patch
open-iscsi-kconfig
open-iscsi-makefile.patch
open-iscsi-makefile
open-iscsi-netlink.patch
open-iscsi-netlink
open-iscsi-doc.patch
open-iscsi-doc
bk-scsi-rc-fixes.patch
add-scsi-changer-driver.patch
add scsi changer driver
scsi-ch-build-fix.patch
scsi ch.c build fix
bk-serial.patch
bk-usb.patch
zd1201-makefile-fix.patch
zd1201 makefile fix
zd1201-build-fix.patch
zd1201 build fix
usb-support-for-new-ipod-mini-and-possibly-others.patch
usb: support for new ipod mini (and possibly others)
usb-wacom-driver-update.patch
usb: wacom driver update
bk-watchdog.patch
bk-xfs.patch
mm.patch
add -mmN to EXTRAVERSION
fix-help-for-acpi_container.patch
Fix help for ACPI_CONTAINER
swapspace-layout-improvements.patch
swapspace-layout-improvements
/proc/swaps negative Used
bdi-provide-backing-device-capability-information.patch
BDI: Provide backing device capability information [try #3]
cpusets-big-numa-cpu-and-memory-placement-backing_dev-fix.patch
cpusets-big-numa-cpu-and-memory-placement-backing_dev-fix
add-a-clear_pages-function-to-clear-pages-of-higher.patch
add a clear_pages function to clear pages of higher order
slab-kmalloc-cleanups.patch
slab.[ch]: kmalloc() cleanups
slab-64bit-fix.patch
slab: 64-bit fix
vmscan-move-code-to-isolate-lru-pages-into-separate-function.patch
vmscan: move code to isolate LRU pages into separate function
mm-counter-operations-through-macros.patch
mm counter operations through macros
mm-counter-operations-through-macros-tidy.patch
mm-counter-operations-through-macros-tidt
vmscan-notice-slab-shrinking.patch
vmscan: notice slab shrinking
slab-shrinkers-use-vfs_cache_pressure.patch
slab shrinkers: use vfs_cache_pressure
madvise-do-not-split-the-maps.patch
madvise: do not split the maps
madvise-merge-the-maps.patch
madvise: merge the maps
include-cleanup-in-pgalloch.patch
include cleanup in pgalloc.h
b44-allocate-tx-bounce-bufs-as-needed.patch
b44: allocate tx bounce bufs as needed
eni155p-error-handling-fix.patch
ENI155P error handling fix
drivers-net-myri_codeh-cleanup.patch
drivers/net/myri_code.h cleanup
e100-napi-state-machine-fix.patch
e100: NAPI state machine fix
remove-last_rx-update-from-loopback-device.patch
remove last_rx update from loopback device
fix-pci_disable_device-in-8139too.patch
fix pci_disable_device in 8139too
a-new-10gb-ethernet-driver-by-chelsio-communications.patch
A new 10GB Ethernet Driver by Chelsio Communications
bonding-needs-inet.patch
bonding needs inet
drivers-net-sis900c-fix-a-warning.patch
drivers/net/sis900.c: fix a warning
fix-suspend-resume-on-via-velocity.patch
Fix suspend/resume on via-velocity
pcnet32-bug-79c975-fiber-fix.patch
pcnet32 79C975 fiber fix
we-18-aka-wpa.patch
WE-18 (aka WPA)
smc91x-addr-config-check.patch
smc91x: addr config check
smc91x-warning-fix.patch
smc91x: warning fix
dm9000-network-driver.patch
DM9000 network driver
tcp-infrastructure-split-out.patch
TCP infrastructure split out
tcp-bic-11-support.patch
TCP BIC 1.1 support
tcp-westwood-support.patch
TCP Westwood+ support
tcp-westwood-support-kconfig-fix.patch
tcp-westwood-support-kconfig-fix
tcp-vegas-support.patch
TCP Vegas support
tcp-high-speed-support.patch
TCP High speed support
null-pointer-bug-in-netpollc.patch
NULL pointer bug in netpoll.c
ppc32-fix-mv64x60-internal-sram-size.patch
ppc32: Fix mv64x60 internal SRAM size
ppc32-move-83xx-85xx-device-and-system-description-files.patch
ppc32: Move 83xx & 85xx device and system description files
ppc32-fix-config_serial_text_debug-support-on-83xx.patch
ppc32: Fix CONFIG_SERIAL_TEXT_DEBUG support on 83xx
ppc64-pci_dnc-use-pseries-reconfig-notifier.patch
ppc64: pci_dn.c: use pSeries reconfig notifier
ppc64-pseries_iommuc-use-pseries-reconfig-notifier.patch
ppc64: pSeries_iommu.c: use pSeries reconfig notifier
mips-linkage-fix.patch
mips linkage fix
x86-reduce-cacheline-bouncing-in-cpu_idle_wait.patch
x86: reduce cacheline bouncing in cpu_idle_wait
x86-cmos-time-update-optimisation.patch
x86: CMOS time update optimisation
x86-cmos-time-update-optimisation-tidy.patch
x86-cmos-time-update-optimisation-tidy
x86-cmos-time-update-optimisation-locking-fix.patch
x86-cmos-time-update-optimisation locking fix
x86-cmos-time-update-optimisation-locking-fix-check.patch
x86-cmos-time-update-optimisation-locking-fix-check
via-irq-fixup-fix.patch
VIA irq fixup fix
via-irq-fixup-fix-warning-fix.patch
via-irq-fixup-fix-warning-fix
apm-fix-interrupts-enabled-in-device_power_up.patch
APM: fix interrupts enabled in device_power_up
rtc_lock-is-irq-safe.patch
rtc_lock is irq-safe
fix-put_user-for-80386.patch
fix put_user for 80386
es7000-legacy-mappings-update.patch
ES7000 Legacy Mappings Update
x86-fix-esp-corruption-cpu-bug-take-2.patch
x86: fix ESP corruption CPU bug (take 2)
es7000-dmi-cleanup.patch
es7000 dmi cleanup
x86-x86_64-reading-deterministic-cache-parameters-and-exporting-it-in-sysfs.patch
x86, x86_64: reading deterministic cache parameters and exporting it in /sysfs
x86-x86_64-intel-dual-core-detection.patch
x86, x86_64: Intel dual-core detection
x86-cacheline-alignment-for-cpu-maps.patch
x86: cacheline alignment for cpu maps
i386-add-kstack=n-option-from-x86_64.patch
i386: add kstack=N option (from x86_64)
kernel-parameters-ia-32-x86-64-cleanups.patch
kernel-parameters: IA-32/X86-64 cleanups
reduce-inlined-x86-memcpy-by-2-bytes.patch
x86: reduce inlined memcpy by 2 bytes
rename-fpu_verify_area-to-fpu_access_ok.patch
rename FPU_*verify_area to FPU_*access_ok
x86-64-kconfig-typo-trivial.patch
x86-64: kconfig typo
x86_64-remove-old-decl-trivial.patch
x86_64: remove old decl (trivial)
x86_64-avoid-panic-lockup.patch
x86_64: avoid panic lockup
x86_64-hugetlb-fix.patch
x86_64: hugetlb fix
x86-64-forgot-asmlinkage-on-sys_mmap.patch
x86-64: forgot asmlinkage on sys_mmap
x86_64-reduce-cacheline-bouncing-in-cpu_idle_wait.patch
x86_64: reduce cacheline bouncing in cpu_idle_wait
x86_64-reduce-cacheline-bouncing-in-cpu_idle_wait-warning-fix.patch
x86_64-reduce-cacheline-bouncing-in-cpu_idle_wait-warning-fix
x86-64-kprobes-handle-%rip-relative-addressing-mode.patch
x86-64 kprobes: handle %RIP-relative addressing mode
x86_64-dump-stack-in-early-exception.patch
x86_64-dump-stack-in-early-exception
ia64-reduce-cacheline-bouncing-in-cpu_idle_wait.patch
ia64: reduce cacheline bouncing in cpu_idle_wait
ia64-reduce-cacheline-bouncing-in-cpu_idle_wait-fix.patch
ia64-reduce-cacheline-bouncing-in-cpu_idle_wait fix
swsusp-add-missing-refrigerator-calls.patch
swsusp: Add missing refrigerator calls
suspend-to-ram-update-videotxt-with-more-systems.patch
suspend-to-ram: update video.txt with more systems
pm-remove-obsolete-pm_-from-vtc.patch
pm: remove obsolete pm_* from vt.c
swsusp-small-updates.patch
swsusp: small updates
swsusp-1-1-kill-swsusp_restore.patch
swsusp: kill swsusp_restore
uml-cope-with-uml_net-security-fix.patch
uml: cope with uml_net security fix
make-sysrq-f-call-oom_kill.patch
make sysrq-F call oom_kill()
mtrr-size-and-base-debug.patch
mtrr size-and-base debugging
cant-unmount-bad-inode.patch
Can't unmount bad inode
iounmap-debugging.patch
iounmap debugging
detect-soft-lockups.patch
detect soft lockups
detect-soft-lockups-from-touch_nmi_watchdog.patch
detect-soft-lockups: call from touch_nmi_watchdog
areca-raid-linux-scsi-driver.patch
ARECA RAID Linux scsi driver
building-areca-arcmsr-driver-outside-kernel-source-tree.patch
Building Areca arcmsr driver outside kernel source tree
rt-lsm.patch
RT-LSM
tty-output-lossage-fix.patch
tty output lossage fix
cx24110-conexant-frontend-update.patch
cx24110 Conexant Frontend update
nice-and-rt-prio-rlimits.patch
nice and rt-prio rlimits
relayfs.patch
relayfs
relayfs-backing_dev-fix.patch
relayfs-backing_dev-fix
cfq-iosched-update-to-time-sliced-design.patch
cfq-iosched: update to time sliced design
cfq-iosched-update-to-time-sliced-design-export-task_nice.patch
cfq-iosched-update-to-time-sliced-design-export-task_nice
cfq-iosched-update-to-time-sliced-design-fix.patch
cfq-iosched-update-to-time-sliced-design fix
cfq-iosched-update-to-time-sliced-design-fix-fix.patch
cfq-iosched-update-to-time-sliced-design-fix-fix
cfq-iosched-update-to-time-sliced-design-use-bio_data_dir.patch
cfq-iosched-update-to-time-sliced-design: use bio_data_dir()
cfq-ioschedc-fix-soft-hang-with-non-fs-requests.patch
cfq-iosched.c: fix soft hang with non-fs requests
keys-discard-key-spinlock-and-use-rcu-for-key-payload.patch
keys: Discard key spinlock and use RCU for key payload
keys-discard-key-spinlock-and-use-rcu-for-key-payload-try-4.patch
keys: Discard key spinlock and use RCU for key payload - try #4
stallion-driver-module-clean-up.patch
Stallion driver module clean up
use-__init-and-__exit-in-pktcdvd.patch
Use __init and __exit in pktcdvd
dvd-ram-support-for-pktcdvd.patch
DVD-RAM support for pktcdvd
break_lock-fix-2.patch
break_lock fix
cdrom-cdu31a-cleanups.patch
cdrom/cdu31a: cleanups
cdrom-cdu31a-locking-fixes.patch
cdrom/cdu31a: locking fixes
cdrom-cdu31a-use-wait_event.patch
cdrom/cdu31a: use wait_event
revert-gconfig-changes.patch
revert recent gconfig changes
revert-gconfig-changes-build-fix.patch
revert-gconfig-changes build fix
enable-gcc-warnings-for-vsprintf-vsnprintf-with-format-attribute.patch
Enable gcc warnings for vsprintf/vsnprintf with "format" attribute
w6692-eliminate-bad-section-references.patch
w6692: eliminate bad section references
teles3-eliminate-bad-section-references.patch
teles3: eliminate bad section references
elsa-eliminate-bad-section-references.patch
elsa eliminate bad section references
hfc_sx-eliminate-bad-section-references.patch
hfc_sx: eliminate bad section references
sedlbauer-eliminate-bad-section-references.patch
sedlbauer: eliminate bad section references
fix-mprotect-with-len=size_t-1-to-return-enomem.patch
fix mprotect() with len=(size_t)(-1) to return -ENOMEM
checkstack-fix-sort-misbehavior-for-long-function-names.patch
checkstack: fix sort misbehavior for long function names
fix-irq_affinity-write-from-proc-for-ia64.patch
Fix irq_affinity write from /proc for ia64
fix-mmap-return-value-to-conform-posix.patch
fix mmap() return value to conform POSIX
exports-to-enable-clock-driver-modules.patch
Exports to enable clock driver modules
per-cpu-irq-stat.patch
Per cpu irq stat
kill-drivers-cdrom-mcdc.patch
kill drivers/cdrom/mcd.c
drivers-char-isicomc-gcc4-fix.patch
drivers/char/isicom.c gcc4 fix
drivers-net-arcnet-arcnetc-gcc4-fixes.patch
drivers/net/arcnet/arcnet.c gcc4 fixes
drivers-net-depcac-gcc4-fix.patch
drivers/net/depca.c gcc4 fix
infiniband-remove-unsafe-use-of-in_atomic.patch
InfiniBand: remove unsafe use of in_atomic()
new-console-flag-con_boot.patch
New console flag: CON_BOOT
new-console-flag-con_boot-comment.patch
new-console-flag-con_boot-comment
pipe-save-one-pipe-page.patch
pipe: save one pipe page
kprobes-incorrect-spin_unlock_irqrestore-call-in-register_kprobe.patch
kprobes: incorrect spin_unlock_irqrestore() call in register_kprobe()
ext2_make_empty-information-leak.patch
ext2_make_empty information leak fix
missing-set_fs-calls-around-kernel-syscall.patch
Missing set_fs() calls around kernel syscall
cpusets-mems-generation-deadlock-fix.patch
cpusets: mems generation deadlock fix
cpusets-alloc-gfp_wait-sleep-fix.patch
cpusets: alloc GFP_WAIT sleep fix
mtrr-uaccess-range-checking-fix.patch
mtrr: uaccess range checking fix
cciss-range-checking-fix.patch
cciss: range chcking fix
fix-posix-timers-expiring-before-their-scheduled-time.patch
Fix POSIX timers expiring before their scheduled time
fix-oops-when-inserting-ipmi_si-module.patch
Fix oops when inserting ipmi_si module
binfmt_elf-bss-padding-fix.patch
binfmt_elf bss padding fix
posix-cpu-timers-and-cputime_t-divisons.patch
posix-cpu-timers and cputime_t divisons.
timers-prepare-for-del_timer_sync-changes.patch
timers: prepare for del_timer_sync() changes
timers-rework-del_timer_sync.patch
timers: rework del_timer_sync()
timers-serialize-timers.patch
timers: serialize timers
timers-remove-memory-barriers.patch
timers: remove memory barriers
timers-cleanup-kill-__get_base.patch
timers: cleanup, kill __get_base()
ext2-3-file-limits-to-avoid-overflowing-i_blocks.patch
ext2/3 file limits to avoid overflowing i_blocks
load_elf_library-kfree-fix.patch
load_elf_library kfree fix
futex-queue_me-get_user-ordering-fix.patch
Futex: make futex_wait() atomic again
io_remap_pfn_range-add-for-all-arch-es.patch
io_remap_pfn_range: add for all arch-es
io_remap_pfn_range-add-for-all-arch-es-fix.patch
io_remap_pfn_range-add-for-all-arch-es-fix
io_remap_pfn_range-convert-sparc-callers.patch
io_remap_pfn_range: convert sparc callers
io_remap_pfn_range-fix-some-callers-for-xen.patch
io_remap_pfn_range: fix some callers for XEN
io_remap_pfn_range-convert-last-callers.patch
io_remap_pfn_range: convert last callers
alpha-build-fixes.patch
alpha build fixes
fix-pcmcia-resume-with-card-inserted.patch
Fix PCMCIA resume with card inserted
pcmcia-clean-up-suspend.patch
pcmcia: clean up suspend
small-warning-fix-for-gcc4.patch
small warning fix for gcc4
enable-sig_ign-on-blocked-signals.patch
Enable SIG_IGN on blocked signals
alpha-elimitate-two-warnings-from-gcc4.patch
alpha: elimitate two warnings from gcc4
hfs-free-page-buffers-in-releasepage.patch
hfs: free page buffers in releasepage
hfs-fix-umask-behaviour.patch
hfs: fix umask behaviour
hfs-more-bnode-error-checks.patch
hfs: more bnode error checks
hfs-fix-sign-problem-in-hfs_ext_keycmp.patch
hfs: fix sign problem in hfs_ext_keycmp
hfs-use-parse-library-for-mount-options.patch
hfs: use parse library for mount options
hfs-add-nls-support.patch
hfs: add nls support
hfs-unicode-decompose-support.patch
hfs: unicode decompose support
inotify-42.patch
inotify #42
ext3-jbd-race-releasing-in-use-journal_heads.patch
ext3/jbd race: releasing in-use journal_heads
ext3-writepages-support-for-writeback-mode.patch
ext3 writepages support for writeback mode
ext3-writeback-nobh-option.patch
ext3 writeback "nobh" option
pcmcia-hotplug-event-for-pcmcia-devices.patch
pcmcia: hotplug event for PCMCIA devices
pcmcia-hotplug-event-for-pcmcia-socket-devices.patch
pcmcia: hotplug event for PCMCIA socket devices
pcmcia-device-and-driver-matching.patch
pcmcia: device and driver matching
pcmcia-check-for-invalid-crc32-hashes-in-id_tables.patch
pcmcia: check for invalid crc32 hashes in id_tables
pcmcia-match-for-fake-cis.patch
pcmcia: match for fake CIS
pcmcia-export-cis-in-sysfs.patch
pcmcia: export CIS in sysfs
pcmcia-cis-overrid-via-sysfs.patch
pcmcia: CIS overrid via sysfs
pcmcia-match-anonymous-cards.patch
pcmcia: match "anonymous" cards
pcmcia-allow-function-id-based-match.patch
pcmcia: allow function-ID based match
pcmcia-file2alias.patch
pcmcia: file2alias
pcmcia-request-cis-via-firmware-interface.patch
pcmcia: request CIS via firmware interface
pcmcia-cleanups.patch
pcmcia: cleanups
pcmcia-rescan-bus-always-upon-echoing-into-setup_done.patch
pcmcia: rescan bus always upon echoing into setup_done
pcmcia-id_table-for-serial_cs.patch
pcmcia: id_table for serial_cs
pcmcia-id_table-for-3c574_cs.patch
pcmcia: id_table for 3c574_cs
pcmcia-id_table-for-3c589_cs.patch
pcmcia: id_table for 3c589_cs
pcmcia-id_table-for-aha152x.patch
pcmcia: id_table for aha152x
pcmcia-id_table-for-airo_cs.patch
pcmcia: id_table for airo_cs
pcmcia-id_table-for-axnet_cs.patch
pcmcia: id_table for axnet_cs
pcmcia-id_table-for-fdomain_stub.patch
pcmcia: id_table for fdomain_stub
pcmcia-id_table-for-fmvj18x_cs.patch
pcmcia: id_table for fmvj18x_cs
pcmcia-id_table-for-ibmtr_cs.patch
pcmcia: id_table for ibmtr_cs
pcmcia-id_table-for-netwave_cs.patch
pcmcia: id_table for netwave_cs
pcmcia-id_table-for-nmclan_cs.patch
pcmcia: id_table for nmclan_cs
pcmcia-id_table-for-teles_cs.patch
pcmcia: id_table for teles_cs
pcmcia-id_table-for-ray_cs.patch
pcmcia: id_table for ray_cs
pcmcia-id_table-for-wavelan_cs.patch
pcmcia: id_table for wavelan_cs
pcmcia-id_table-for-sym53c500_csc.patch
pcmcia: id_table for sym53c500_cs.c
pcmcia-id_table-for-qlogic_stubc.patch
pcmcia: id_table for qlogic_stub.c
pcmcia-id_table-for-smc91c92_csc.patch
pcmcia: id_table for smc91c92_cs.c
pcmcia-id_table-for-orinoco_cs.patch
pcmcia: id_table for orinoco_cs
pcmcia-id_table-for-xirc2ps_csc.patch
pcmcia: id_table for xirc2ps_cs.c
pcmcia-id_table-for-ide_csc.patch
pcmcia: id_table for ide_cs.c
pcmcia-id_table-for-parport_csc.patch
pcmcia: id_table for parport_cs.c
pcmcia-id_table-for-pcnet_csc.patch
pcmcia: id_table for pcnet_cs.c
pcmcia-id_table-for-pcmciamtdc.patch
pcmcia: id_table for pcmciamtd.c
pcmcia-id_table-for-vxpocketc.patch
pcmcia: id_table for vxpocket.c
pcmcia-id_table-for-atmel_csc.patch
pcmcia: id_table for atmel_cs.c
pcmcia-id_table-for-avma1_csc.patch
pcmcia: id_table for avma1_cs.c
pcmcia-id_table-for-avm_csc.patch
pcmcia: id_table for avm_cs.c
pcmcia-id_table-for-bluecard_csc.patch
pcmcia: id_table for bluecard_cs.c
pcmcia-id_table-for-bt3c_csc.patch
pcmcia: id_table for bt3c_cs.c
pcmcia-id_table-for-btuart_csc.patch
pcmcia: id_table for btuart_cs.c
pcmcia-id_table-for-com20020_csc.patch
pcmcia: id_table for com20020_cs.c
pcmcia-id_table-for-dtl1_csc.patch
pcmcia: id_table for dtl1_cs.c
pcmcia-id_table-for-elsa_csc.patch
pcmcia: id_table for elsa_cs.c
pcmcia-id_table-for-ixj_pcmciac.patch
pcmcia: id_table for ixj_pcmcia.c
pcmcia-id_table-for-nsp_csc.patch
pcmcia: id_table for nsp_cs.c
pcmcia-id_table-for-sedlbauer_csc.patch
pcmcia: id_table for sedlbauer_cs.c
pcmcia-id_table-for-wl3501_csc.patch
pcmcia: id_table for wl3501_cs.c
pcmcia-id_table-for-pdaudiocfc.patch
pcmcia: id_table for pdaudiocf.c
pcmcia-id_table-for-synclink_csc.patch
pcmcia: id_table for synclink_cs.c
pcmcia-add-some-documentation.patch
pcmcia: add some Documentation
pcmcia-update-resource-database-adjust-routines-to-use-unsigned-long-values.patch
pcmcia: update resource database adjust routines to use unsigned long values
pcmcia-mark-parent-bridge-windows-as-resources-available-for-pcmcia-devices.patch
pcmcia: mark parent bridge windows as resources available for PCMCIA devices
pcmcia-add-a-config-option-for-the-pcmica-ioctl.patch
pcmcia: add a config option for the PCMICA ioctl
pcmcia-move-pcmcia-ioctl-to-a-separate-file.patch
pcmcia: move PCMCIA ioctl to a separate file
pcmcia-clean-up-cs-ds-callback.patch
pcmcia: clean up cs ds callback
pcmcia-clean-up-cs-ds-callback-fix.patch
pcmcia-clean-up-cs-ds-callback-fix
pcmcia-make-pcmcia-status-a-bitfield.patch
pcmcia: make PCMCIA status a bitfield
pcmcia-merge-struct-pcmcia_bus_socket-into-struct-pcmcia_socket.patch
pcmcia: merge struct pcmcia_bus_socket into struct pcmcia_socket
pcmcia-remove-unneeded-includes-in-dsc.patch
pcmcia: remove unneeded includes in ds.c
pcmcia-rename-some-functions.patch
pcmcia: rename some functions
pcmcia-move-pcmcia-resource-handling-out-of-csc.patch
pcmcia: move pcmcia resource handling out of cs.c
pcmcia-csc-cleanup.patch
pcmcia: cs.c cleanup
pcmcia-dsc-cleanup.patch
pcmcia: ds.c cleanup
pcmcia-release_class.patch
pcmcia: release_class
pcmcia-use-request_region-in-i82365.patch
pcmcia: use request_region in i82365
pcmcia-synclink_cs-irq_info2_info-is-gone.patch
pcmcia: synclink_cs IRQ_INFO2_INFO is gone
pcmcia-mod_devicetableh-fix-for-different-sizes-in-kernel-and-userspace.patch
pcmcia: mod_devicetable.h fix for different sizes in kernel- and userspace
nfsacl-solaris-nfsacl-workaround.patch
nfsacl: Solaris nfsacl workaround
kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
kgdbL warning fix
kgdb buffer overflow fix
kgdbL warning fix
kgdb: CONFIG_DEBUG_INFO fix
x86_64 fixes
correct kgdb.txt Documentation link (against 2.6.1-rc1-mm2)
kgdb: fix for recent gcc
kgdb warning fixes
THREAD_SIZE fixes for kgdb
Fix stack overflow test for non-8k stacks
kgdb-ga.patch fix for i386 single-step into sysenter
fix TRAP_BAD_SYSCALL_EXITS on i386
add TRAP_BAD_SYSCALL_EXITS config for i386
kgdb-is-incompatible-with-kprobes
kgdb-ga-build-fix
kgdb-ga-fixes
kgdb: kill off highmem_start_page
kgdb documentation fix
kgdb-x86-config_debug_info-fix.patch
kgdb CONFIG_DEBUG_INFO fix
kgdboe-netpoll.patch
kgdb-over-ethernet via netpoll
kgdboe: fix configuration of MAC address
kgdb-x86_64-support.patch
kgdb-x86_64-support.patch for 2.6.2-rc1-mm3
kgdb-x86_64-warning-fixes
kgdb-x86_64-fix
kgdb-x86_64-serial-fix
kprobes exception notifier fix
kgdb-x86_64-config_debug_info-fix.patch
kgdb CONFIG_DEBUG_INFO fix
journal_add_journal_head-debug.patch
journal_add_journal_head-debug
list_del-debug.patch
list_del debug check
page-owner-tracking-leak-detector.patch
Page owner tracking leak detector
make-page_owner-handle-non-contiguous-page-ranges.patch
make page_owner handle non-contiguous page ranges
add-gfp_mask-to-page-owner.patch
add gfp_mask to page owner
unplug-can-sleep.patch
unplug functions can sleep
firestream-warnings.patch
firestream warnings
periodically-scan-redzone-entries-and-slab-control-structures.patch
periodically scan redzone entries and slab control structures
slab-leak-detector.patch
slab leak detector
slab-leak-detector-warning-fixes.patch
slab leak detector warning fixes
irqpoll.patch
irqpoll
figure-out-who-is-inserting-bogus-modules.patch
Figure out who is inserting bogus modules
figure-out-who-is-inserting-bogus-modules-warning-fix.patch
Warning fix and be extra careful about array in kernel/module.c
releasing-resources-with-children.patch
Releasing resources with children
perfctr-core.patch
perfctr: core
perfctr: remove bogus perfctr_sample_thread() calls
perfctr-i386.patch
perfctr: i386
perfctr-x86-core-updates.patch
perfctr x86 core updates
perfctr-x86-driver-updates.patch
perfctr x86 driver updates
perfctr-x86-driver-cleanup.patch
perfctr: x86 driver cleanup
perfctr-prescott-fix.patch
Prescott fix for perfctr
perfctr-x86-update-2.patch
perfctr x86 update 2
perfctr-x86_64.patch
perfctr: x86_64
perfctr-x86_64-core-updates.patch
perfctr x86_64 core updates
perfctr-ppc.patch
perfctr: PowerPC
perfctr-ppc32-driver-update.patch
perfctr: ppc32 driver update
perfctr-ppc32-mmcr0-handling-fixes.patch
perfctr ppc32 MMCR0 handling fixes
perfctr-ppc32-update.patch
perfctr ppc32 update
perfctr-ppc32-update-2.patch
perfctr ppc32 update
perfctr-virtualised-counters.patch
perfctr: virtualised counters
perfctr-remap_page_range-fix.patch
virtual-perfctr-illegal-sleep.patch
virtual perfctr illegal sleep
make-perfctr_virtual-default-in-kconfig-match-recommendation.patch
Make PERFCTR_VIRTUAL default in Kconfig match recommendation in help text
perfctr-ifdef-cleanup.patch
perfctr ifdef cleanup
perfctr-update-2-6-kconfig-related-updates.patch
perfctr: Kconfig-related updates
perfctr-virtual-updates.patch
perfctr virtual updates
perfctr-virtual-cleanup.patch
perfctr: virtual cleanup
perfctr-ppc32-preliminary-interrupt-support.patch
perfctr ppc32 preliminary interrupt support
perfctr-update-5-6-reduce-stack-usage.patch
perfctr: reduce stack usage
perfctr-interrupt-support-kconfig-fix.patch
perfctr interrupt_support Kconfig fix
perfctr-low-level-documentation.patch
perfctr low-level documentation
perfctr-inheritance-1-3-driver-updates.patch
perfctr inheritance: driver updates
perfctr-inheritance-2-3-kernel-updates.patch
perfctr inheritance: kernel updates
perfctr-inheritance-3-3-documentation-updates.patch
perfctr inheritance: documentation updates
perfctr-inheritance-locking-fix.patch
perfctr inheritance locking fix
perfctr-api-changes-first-step.patch
perfctr API changes: first step
perfctr-virtual-update.patch
perfctr virtual update
perfctr-x86-64-ia32-emulation-fix.patch
perfctr x86-64 ia32 emulation fix
perfctr-sysfs-update-1-4-core.patch
perfctr sysfs update: core
perfctr-sysfs-update.patch
Perfctr sysfs update
perfctr-sysfs-update-2-4-x86.patch
perfctr sysfs update: x86
perfctr-sysfs-update-3-4-x86-64.patch
perfctr sysfs update: x86-64
perfctr: syscall numbers in x86-64 ia32-emulation
perfctr x86_64 native syscall numbers fix
perfctr-sysfs-update-4-4-ppc32.patch
perfctr sysfs update: ppc32
perfctr-2710-api-update-1-4-common.patch
perfctr-2.7.10 API update 1/4: common
perfctr-2710-api-update-2-4-i386.patch
perfctr-2.7.10 API update 2/4: i386
perfctr-2710-api-update-3-4-x86_64.patch
perfctr-2.7.10 API update 3/4: x86_64
perfctr-2710-api-update-4-4-ppc32.patch
perfctr-2.7.10 API update 4/4: ppc32
perfctr-api-update-1-9-physical-indexing-x86.patch
perfctr API update 1/9: physical indexing, x86
perfctr-api-update-2-9-physical-indexing-ppc32.patch
perfctr API update 2/9: physical indexing, ppc32
perfctr-api-update-3-9-cpu_control_header-x86.patch
perfctr API update 3/9: cpu_control_header, x86
perfctr-api-update-4-9-cpu_control_header-ppc32.patch
perfctr API update 4/9: cpu_control_header, ppc32
perfctr-api-update-5-9-cpu_control_header-common.patch
perfctr API update 5/9: cpu_control_header, common
perfctr-api-update-6-9-cpu_control-access-common.patch
perfctr API update 6/9: cpu_control access, common
perfctr-api-update-7-9-cpu_control-access-x86.patch
perfctr API update 7/9: cpu_control access, x86
perfctr-api-update-8-9-cpu_control-access-ppc32.patch
perfctr API update 8/9: cpu_control access, ppc32
perfctr-api-update-9-9-domain-based-read-write-syscalls.patch
perfctr API update 9/9: domain-based read/write syscalls
perfctr-ia32-syscalls-on-x86-64-fix.patch
perfctr ia32 syscalls on x86-64 fix
perfctr-cleanups-1-3-common.patch
perfctr cleanups: common
perfctr-cleanups-2-3-ppc32.patch
perfctr cleanups: ppc32
perfctr-cleanups-3-3-x86.patch
perfctr cleanups: x86
sched2-fix-schedstats-warning.patch
sched: fix schedstats warning
sched2-cleanup-wake_idle.patch
sched: cleanup wake_idle
sched2-improve-load-balancing-pinned-tasks.patch
sched: improve load balancing pinned tasks
sched2-reduce-active-load-balancing.patch
sched: reduce active load balancing
sched2-fix-smt-scheduling-problems.patch
sched: fix SMT scheduling problems
sched2-add-debugging.patch
sched: add debugging
sched2-less-aggressive-idle-balancing.patch
sched: less aggressive idle balancing
sched2-balance-timers.patch
sched: balance timers
sched2-tweak-affine-wakeups.patch
sched: tweak affine wakeups
sched2-no-aggressive-idle-balancing.patch
sched: no aggressive idle balancing
sched2-balance-on-fork.patch
sched: balance on fork
sched2-schedstats-update-for-balance-on-fork.patch
sched: schedstats update for balance on fork
sched2-sched-tuning.patch
sched: sched tuning
sched2-sched-tuning-fix.patch
sched2-sched-tuning-fix
sched2-sched-domain-sysctl.patch
sched: sched domain sysctl
add-do_proc_doulonglongvec_minmax-to-sysctl-functions.patch
Add do_proc_doulonglongvec_minmax to sysctl functions
add-do_proc_doulonglongvec_minmax-to-sysctl-functions-fix
add-do_proc_doulonglongvec_minmax-to-sysctl-functions fix 2
allow-x86_64-to-reenable-interrupts-on-contention.patch
Allow x86_64 to reenable interrupts on contention
i386-cpu-hotplug-updated-for-mm.patch
i386 CPU hotplug updated for -mm
ppc64: fix hotplug cpu
disable-atykb-warning.patch
disable atykb "too many keys pressed" warning
export-file_ra_state_init-again.patch
Export file_ra_state_init() again
cachefs-filesystem.patch
CacheFS filesystem
numa-policies-for-file-mappings-mpol_mf_move-cachefs.patch
numa-policies-for-file-mappings-mpol_mf_move for cachefs
cachefs-release-search-records-lest-they-return-to-haunt-us.patch
CacheFS: release search records lest they return to haunt us
fix-64-bit-problems-in-cachefs.patch
Fix 64-bit problems in cachefs
cachefs-fixed-typos-that-cause-wrong-pointer-to-be-kunmapped.patch
cachefs: fixed typos that cause wrong pointer to be kunmapped
cachefs-return-the-right-error-upon-invalid-mount.patch
CacheFS: return the right error upon invalid mount
fix-cachefs-barrier-handling-and-other-kernel-discrepancies.patch
Fix CacheFS barrier handling and other kernel discrepancies
remove-error-from-linux-cachefsh.patch
Remove #error from linux/cachefs.h
cachefs-warning-fix-2.patch
cachefs warning fix 2
cachefs-linkage-fix-2.patch
cachefs linkage fix
cachefs-build-fix.patch
cachefs build fix
cachefs-documentation.patch
CacheFS documentation
add-page-becoming-writable-notification.patch
Add page becoming writable notification
add-page-becoming-writable-notification-fix.patch
do_wp_page_mk_pte_writable() fix
add-page-becoming-writable-notification-build-fix.patch
add-page-becoming-writable-notification build fix
provide-a-filesystem-specific-syncable-page-bit.patch
Provide a filesystem-specific sync'able page bit
provide-a-filesystem-specific-syncable-page-bit-fix.patch
provide-a-filesystem-specific-syncable-page-bit-fix
provide-a-filesystem-specific-syncable-page-bit-fix-2.patch
provide-a-filesystem-specific-syncable-page-bit-fix-2
make-afs-use-cachefs.patch
Make AFS use CacheFS
afs-cachefs-dependency-fix.patch
afs-cachefs-dependency-fix
split-general-cache-manager-from-cachefs.patch
Split general cache manager from CacheFS
turn-cachefs-into-a-cache-backend.patch
Turn CacheFS into a cache backend
rework-the-cachefs-documentation-to-reflect-fs-cache-split.patch
Rework the CacheFS documentation to reflect FS-Cache split
update-afs-client-to-reflect-cachefs-split.patch
Update AFS client to reflect CacheFS split
fscache-menuconfig-help-fix-documentation-path.patch
fscache-menuconfig-help-fix-documentation-pathc
x86-rename-apic_mode_exint.patch
kexec: x86: rename APIC_MODE_EXINT
x86-local-apic-fix.patch
kexec: x86: local apic fix
x86_64-e820-64bit.patch
kexec: x86_64: e820 64bit fix
x86-i8259-shutdown.patch
kexec: x86: i8259 shutdown: disable interrupts
x86_64-i8259-shutdown.patch
kexec: x86_64: add i8259 shutdown method
x86-apic-virtwire-on-shutdown.patch
kexec: x86: resture apic virtual wire mode on shutdown
x86_64-apic-virtwire-on-shutdown.patch
kexec: x86_64: restore apic virtual wire mode on shutdown
vmlinux-fix-physical-addrs.patch
kexec: vmlinux: fix physical addresses
x86-vmlinux-fix-physical-addrs.patch
kexec: x86: vmlinux: fix physical addresses
x86_64-vmlinux-fix-physical-addrs.patch
kexec: x86_64: vmlinux: fix physical addresses
x86_64-entry64.patch
kexec: x86_64: add 64-bit entry
x86-config-kernel-start.patch
kexec: x86: add CONFIG_PYSICAL_START
kexec-reserve-bootmem-fix-for-booting-nondefault-location-kernel.patch
kexec: reserve Bootmem fix for booting nondefault location kernel
x86_64-config-kernel-start.patch
kexec: x86_64: add CONFIG_PHYSICAL_START
kexec-kexec-generic.patch
kexec: add kexec syscalls
kexec-kexec-generic-kexec-use-unsigned-bitfield.patch
kexec: use unsigned bitfield
x86-machine_shutdown.patch
kexec: x86: factor out apic shutdown code
x86-kexec.patch
kexec: x86 kexec core
x86-crashkernel.patch
crashdump: x86 crashkernel option
x86-crashkernel-fix.patch
kexec: fix for broken kexec on panic
x86_64-machine_shutdown.patch
kexec: x86_64: factor out apic shutdown code
x86_64-kexec.patch
kexec: x86_64 kexec implementation
x86_64-crashkernel.patch
crashdump: x86_64: crashkernel option
kexec-ppc-support.patch
kexec: kexec ppc support
kexec-ppc-fix-noret_type.patch
kexec: ppc: fix NORET_TYPE
x86-crash_shutdown-nmi-shootdown.patch
crashdump: x86: add NMI handler to capture other CPUs
x86-crash_shutdown-snapshot-registers.patch
kexec: x86: snapshot registers during crash shutdown
x86-crash_shutdown-apic-shutdown.patch
kexec: x86 shutdown APICs during crash_shutdown
crashdump-documentation.patch
crashdump: documentation
crashdump-memory-preserving-reboot-using-kexec.patch
crashdump: memory preserving reboot using kexec
crashdump-routines-for-copying-dump-pages.patch
crashdump: routines for copying dump pages
crashdump-routines-for-copying-dump-pages-fixes.patch
crashdump-routines-for-copying-dump-pages-fixes
crashdump-elf-format-dump-file-access.patch
crashdump: elf format dump file access
crashdump-linear-raw-format-dump-file-access.patch
crashdump: linear raw format dump file access
crashdump-linear-raw-format-dump-file-access-coding-style.patch
crashdump-linear-raw-format-dump-file-access-coding-style
kdump-export-crash-notes-section-address-through.patch
Kdump: Export crash notes section address through sysfs
kdump-export-crash-notes-section-address-through-build-fix.patch
kdump-export-crash-notes-section-address-through build fix
kdump-export-crash-notes-section-address-through-x86_64-fix.patch
kdump-export-crash-notes-section-address-through x86_64 fix
reiser4-sb_sync_inodes.patch
reiser4: vfs: add super_operations.sync_inodes()
reiser4-allow-drop_inode-implementation.patch
reiser4: export vfs inode.c symbols
reiser4-truncate_inode_pages_range.patch
reiser4: vfs: add truncate_inode_pages_range()
reiser4-export-remove_from_page_cache.patch
reiser4: export pagecache add/remove functions to modules
reiser4-export-page_cache_readahead.patch
reiser4: export page_cache_readahead to modules
reiser4-reget-page-mapping.patch
reiser4: vfs: re-check page->mapping after calling try_to_release_page()
reiser4-rcu-barrier.patch
reiser4: add rcu_barrier() synchronization point
reiser4-rcu-barrier-license-fix.patch
reiser4-rcu-barrier-license-fix
reiser4-export-inode_lock.patch
reiser4: export inode_lock to modules
reiser4-export-inode_lock-unexport-__iget.patch
reiser4-export-inode_lock-unexport-__iget
reiser4-export-pagevec-funcs.patch
reiser4: export pagevec functions to modules
reiser4-export-radix_tree_preload.patch
reiser4: export radix_tree_preload() to modules
reiser4-export-find_get_pages.patch
reiser4-radix_tree_lookup_slot.patch
reiser4: add radix_tree_lookup_slot()
reiser4-perthread-pages.patch
reiser4: per-thread page pools
reiser4-perthread_pages_alloc-cleanup.patch
perthread_pages_alloc cleanup
reiser4-include-reiser4.patch
reiser4: add to build system
reiser4-doc.patch
reiser4: documentation
reiser4-only.patch
reiser4: main fs
fs-reiser4-possible-cleanups.patch
fs/reiser4/: possible cleanups
reiser4-kconfig-help-cleanup.patch
reiser4 Kconfig help cleanup
reiser4-cleanup-pg_arch_1.patch
reiser4 cleanup (PG_arch_1)
reiser4-build-fix.patch
reiser4 build fix
reiser4-update.patch
reiser4 update
reiser4-only-memory_backed-fix.patch
reiser4-only-memory_backed-fix
add-acpi-based-floppy-controller-enumeration.patch
Add ACPI-based floppy controller enumeration.
possible-dcache-bug-debugging-patch.patch
Possible dcache BUG: debugging patch
serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
serial: add support for non-standard XTALs to 16c950 driver
add-support-for-possio-gcc-aka-pcmcia-siemens-mc45.patch
Add support for Possio GCC AKA PCMCIA Siemens MC45
generic-serial-cli-conversion.patch
generic-serial cli() conversion
specialix-io8-cli-conversion.patch
Specialix/IO8 cli() conversion
sx-cli-conversion.patch
SX cli() conversion
au1x00_uart-deadlock-fix.patch
au1x00_uart deadlock fix
revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.patch
revert "allow OEM written modules to make calls to ia64 OEM SAL functions"
remove-lock_section-from-x86_64-spin_lock-asm.patch
remove LOCK_SECTION from x86_64 spin_lock asm
kfree_skb-dump_stack.patch
kfree_skb-dump_stack
minimal-ide-disk-updates.patch
Minimal ide-disk updates
vt-dont-call-unblank-at-irq-time.patch
vt: don't call unblank at irq time
ppc32-move-powermac-backlight-stuff-to-a-workqueue.patch
ppc32: move powermac backlight stuff to a workqueue
radeonfb-implement-proper-workarounds-for-pll-accesses.patch
radeonfb: Implement proper workarounds for PLL accesses
radeonfb-ddc-i2c-fix.patch
radeonfb: DDC i2c fix
fbdev-nvidia-licensing-clarification.patch
fbdev: mvidia licensing clarification
fbcon-stop-framebuffer-operations-before-hardware-is-properly-initialized.patch
fbcon: Stop framebuffer operations before hardware is properly initialized
nvidiafb-maximize-blit-buffer-capacity.patch
nvidiafb: Maximize blit buffer capacity
pm2fb-x-and-vt-switching-crash-fix.patch
pm2fb: X and VT switching crash fix
nvidiafb-kconfig-help-text-update-for-config-fb_nvidia.patch
nvidiafb: Kconfig help text update for config FB_NVIDIA
fbdev-cleanups-in-drivers-video-part-2.patch
fbdev: Cleanups in drivers/video part 2
fbdev-cleanups-in-drivers-video-part-2-fix.patch
fbdev-cleanups-in-drivers-video-part-2 fix
excessive-atyfb-debug-messages.patch
Excessive atyfb debug messages
atyfb-add-boot-module-option-to-override-composite-sync.patch
atyfb: Add boot/module option to override composite sync
fbdev-kconfig-fix-for-macmodes-and-ppc.patch
fbdev: Kconfig fix for macmodes and PPC
fbdev-convert-drivers-to-pci_register_driver.patch
fbdev: Convert drivers to pci_register_driver
sisfb-trivial-cleanups.patch
sisfb: Trivial cleanups
tridentfb-clean-up-printks.patch
tridentfb: Clean up printk()'s
s1d13xxxfb-add-support-for-epson-s1d13806-fb.patch
s1d13xxxfb: Add support for Epson S1D13806 FB
nvidiafb-process-boot-options-earlier.patch
nvidiafb: Process boot options earlier
fbcon-save-var-rotate-field-in-struct-display.patch
fbcon: Save var rotate field in struct display
fbcon-call-set_par-per-fb_info-once-during-init.patch
fbcon: Call set_par per fb_info once during init
fbcon-do-not-set-palette-if-console-is-not-visible.patch
fbcon: Do not set palette if console is not visible
nvidiafb-delete-i2c-bus-on-driver-unload.patch
nvidiafb: Delete i2c bus on driver unload
neofb-mmio-fixes.patch
neofb: mmio fixes
neofb-set-hwaccel-flags-properly.patch
neofb: Set hwaccel flags properly
remove-redundant-null-checks-before-kfree-in-drivers-video.patch
remove redundant NULL checks before kfree() in drivers/video/
remove-redundant-null-checks-before-kfree-in-drivers-video-fix.patch
remove-redundant-null-checks-before-kfree-in-drivers-video fix
md-merge-md_enter_safemode-into-md_check_recovery.patch
md: merge md_enter_safemode into md_check_recovery
md-improve-locking-on-safemode-and-move-superblock-writes.patch
md: improve locking on 'safemode' and move superblock writes
md-improve-the-interface-to-sync_request.patch
md: improve the interface to sync_request
md-optimised-resync-using-bitmap-based-intent-logging.patch
md: optimised resync using Bitmap based intent logging
md-printk-fix.patch
md printk fix
md-optimised-resync-using-bitmap-based-intent-logging-fix.patch
md-optimised-resync-using-bitmap-based-intent-logging fix
md-raid1-support-for-bitmap-intent-logging.patch
md: raid1 support for bitmap intent logging
md-raid1-support-for-bitmap-intent-logging-fix.patch
md: initialise sync_blocks in raid1 resync
md-optimise-reconstruction-when-re-adding-a-recently-failed-drive.patch
md: optimise reconstruction when re-adding a recently failed drive.
md-fix-deadlock-due-to-md-thread-processing-delayed-requests.patch
md: fix deadlock due to md thread processing delayed requests.
detect-atomic-counter-underflows.patch
detect atomic counter underflows
post-halloween-doc.patch
post halloween doc
fuse-maintainers-kconfig-and-makefile-changes.patch
FUSE - MAINTAINERS, Kconfig and Makefile changes
fuse-core.patch
FUSE - core
fuse-device-functions.patch
FUSE - device functions
fuse-read-only-operations.patch
FUSE - read-only operations
fuse-read-write-operations.patch
FUSE - read-write operations
fuse-file-operations.patch
FUSE - file operations
fuse-mount-options.patch
FUSE - mount options
fuse-mount-options-fix.patch
fuse: fix busy inodes after unmount
fuse-extended-attribute-operations.patch
FUSE - extended attribute operations
fuse-readpages-operation.patch
FUSE - readpages operation
fuse-nfs-export.patch
FUSE - NFS export
fuse-direct-i-o.patch
FUSE - direct I/O
fuse-transfer-readdir-data-through-device.patch
fuse: transfer readdir data through device
cryptoapi-prepare-for-processing-multiple-buffers-at.patch
CryptoAPI: prepare for processing multiple buffers at a time
cryptoapi-update-padlock-to-process-multiple-blocks-at.patch
CryptoAPI: Update PadLock to process multiple blocks at once
drivers-isdn-divert-isdn_divertc-make-5-functions-static.patch
drivers/isdn/divert/isdn_divert.c: make 5 functions static
drivers-isdn-capi-make-some-code-static.patch
drivers/isdn/capi/: make some code static
fix-pm_message_t-in-generic-code.patch
Fix pm_message_t in generic code
fix-u32-vs-pm_message_t-in-usb.patch
Fix u32 vs. pm_message_t in USB
more-pm_message_t-fixes.patch
more pm_message_t fixes
fix-u32-vs-pm_message_t-confusion-in-oss.patch
Fix u32 vs. pm_message_t confusion in OSS
fix-u32-vs-pm_message_t-confusion-in-pcmcia.patch
Fix u32 vs. pm_message_t confusion in PCMCIA
fix-u32-vs-pm_message_t-confusion-in-framebuffers.patch
Fix u32 vs. pm_message_t confusion in framebuffers
fix-u32-vs-pm_message_t-confusion-in-mmc.patch
Fix u32 vs. pm_message_t confusion in MMC
fix-u32-vs-pm_message_t-confusion-in-serials.patch
Fix u32 vs. pm_message_t confusion in serials
fix-u32-vs-pm_message_t-in-macintosh.patch
Fix u32 vs. pm_message_t in macintosh
fix-u32-vs-pm_message_t-confusion-in-agp.patch
Fix u32 vs. pm_message_t confusion in AGP
cyrix-eliminate-bad-section-references.patch
cyrix: eliminate bad section references
drivers-media-video-tvaudioc-make-some-variables-static.patch
drivers/media/video/tvaudio.c: make some variables static
drivers-isdn-sc-possible-cleanups.patch
drivers/isdn/sc/: possible cleanups
drivers-isdn-pcbit-possible-cleanups.patch
drivers/isdn/pcbit/: possible cleanups
drivers-isdn-i4l-possible-cleanups.patch
drivers/isdn/i4l/: possible cleanups
unexport-mca_find_device_by_slot.patch
unexport mca_find_device_by_slot
drivers-isdn-hardware-avm-misc-cleanups.patch
drivers/isdn/hardware/avm/: misc cleanups
drivers-isdn-act2000-capic-if-0-an-unused-function.patch
drivers/isdn/act2000/capi.c: #if 0 an unused function
tpm-fix-gcc-printk-warnings.patch
tpm: fix gcc printk warnings
x86-64-add-memcpy-memset-prototypes.patch
x86-64: add memcpy/memset prototypes
au1100fb-convert-to-c99-inits.patch
au1100fb: convert to C99 inits.
reiserfs-use-null-instead-of-0.patch
reiserfs: use NULL instead of 0
comments-on-locking-of-task-comm.patch
comments on locking of task->comm
riottyc-cleanups-and-warning-fix.patch
riotty.c cleanups and warning fix
fixup-a-comment-still-refering-to-verify_area.patch
fix up a comment still refering to verify_area
char-ds1620-use-msleep-instead-of-schedule_timeout.patch
char/ds1620: use msleep() instead of schedule_timeout()
char-tty_io-replace-schedule_timeout-with-msleep_interruptible.patch
char/tty_io: replace schedule_timeout() with msleep_interruptible()
kernel-timer-fix-msleep_interruptible-comment.patch
kernel/timer: fix msleep_interruptible() comment
ixj-compile-warning-cleanup.patch
ixj* - compile warning cleanup
spelling-cleanups-in-shrinker-code.patch
Spelling cleanups in shrinker code
init-do_mounts_initrdc-fix-sparse-warning.patch
init/do_mounts_initrd.c: fix sparse warning
arch-i386-kernel-trapsc-fix-sparse-warnings.patch
arch/i386/kernel/traps.c: fix sparse warnings
arch-i386-kernel-apmc-fix-sparse-warnings.patch
arch/i386/kernel/apm.c: fix sparse warnings
arch-i386-mm-faultc-fix-sparse-warnings.patch
arch/i386/mm/fault.c: fix sparse warnings
arch-i386-crypto-aesc-fix-sparse-warnings.patch
arch/i386/crypto/aes.c: fix sparse warnings
codingstyle-trivial-whitespace-fixups.patch
CodingStyle: trivial whitespace fixups
small-partitions-msdos-cleanups.patch
small partitions/msdos cleanups
remove-redundant-null-check-before-before-kfree-in.patch
remove redundant NULL check before before kfree() in kernel/sysctl.c
update-ross-biro-bouncing-email-address.patch
update Ross Biro bouncing email address
get-rid-of-redundant-null-checks-before-kfree-in-arch-i386.patch
get rid of redundant NULL checks before kfree() in arch/i386/
remove-redundant-null-checks-before-kfree-in-sound-and.patch
remove redundant NULL checks before kfree() in sound/ and avoid casting pointers about to be kfree()'ed
Not related to this mm release directly, but
> All 609 patches:
> ...
> x86-fix-esp-corruption-cpu-bug-take-2.patch
> x86: fix ESP corruption CPU bug (take 2)
I think that Stas tries to steal 1024 bytes from kernel's memory ...
On top of his patch.
--- 2.6.12/arch/i386/kernel/cpu/common.c~stas 2005-03-21 19:43:11.000000000 +0300
+++ 2.6.12/arch/i386/kernel/cpu/common.c 2005-03-21 19:48:30.000000000 +0300
@@ -21,7 +21,6 @@
DEFINE_PER_CPU(struct desc_struct, cpu_gdt_table[GDT_ENTRIES]);
EXPORT_PER_CPU_SYMBOL(cpu_gdt_table);
-unsigned char cpu_16bit_stack[CPU_16BIT_STACK_SIZE];
DEFINE_PER_CPU(unsigned char, cpu_16bit_stack[CPU_16BIT_STACK_SIZE]);
EXPORT_PER_CPU_SYMBOL(cpu_16bit_stack);
--- 2.6.12-rc1/include/asm-i386/desc.h~stas 2005-03-21 19:43:11.000000000 +0300
+++ 2.6.12-rc1/include/asm-i386/desc.h 2005-03-21 19:49:16.000000000 +0300
@@ -17,7 +17,6 @@
extern struct desc_struct cpu_gdt_table[GDT_ENTRIES];
DECLARE_PER_CPU(struct desc_struct, cpu_gdt_table[GDT_ENTRIES]);
-extern unsigned char cpu_16bit_stack[CPU_16BIT_STACK_SIZE];
DECLARE_PER_CPU(unsigned char, cpu_16bit_stack[CPU_16BIT_STACK_SIZE]);
struct Xgt_desc_struct {
Andrew Morton a ?crit :
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/
>
>
> - We might have a fix here for the recent AGP/DRM problems. If you were
> having problems with that, please test and report.
>
> +fix-agp_backend-usage-in-drm_agp_init.patch
>
> Might fix the DRM problems
Hi Andrew,
After tracking down this bug in the X code, Mike Werner asked me to
change my patch so that we directly use agp_find_bridge instead of
defining a new wrapper (agp_backend_find).
A new patch is attached.
Note that agp-make-some-code-static.patch makes agp_find_bridge
static in drivers/char/agp/backend.c while my new patch exports it.
That's why I also attach a patch to revert this part of
agp-make-some-code-static.patch.
Regards,
Brice
Signed-off-by: Brice Goglin <[email protected]>
On Monday, March 21, 2005 2:51 am, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.
>6.12-rc1-mm1/
>
>
> - We might have a fix here for the recent AGP/DRM problems. If you were
> having problems with that, please test and report.
>
> - An update to the hfs and hfsplus filesystems.
>
> - Lots more pcmcia changes.
>
> - Linus is away this week. Not a lot more should be going into 2.6.12 now
> and I have a list of ~140 bugs, many of which are post-2.6.10
> regressions. We should fix these.
Len, why does ACPI now depend on PM? On some platforms it has very little to
do with power management, and this breaks the build for sn2...
Jesse
On Monday, March 21, 2005 2:51 am, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.
>6.12-rc1-mm1/
Andrew, please drop
revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.patch
The tiocx.c driver is now in the tree, and it uses those functions.
Thanks,
Jesse
On Mon, Mar 21, 2005 at 02:51:59AM -0800, Andrew Morton wrote:
> - Linus is away this week. Not a lot more should be going into 2.6.12 now
> and I have a list of ~140 bugs, many of which are post-2.6.10 regressions.
> We should fix these.
Is this your own personal bug list, or is it accessible anywhere?
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
On Mon, Mar 21, 2005 at 09:15:53AM -0800, Jesse Barnes wrote:
> On Monday, March 21, 2005 2:51 am, Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.
> >6.12-rc1-mm1/
>
> Andrew, please drop
>
> revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.patch
>
> The tiocx.c driver is now in the tree, and it uses those functions.
IOW:
The EXPORT_SYMBOL's should still be removed, but the functions
themselves should stay.
> Thanks,
> Jesse
cu
Adrian
BTW:
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
Russell King <[email protected]> wrote:
>
> On Mon, Mar 21, 2005 at 02:51:59AM -0800, Andrew Morton wrote:
> > - Linus is away this week. Not a lot more should be going into 2.6.12 now
> > and I have a list of ~140 bugs, many of which are post-2.6.10 regressions.
> > We should fix these.
>
> Is this your own personal bug list, or is it accessible anywhere?
It's just an email folder at present. A totally unscreened summary is
below. USB, ALSA, Input, ACPI and suspend are the usual culprits.
From: Marcelo Tosatti <[email protected]>
Subject: Re: [BUG] 2.4.27 - 2.4.29 tar: /dev/nst0: Warning: Cannot seek: Illegal seekg
From: Sebastian =?iso-8859-1?q?K=FCgler?= <[email protected]>
Subject: PCMCIA breaks suspend-to-(disk|ram) with 2.6.11
From: "Miquel van Smoorenburg" <[email protected]>
Subject: 2.6.11: iostat values broken ?
From: Miguelanxo Otero Salgueiro <[email protected]>
Subject: 2.6.11: suspending laptop makes system randomly unstable
From: [email protected]
Subject: [Bugme-new] [Bug 4281] New: ALPS Touchpad Tap-to-Click Broken
From: [email protected]
Subject: [Bugme-new] [Bug 4282] New: ALSA driver in Linux 2.6.11 causes a
From: [email protected]
Subject: [Bugme-new] [Bug 4283] New: weird messages after normal kernel
From: [email protected]
Subject: [Bugme-new] [Bug 4281] New: ALPS Touchpad Tap-to-Click Broken
From: [email protected]
Subject: [Bugme-new] [Bug 4282] New: ALSA driver in Linux 2.6.11 causes a
From: [email protected]
Subject: [Bugme-new] [Bug 4283] New: weird messages after normal kernel
From: Grzegorz Kulewski <[email protected]>
Subject: 2.6.11 (stable and -rc) ACPI breaks USB
From: Pierre Ossman <[email protected]>
Subject: intel 8x0 went silent in 2.6.11
From: Bennie Kahler-Venter <[email protected]>
Subject: Re: mouse still losing sync and thus jumping around
From: "George Georgalis" <[email protected]>
Subject: problem with linux 2.6.11 and sa
Subject: Keyboard doesn't work with CONFIG_PNP in 2.6.11-rc5-mm1
From: Alexander Nyberg <[email protected]>
From: Marko Rebrina <[email protected]>
Subject: Problem with w6692 & kernel >=2.6.10
From: Bennie Kahler-Venter <[email protected]>
Subject: v.2.6.11 mouse still losing sync and thus jumping around
From: Richard Fuchs <[email protected]>
Subject: slab corruption in skb allocs
From: [email protected]
Subject: [Bug 4287] New: bttv not working bt878
From: [email protected]
Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel panic when loading the EMU10K1 driver
From: [email protected]
Subject: [Bugme-new] [Bug 4288] New: Power button stops working after resumt
From: [email protected]
Subject: [Bugme-new] [Bug 4289] New: admtek comet does not work anymore!
From: [email protected]
Subject: [Bugme-new] [Bug 4290] New: pktcdvd packet-writing device suffers
From: Andy Isaacson <[email protected]>
Subject: 2.6.11-rc4: Alps touchpad too slow
From: Grzegorz Kulewski <[email protected]>
Subject: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB
From: [email protected]
Subject: [Bugme-new] [Bug 4291] New: usb harddisk don' work,
From: [email protected]
Subject: [Bugme-new] [Bug 4293] New: mandatory locking fails on tmpfs
From: [email protected]
Subject: [Bugme-new] [Bug 4295] New: Garbage all over the screen when using
From: Richard Fuchs <[email protected]>
Subject: Re: slab corruption in skb allocs
Subject: [PATCH] [VIA RHINE] older chips oops on shutdown
From: [email protected] (Olof Johansson)
From: [email protected]
Subject: [Bugme-new] [Bug 4297] New: VIA 82xxx sound problem with kernel
From: [email protected]
Subject: [Bugme-new] [Bug 4298] New: swsusp fails to suspend if
From: [email protected]
Subject: [Bugme-new] [Bug 4299] New: glidepoint touchpad movement broken
From: [email protected]
Subject: [Bugme-new] [Bug 4300] New: hpt366 S-ATA driver causes the kernel
Subject: amd64 2.6.11 oops on modprobe
From: Andrei Mikhailovsky <[email protected]>
From: John covici <[email protected]>
Subject: X not working with Radeon 9200 under 2.6.11
Subject: Re: 2.6.11 breaks ALSA Intel AC97 audio
From: Lee Revell <[email protected]>
From: Guennadi Liakhovetski <[email protected]>
Subject: [2.6.11 Permedia-2 Framebuffer] driver broken (?).
From: Lobiuc Andrei <[email protected]>
Subject: PROBLEM: Radeon card displays incorrectly under the 2.6.11 version unless compiled with SMP support
From: [email protected]
Subject: [Bugme-new] [Bug 4306] New: USB no longer survives resume in 2.6.11
Subject: Panic in ext3 reservation code on 2.6.11-mm1
From: Badari Pulavarty <[email protected]>
From: [email protected]
Subject: [Bugme-new] [Bug 4311] New: ACPI resume from S3 disables interrupt
Subject: Re: 2.6.11-mm1
From: Alexander Nyberg <[email protected]>
Subject: aio stress panic on 2.6.11-mm1
From: Badari Pulavarty <[email protected]>
From: Holger Kiehl <[email protected]>
Subject: Fusion-MPT much faster as module
From: Jochen Suckfuell <[email protected]>
Subject: 2.6.11 bug: unbacked private shared memory segments missing in core dump
From: Maarten de Boer <[email protected]>
Subject: Adaptec 29160 + Promise Ultratrak100 TX8 problems
From: Gene Heskett <[email protected]>
Subject: 2.6.11-mm2 vs audio for kino and tvtime
From: Michal Vanco <[email protected]>
Subject: 2.6.11 on AMD64 traps
Subject: Re: [Oops] 2.6.10: PREEMPT SMP
From: Andrew Taylor <[email protected]>
From: [email protected]
Subject: [Bugme-new] [Bug 4315] New: DMA timeouts on ASUS M2400N
From: [email protected]
Subject: [Bugme-new] [Bug 4320] New: S4 reboots machine when AC is connected
From: Jean Delvare <[email protected]>
Subject: Re: 2.6.11-mm2 vs audio for kino and tvtime
From: Stefano Rivoir <[email protected]>
Subject: Re: 2.6.11-mm2
From: [email protected]
Subject: [Bugme-new] [Bug 4323] New: no cursor in console with intelfb
From: [email protected]
Subject: [Bugme-new] [Bug 4322] New: writev systemcall execution fails
From: Jon Smirl <[email protected]>
Subject: current linus bk, error mounting root
From: Kimmo Sundqvist <[email protected]>
Subject: Log full of "ing_filter: fixed ippp2 out ippp2"
From: Christian Henz <[email protected]>
Subject: 2.6.11-mm2 + Radeon crash
From: Omkhar Arasaratnam <[email protected]>
Subject: [BUG] 2.6.11- sym53c8xx Broken on pp64
From: "Florian Leuthner" <[email protected]>
Subject: toshiba ACPI /proc interface nonresponsive (>2.6.9)
From: Chuck Lever <[email protected]>
Subject: 2.6.11 oops in skb_drop_fraglist
From: [email protected]
Subject: [Bugme-new] [Bug 4326] New: System call returns EFAULT instead of
From: Pavel Machek <[email protected]>
Subject: Re: fix-u32-vs-pm_message_t-in-usb
From: [email protected]
Subject: [Bugme-new] [Bug 4329] New: USB-HDD were not recognized
From: [email protected]
Subject: [Bugme-new] [Bug 4330] New: sn9c102: no overlay support
From: [email protected]
Subject: [Bugme-new] [Bug 4331] New: ADM1026 lands in Div by 0 fault
From: Brice Goglin <[email protected]>
Subject: i830 DRM problems
From: "[email protected]" <[email protected]>
Subject: BUG still exist : __iounmap Error in 2.6.11.2.
From: Andrew Morton <[email protected]>
Subject: Fw: Re: Re: BUG still exist : __iounmap Error in 2.6.11.2.
From: "[email protected]" <[email protected]>
Subject: Re: Re: BUG still exist : __iounmap Error in 2.6.11.2.
From: Felix von Leitner <[email protected]>
Subject: 2.6.11: USB broken on nforce4, ipv6 still broken, centrino speedstep even more broken than in 2.6.10
Subject: Re: [PATCH] Support for GEODE CPUs
From: Alan Cox <[email protected]>
From: [email protected]
Subject: [Bugme-new] [Bug 4318] New: fcntly system calls with options
From: Sean Neakums <[email protected]>
Subject: DRI breakage, 2.6.11-mm[123]
From: Jon Smirl <[email protected]>
Subject: Re: current linus bk, error mounting root
Subject: OSS Audio borked between 2.6.6 and 2.6.10
From: Greg Stark <[email protected]>
From: [email protected]
Subject: [Bugme-new] [Bug 4333] New: HPFS support is broken on amd64 platform
From: [email protected]
Subject: [Bugme-new] [Bug 4334] New: kernel support for netmos 9835/9735
Subject: Re: [PATCH] Support for GEODE CPUs
From: Alan Cox <[email protected]>
From: Felix von Leitner <[email protected]>
Subject: Re: 2.6.11: USB broken on nforce4, ipv6 still broken, centrino speedstep even more broken than in 2.6.10
From: Miles Lane <[email protected]>
Subject: Oops: 2.6.11-mm3 -- NULL pointer -- EIP is at i2c_add_driver+0xa2/0xd0
From: [email protected]
Subject: [Bugme-new] [Bug 4337] New: ATI Rage 128: messed up X
From: Brice Goglin <[email protected]>
Subject: Re: 2.6.11-mm3 - DRM/i915 broken
From: Miles Lane <[email protected]>
Subject: Who should I write to about this OOPS in 2,6,11-mm3?
From: Eric Dumazet <[email protected]>
Subject: [BUG?] x86_64 : Can not read /dev/kmem ?
From: Vojtech Pavlik <[email protected]>
Subject: Re: mouse&keyboard with 2.6.10+
From: Martin Zwickel <[email protected]>
Subject: 2.6.11-mm3: SIS5513 DMA problem (set_drive_speed_status)
From: Vojtech Pavlik <[email protected]>
Subject: PowerNow-K8 and Winchester CPUs
From: "Alan Curry" <[email protected]>
Subject: SVGATextMode on 2.6.11
From: "Alan Curry" <[email protected]>
Subject: Re: SVGATextMode on 2.6.11
From: "Enrico Bartky" <[email protected]>
Subject: SMbus not enabled
From: Stefano Rivoir <[email protected]>
Subject: Re: 2.6.11-mm3
Subject: Problem with 2.6.11-bk[3456]
From: Andrew Clayton <[email protected]>
From: Dmitry Torokhov <[email protected]>
Subject: Re: 2.6.11-mm3 mouse oddity
From: Russell Coker <[email protected]>
Subject: idr_remove
From: "Sergey S. Kostyliov" <[email protected]>
Subject: Re: 2.6.10 devfs oops without devfs mounted at all
From: Neil Conway <[email protected]>
Subject: Re: Fw: NFS (ext3/VFS?) bug in 2.6.8/10
Subject: Re: Fw: NFS (ext3/VFS?) bug in 2.6.8/10
From: Trond Myklebust <[email protected]>
From: Neil Conway <[email protected]>
Subject: Re: Fw: NFS (ext3/VFS?) bug in 2.6.8/10
From: Miles Lane <[email protected]>
Subject: Re: Who should I write to about this OOPS in 2,6,11-mm3?
From: Michal Zalewski <[email protected]>
Subject: [Security] ISO9660 fs problems - no maintainer?
From: "Robert W. Fuller" <[email protected]>
Subject: 2.6.11 USB broken on VIA computer (not just ACPI)
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB
From: Bjorn Helgaas <[email protected]>
From: "Antonino A. Daplas" <[email protected]>
Subject: Re: Who should I write to about this OOPS in 2,6,11-mm3?
From: Jean Delvare <[email protected]>
Subject: Re: Who should I write to about this OOPS in 2,6,11-mm3?
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB
From: Bjorn Helgaas <[email protected]>
From: [email protected]
Subject: [Bug 4275] filesystems no longer modifiable after stress tests
From: [email protected]
Subject: [Bugme-new] [Bug 4344] New: CIFS Oops on 'ls'
From: [email protected]
Subject: [Bugme-new] [Bug 4340] New: ohci_1394 module breaks S3 suspend
From: [email protected]
Subject: [Bugme-new] [Bug 4341] New: Accessing Palm over USB in drive mode
From: [email protected]
Subject: [Bugme-new] [Bug 4342] New: "Near touchpad upper buttons" not
From: [email protected]
Subject: [Bugme-new] [Bug 4347] New: savavgfb ddc eeprom oops when "sensors"
From: [email protected]
Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with Audigy 2 and
From: Ralf Baechle <[email protected]>
Subject: Double free of initramfs
From: [email protected]
Subject: [Bugme-new] [Bug 4352] New: Problems with PowerNow on Athlon-XP
From: [email protected]
Subject: [Bugme-new] [Bug 4356] New: No sound with outbound calls from
From: [email protected]
Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel panic when loading the EMU10K1 driver
From: [email protected]
Subject: [Bugme-new] [Bug 4358] New: bluetooth-dongle (hci_usb) doesn't work
From: [email protected]
Subject: [Bugme-new] [Bug 4359] New: With HT off in bios,
From: "Antonino A. Daplas" <[email protected]>
Subject: Re: Who should I write to about this OOPS in 2,6,11-mm3?
Subject: AIO panic on 2.6.11 on PPC64 caused by is_hugepage_only_range()
From: Daniel McNeil <[email protected]>
From: dave <[email protected]>
Subject: PROBLEM: 2.6.11.4 vaio z1xmp mouse click
From: [email protected]
Subject: [Bugme-new] [Bug 4363] New: panic spin_lock already locked
From: [email protected]
Subject: [Bugme-new] [Bug 4362] New: No keyboard at all
From: [email protected]
Subject: [Bugme-new] [Bug 4365] New: On Running File System stress on XFS
From: [email protected]
Subject: [Bugme-new] [Bug 4368] New: b44 driver + udev: does not work if
From: Jeremy Fitzhardinge <[email protected]>
Subject: 2.6.11-rc3: APM resume problems with USB
From: [email protected]
Subject: [Bugme-new] [Bug 4370] New: Pinnacle PCI SAT-TV card: cx24110
From: Stefan Schmidt <[email protected]>
Subject: (solved) Re: Fw: 2.6.11-mm2 weird ethernet RTTs
From: [email protected]
Subject: [Bugme-new] [Bug 4371] New: Battery doesn't work after suspend
Subject: http://lkml.org/lkml/2005/3/14/107
From: =?ISO-8859-1?Q?Feh=E9r_J=E1nos?= <[email protected]>
From: [email protected]
Subject: [Bugme-new] [Bug 4372] New: unplugging stv680-based pencam while in
From: Hugh Dickins <[email protected]>
Subject: Re: [Bug 4293] mandatory locking fails on tmpfs
From: [email protected]
Subject: [Bugme-new] [Bug 4373] New: USB DVDRW hangs during burning or
From: [email protected]
Subject: [Bugme-new] [Bug 4374] New: bug in libata-core with sata_sil
From: [email protected]
Subject: [Bugme-new] [Bug 4375] New: Touchpad & Keyboard freeze
From: [email protected]
Subject: [Bugme-new] [Bug 4376] New: compat_ioctls for joystick
Subject:
From: [email protected]
From: viking <[email protected]>
Subject: USB mouse hiccups (was RFD: Kernel release numbering)
From: Neil Whelchel <[email protected]>
Subject: SATA Promise TX4 Crash
From: Ron Gage <[email protected]>
Subject: Major problem with PCMCIA/Yenta system
From: Patrick McFarland <[email protected]>
Subject: alsa es1371's joystick functionality broken in 2.6.11-mm4
From: [email protected]
Subject: [Bug 4353] large pages not getting used when DB2 is tested with large page enabled
Subject: Problems with connect/disconnect cycles
From: Norbert Preining <[email protected]>
From: [email protected]
Subject: [Bugme-new] [Bug 4378] New: Intel 915GM not supported by Kernel
From: Vojtech Pavlik <[email protected]>
Subject: Re: Fw: Re: alsa es1371's joystick functionality broken in 2.6.11-mm4
From: Jonas Oreland <[email protected]>
Subject: Re: Major problem with PCMCIA/Yenta system
Subject: [CHECKER] ext3 bug in ftruncate() with O_SYNC?
From: Ben Pfaff <[email protected]>
From: Dmitry Antipov <[email protected]>
Subject: Radeonfb blanks the screen / hangs the system with 2.6.11
From: [email protected]
Subject: [Bug 4377] New: Severe memory leak issue
From: [email protected]
Subject: [Bugme-new] [Bug 4379] New: Default sampling rates for ondemand
From: Jaroslav Kysela <[email protected]>
Subject: Re: Fw: Re: alsa es1371's joystick functionality broken in 2.6.11-mm4
> From: Sebastian =?iso-8859-1?q?K=FCgler?= <[email protected]>
> Subject: PCMCIA breaks suspend-to-(disk|ram) with 2.6.11
Fixed by upgrading the userspace script used by him to include
"cardctl eject && sleep 1"
before killing cardmgr, as killing cardmgr no longer auto-detaches PCMCIA
devices and this was what he needs: while suspend/resume does work with
PCMCIA in general AFAIK, certain device drivers are faulty.
> From: Ron Gage <[email protected]>
> Subject: Major problem with PCMCIA/Yenta system
...
> From: Jonas Oreland <[email protected]>
> Subject: Re: Major problem with PCMCIA/Yenta system
This is no regresssion[*], a fix is being evaluated.
Thanks,
Dominik
[*] It may work on 2.4., though...
Hi,
On Monday, 21 of March 2005 11:51, you wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/
I get the following BUG every time I try to suspend my box to disk.
Greets,
Rafael
Stopping tasks: ===================================================================|
Freeing memory... done (66711 pages freed)
They asked me for state 1
----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at pci:389
invalid operand: 0000 [1]
CPU 0
Modules linked in: usbserial parport_pc lp parport thermal processor fan button battery ac soundcore snd_page_alloc ipt_TOS ipt_LOG ipt_limit v
Pid: 9141, comm: do_acpi_sleep Not tainted 2.6.12-rc1-mm1
RIP: 0010:[<ffffffff80283a70>] <ffffffff80283a70>{pci_choose_state+96}
RSP: 0000:ffff810020fbfd78 EFLAGS: 00010292
RAX: 000000000000001d RBX: 0000000000000001 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 00000000000044e0 RDI: ffffffff8041d140
RBP: ffff81002fc151c0 R08: 0000000000000000 R09: ffff81002a535c48
R10: 00000000ffffffff R11: 0000000000000000 R12: ffff81002fc151c0
R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000080
FS: 00002aaaab28b800(0000) GS:ffffffff8055c840(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00002aaaaaac2000 CR3: 000000001dd8a000 CR4: 00000000000006e0
Process do_acpi_sleep (pid: 9141, threadinfo ffff810020fbe000, task ffff810020d527e0)
Stack: ffff81002c349628 0000000000000000 ffff81002c349628 ffffffff8032218a
ffff81002fc149a8 0000000000000000 ffff81002fc15230 0000000000000000
ffffffff8048f680 0000000000000003
Call Trace:<ffffffff8032218a>{usb_hcd_pci_suspend+74} <ffffffff8028519e>{pci_device_suspend+30}
<ffffffff802ee3d2>{suspend_device+50} <ffffffff802ee4f1>{device_suspend+129}
<ffffffff80166ceb>{prepare_devices+11} <ffffffff80167095>{pm_suspend_disk+21}
<ffffffff80164206>{enter_state+70} <ffffffff8016442d>{state_store+109}
<ffffffff801f275f>{subsys_attr_store+31} <ffffffff801f2c1c>{sysfs_write_file+204}
<ffffffff8019c6c9>{vfs_write+233} <ffffffff8019c863>{sys_write+83}
<ffffffff8010f092>{system_call+126}
Code: 0f 0b 7a 3e 3e 80 ff ff ff ff 85 01 31 d2 66 90 48 8b 5c 24
RIP <ffffffff80283a70>{pci_choose_state+96} RSP <ffff810020fbfd78>
--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
"Rafael J. Wysocki" <[email protected]> wrote:
>
> Hi,
>
> On Monday, 21 of March 2005 11:51, you wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/
>
> I get the following BUG every time I try to suspend my box to disk.
Pavel, that's the BUG() in pci_choose_state(). I did have some
reject-fixing to do on that wrt a change in Greg's tree, so maybe there was
some incompatible intent in there.
I dunno why pci_choose_state() is saying that it received PCI_D1, when
prepare_devices() is passing down PMSG_FREEZE?
> Greets,
> Rafael
>
>
> Stopping tasks: ===================================================================|
> Freeing memory... done (66711 pages freed)
> They asked me for state 1
> ----------- [cut here ] --------- [please bite here ] ---------
> Kernel BUG at pci:389
> invalid operand: 0000 [1]
> CPU 0
> Modules linked in: usbserial parport_pc lp parport thermal processor fan button battery ac soundcore snd_page_alloc ipt_TOS ipt_LOG ipt_limit v
> Pid: 9141, comm: do_acpi_sleep Not tainted 2.6.12-rc1-mm1
> RIP: 0010:[<ffffffff80283a70>] <ffffffff80283a70>{pci_choose_state+96}
> RSP: 0000:ffff810020fbfd78 EFLAGS: 00010292
> RAX: 000000000000001d RBX: 0000000000000001 RCX: 0000000000000000
> RDX: 0000000000000000 RSI: 00000000000044e0 RDI: ffffffff8041d140
> RBP: ffff81002fc151c0 R08: 0000000000000000 R09: ffff81002a535c48
> R10: 00000000ffffffff R11: 0000000000000000 R12: ffff81002fc151c0
> R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000080
> FS: 00002aaaab28b800(0000) GS:ffffffff8055c840(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: 00002aaaaaac2000 CR3: 000000001dd8a000 CR4: 00000000000006e0
> Process do_acpi_sleep (pid: 9141, threadinfo ffff810020fbe000, task ffff810020d527e0)
> Stack: ffff81002c349628 0000000000000000 ffff81002c349628 ffffffff8032218a
> ffff81002fc149a8 0000000000000000 ffff81002fc15230 0000000000000000
> ffffffff8048f680 0000000000000003
> Call Trace:<ffffffff8032218a>{usb_hcd_pci_suspend+74} <ffffffff8028519e>{pci_device_suspend+30}
> <ffffffff802ee3d2>{suspend_device+50} <ffffffff802ee4f1>{device_suspend+129}
> <ffffffff80166ceb>{prepare_devices+11} <ffffffff80167095>{pm_suspend_disk+21}
> <ffffffff80164206>{enter_state+70} <ffffffff8016442d>{state_store+109}
> <ffffffff801f275f>{subsys_attr_store+31} <ffffffff801f2c1c>{sysfs_write_file+204}
> <ffffffff8019c6c9>{vfs_write+233} <ffffffff8019c863>{sys_write+83}
> <ffffffff8010f092>{system_call+126}
>
> Code: 0f 0b 7a 3e 3e 80 ff ff ff ff 85 01 31 d2 66 90 48 8b 5c 24
> RIP <ffffffff80283a70>{pci_choose_state+96} RSP <ffff810020fbfd78>
>
>
>
> --
> - Would you tell me, please, which way I ought to go from here?
> - That depends a good deal on where you want to get to.
> -- Lewis Carroll "Alice's Adventures in Wonderland"
On Monday, March 21, 2005 12:25 pm, Adrian Bunk wrote:
> On Mon, Mar 21, 2005 at 09:15:53AM -0800, Jesse Barnes wrote:
> > On Monday, March 21, 2005 2:51 am, Andrew Morton wrote:
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc
> > >1/2. 6.12-rc1-mm1/
> >
> > Andrew, please drop
> >
> > revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.
> >patch
> >
> > The tiocx.c driver is now in the tree, and it uses those functions.
>
> IOW:
> The EXPORT_SYMBOL's should still be removed, but the functions
> themselves should stay.
Actually, no, since tiocx can be built modular. The patch should just be
dropped.
Thanks,
Jesse
Hi!
> > On Monday, 21 of March 2005 11:51, you wrote:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/
> >
> > I get the following BUG every time I try to suspend my box to disk.
>
> Pavel, that's the BUG() in pci_choose_state(). I did have some
> reject-fixing to do on that wrt a change in Greg's tree, so maybe there was
> some incompatible intent in there.
>
> I dunno why pci_choose_state() is saying that it received PCI_D1, when
> prepare_devices() is passing down PMSG_FREEZE?
Uf, I don't know what version that was.. I think I have
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 12
EXTRAVERSION =-rc1-mm1
and that says:
#define PMSG_FREEZE ((__force pm_message_t) 3)
... I certainly have _FREEZE defined as 1 in my local tree, but I do
not see that change in -mm yet.
Possibly pm.h changes went in faster than pci.c or something like
that?
I reproduced it here.. I do not know who introduced
platform_pci_choose_state, but it is *very* wrong. It returns
it. Should it return pci_power_t? It probably should to match
pci_choose_state, but that int is retyped to pm_message_t. Oops.
Pavel
>
>
> > Greets,
> > Rafael
> >
> >
> > Stopping tasks: ===================================================================|
> > Freeing memory... done (66711 pages freed)
> > They asked me for state 1
> > ----------- [cut here ] --------- [please bite here ] ---------
> > Kernel BUG at pci:389
> > invalid operand: 0000 [1]
> > CPU 0
> > Modules linked in: usbserial parport_pc lp parport thermal processor fan button battery ac soundcore snd_page_alloc ipt_TOS ipt_LOG ipt_limit v
> > Pid: 9141, comm: do_acpi_sleep Not tainted 2.6.12-rc1-mm1
> > RIP: 0010:[<ffffffff80283a70>] <ffffffff80283a70>{pci_choose_state+96}
> > RSP: 0000:ffff810020fbfd78 EFLAGS: 00010292
> > RAX: 000000000000001d RBX: 0000000000000001 RCX: 0000000000000000
> > RDX: 0000000000000000 RSI: 00000000000044e0 RDI: ffffffff8041d140
> > RBP: ffff81002fc151c0 R08: 0000000000000000 R09: ffff81002a535c48
> > R10: 00000000ffffffff R11: 0000000000000000 R12: ffff81002fc151c0
> > R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000080
> > FS: 00002aaaab28b800(0000) GS:ffffffff8055c840(0000) knlGS:0000000000000000
> > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> > CR2: 00002aaaaaac2000 CR3: 000000001dd8a000 CR4: 00000000000006e0
> > Process do_acpi_sleep (pid: 9141, threadinfo ffff810020fbe000, task ffff810020d527e0)
> > Stack: ffff81002c349628 0000000000000000 ffff81002c349628 ffffffff8032218a
> > ffff81002fc149a8 0000000000000000 ffff81002fc15230 0000000000000000
> > ffffffff8048f680 0000000000000003
> > Call Trace:<ffffffff8032218a>{usb_hcd_pci_suspend+74} <ffffffff8028519e>{pci_device_suspend+30}
> > <ffffffff802ee3d2>{suspend_device+50} <ffffffff802ee4f1>{device_suspend+129}
> > <ffffffff80166ceb>{prepare_devices+11} <ffffffff80167095>{pm_suspend_disk+21}
> > <ffffffff80164206>{enter_state+70} <ffffffff8016442d>{state_store+109}
> > <ffffffff801f275f>{subsys_attr_store+31} <ffffffff801f2c1c>{sysfs_write_file+204}
> > <ffffffff8019c6c9>{vfs_write+233} <ffffffff8019c863>{sys_write+83}
> > <ffffffff8010f092>{system_call+126}
> >
> > Code: 0f 0b 7a 3e 3e 80 ff ff ff ff 85 01 31 d2 66 90 48 8b 5c 24
> > RIP <ffffffff80283a70>{pci_choose_state+96} RSP <ffff810020fbfd78>
> >
> >
> >
> > --
> > - Would you tell me, please, which way I ought to go from here?
> > - That depends a good deal on where you want to get to.
> > -- Lewis Carroll "Alice's Adventures in Wonderland"
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
Hi!
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/
> >
> > I get the following BUG every time I try to suspend my box to disk.
>
> Pavel, that's the BUG() in pci_choose_state(). I did have some
> reject-fixing to do on that wrt a change in Greg's tree, so maybe there was
> some incompatible intent in there.
>
> I dunno why pci_choose_state() is saying that it received PCI_D1, when
> prepare_devices() is passing down PMSG_FREEZE?
This works it around:
--- clean-mm/drivers/pci/pci.c 2005-03-21 11:39:32.000000000 +0100
+++ linux-mm/drivers/pci/pci.c 2005-03-22 01:41:48.000000000 +0100
@@ -376,11 +376,13 @@
if (!pci_find_capability(dev, PCI_CAP_ID_PM))
return PCI_D0;
+#if 0
if (platform_pci_choose_state) {
ret = platform_pci_choose_state(dev, state);
if (ret >= 0)
state = ret;
}
+#endif
switch (state) {
case 0: return PCI_D0;
case 3: return PCI_D3hot;
platform_pci_choose_state is very wrong, and it would be nice to just
revert the patch that introduced it. pm_message_t is going to became a
structure, and I don't want to have another place to fixup.
Hmm, it looks like I should do switch to the structure *now* so that
pm_message_t becomes incompatible with int and people can't get it
wrong...
Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
Pavel Machek <[email protected]> wrote:
>
> Hi!
>
> > > On Monday, 21 of March 2005 11:51, you wrote:
> > > >
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/
> > >
> > > I get the following BUG every time I try to suspend my box to disk.
> >
> > Pavel, that's the BUG() in pci_choose_state(). I did have some
> > reject-fixing to do on that wrt a change in Greg's tree, so maybe there was
> > some incompatible intent in there.
> >
> > I dunno why pci_choose_state() is saying that it received PCI_D1, when
> > prepare_devices() is passing down PMSG_FREEZE?
>
> Uf, I don't know what version that was.. I think I have
>
> VERSION = 2
> PATCHLEVEL = 6
> SUBLEVEL = 12
> EXTRAVERSION =-rc1-mm1
yes, the report was against 2.6.12-rc1-mm1.
> and that says:
>
> #define PMSG_FREEZE ((__force pm_message_t) 3)
>
> ... I certainly have _FREEZE defined as 1 in my local tree, but I do
> not see that change in -mm yet.
Both 2.6.12-rc1-mm1 and 2.6.12-rc1 have:
#define PMSG_FREEZE ((__force pm_message_t) 3)
#define PMSG_SUSPEND ((__force pm_message_t) 3)
#define PMSG_ON ((__force pm_message_t) 0)
which looks odd.
> Possibly pm.h changes went in faster than pci.c or something like
> that?
grep says that 2.6.12-rc1-mm1 has these patches from you:
fix-suspend-resume-on-via-velocity.patch
x86-fix-esp-corruption-cpu-bug-take-2.patch
swsusp-add-missing-refrigerator-calls.patch
suspend-to-ram-update-videotxt-with-more-systems.patch
pm-remove-obsolete-pm_-from-vtc.patch
swsusp-small-updates.patch
swsusp-1-1-kill-swsusp_restore.patch
pcmcia-id_table-for-orinoco_cs.patch
fix-pm_message_t-in-generic-code.patch
fix-u32-vs-pm_message_t-in-usb.patch
more-pm_message_t-fixes.patch
fix-u32-vs-pm_message_t-confusion-in-oss.patch
fix-u32-vs-pm_message_t-confusion-in-pcmcia.patch
fix-u32-vs-pm_message_t-confusion-in-framebuffers.patch
fix-u32-vs-pm_message_t-confusion-in-mmc.patch
fix-u32-vs-pm_message_t-confusion-in-serials.patch
fix-u32-vs-pm_message_t-in-macintosh.patch
fix-u32-vs-pm_message_t-confusion-in-agp.patch
> I reproduced it here.. I do not know who introduced
> platform_pci_choose_state, but it is *very* wrong. It returns
> it. Should it return pci_power_t? It probably should to match
> pci_choose_state, but that int is retyped to pm_message_t. Oops.
That change came from Len. I've appended the two relevant patches below.
So hm. We have incompatible changes in flight. That doesn't happen very
often.
Could I suggest that you prepare a fixup against 2.6.12-rc1-mm1 and send
that to Len and myself? If that fixup is not suitable for a 2.6.12-rc1
based tree then I can look after it until things get flushed out.
(Len, platform_pci_set_power_state shouldn't be initialised to NULL).
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2005/03/19 00:15:48-05:00 [email protected]
# [ACPI] PCI can now get suspend state from firmware
#
# pci_choose_state() can now call
# platform_pci_choose_state()
# and ACPI can answer
#
# http://bugzilla.kernel.org/show_bug.cgi?id=4277
#
# Signed-off-by: David Shaohua Li <[email protected]>
# Signed-off-by: Len Brown <[email protected]>
#
# drivers/pci/pci.h
# 2005/03/19 00:15:24-05:00 [email protected] +3 -0
# add platform_pci_choose_state()
#
# drivers/pci/pci.c
# 2005/03/19 00:15:24-05:00 [email protected] +7 -0
# add platform_pci_choose_state()
#
# drivers/pci/pci-acpi.c
# 2005/03/19 00:15:24-05:00 [email protected] +46 -1
# add platform_pci_choose_state()
#
diff -Nru a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
--- a/drivers/pci/pci-acpi.c 2005-03-21 17:01:44 -08:00
+++ b/drivers/pci/pci-acpi.c 2005-03-21 17:01:44 -08:00
@@ -1,6 +1,6 @@
/*
* File: pci-acpi.c
- * Purpose: Provide PCI support in ACPI
+ * Purpose: Provde PCI support in ACPI
*
* Copyright (C) 2005 David Shaohua Li <[email protected]>
* Copyright (C) 2004 Tom Long Nguyen <[email protected]>
@@ -17,6 +17,7 @@
#include <acpi/acpi_bus.h>
#include <linux/pci-acpi.h>
+#include "pci.h"
static u32 ctrlset_buf[3] = {0, 0, 0};
static u32 global_ctrlsets = 0;
@@ -209,6 +210,49 @@
}
EXPORT_SYMBOL(pci_osc_control_set);
+/*
+ * _SxD returns the D-state with the highest power
+ * (lowest D-state number) supported in the S-state "x".
+ *
+ * If the devices does not have a _PRW
+ * (Power Resources for Wake) supporting system wakeup from "x"
+ * then the OS is free to choose a lower power (higher number
+ * D-state) than the return value from _SxD.
+ *
+ * But if _PRW is enabled at S-state "x", the OS
+ * must not choose a power lower than _SxD --
+ * unless the device has an _SxW method specifying
+ * the lowest power (highest D-state number) the device
+ * may enter while still able to wake the system.
+ *
+ * ie. depending on global OS policy:
+ *
+ * if (_PRW at S-state x)
+ * choose from highest power _SxD to lowest power _SxW
+ * else // no _PRW at S-state x
+ * choose highest power _SxD or any lower power
+ *
+ * currently we simply return _SxD, if present.
+ */
+
+static int acpi_pci_choose_state(struct pci_dev *pdev, pm_message_t state)
+{
+ char dstate_str[] = "_S0D";
+ acpi_status status;
+ unsigned long val;
+ struct device *dev = &pdev->dev;
+
+ /* Fixme: the check is wrong after pm_message_t is a struct */
+ if ((state >= PM_SUSPEND_MAX) || !DEVICE_ACPI_HANDLE(dev))
+ return -EINVAL;
+ dstate_str[2] += state; /* _S1D, _S2D, _S3D, _S4D */
+ status = acpi_evaluate_integer(DEVICE_ACPI_HANDLE(dev), dstate_str,
+ NULL, &val);
+ if (ACPI_SUCCESS(status))
+ return val;
+ return -ENODEV;
+}
+
/* ACPI bus type */
static int pci_acpi_find_device(struct device *dev, acpi_handle *handle)
{
@@ -255,6 +299,7 @@
ret = register_acpi_bus_type(&pci_acpi_bus);
if (ret)
return 0;
+ platform_pci_choose_state = acpi_pci_choose_state;
return 0;
}
arch_initcall(pci_acpi_init);
diff -Nru a/drivers/pci/pci.c b/drivers/pci/pci.c
--- a/drivers/pci/pci.c 2005-03-21 17:01:44 -08:00
+++ b/drivers/pci/pci.c 2005-03-21 17:01:44 -08:00
@@ -317,12 +317,19 @@
* Returns PCI power state suitable for given device and given system
* message.
*/
+int (*platform_pci_choose_state)(struct pci_dev *dev, pm_message_t state) = NULL;
pci_power_t pci_choose_state(struct pci_dev *dev, u32 state)
{
+ int ret;
if (!pci_find_capability(dev, PCI_CAP_ID_PM))
return PCI_D0;
+ if (platform_pci_choose_state) {
+ ret = platform_pci_choose_state(dev, state);
+ if (ret >= 0)
+ state = ret;
+ }
switch (state) {
case 0: return PCI_D0;
case 2: return PCI_D2;
diff -Nru a/drivers/pci/pci.h b/drivers/pci/pci.h
--- a/drivers/pci/pci.h 2005-03-21 17:01:44 -08:00
+++ b/drivers/pci/pci.h 2005-03-21 17:01:44 -08:00
@@ -11,6 +11,9 @@
void (*alignf)(void *, struct resource *,
unsigned long, unsigned long),
void *alignf_data);
+/* Firmware callbacks */
+extern int (*platform_pci_choose_state)(struct pci_dev *dev, pm_message_t state);
+
/* PCI /proc functions */
#ifdef CONFIG_PROC_FS
extern int pci_proc_attach_device(struct pci_dev *dev);
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2005/03/19 00:16:18-05:00 [email protected]
# [ACPI] pci_set_power_state() now calls
# platform_pci_set_power_state()
# and ACPI can answer
#
# http://bugzilla.kernel.org/show_bug.cgi?id=4277
#
# Signed-off-by: David Shaohua Li <[email protected]>
# Signed-off-by: Len Brown <[email protected]>
#
# drivers/pci/pci.h
# 2005/03/03 04:20:56-05:00 [email protected] +1 -0
# pci_set_power_state() now calls platform_pci_set_power_state()
#
# drivers/pci/pci.c
# 2005/03/03 04:20:56-05:00 [email protected] +9 -2
# pci_set_power_state() now calls platform_pci_set_power_state()
#
# drivers/pci/pci-acpi.c
# 2005/03/03 04:28:23-05:00 [email protected] +19 -0
# pci_set_power_state() now calls platform_pci_set_power_state()
#
# drivers/acpi/bus.c
# 2005/03/03 04:20:56-05:00 [email protected] +7 -1
# pci_set_power_state() now calls platform_pci_set_power_state()
#
diff -Nru a/drivers/acpi/bus.c b/drivers/acpi/bus.c
--- a/drivers/acpi/bus.c 2005-03-21 17:02:38 -08:00
+++ b/drivers/acpi/bus.c 2005-03-21 17:02:38 -08:00
@@ -212,6 +212,12 @@
ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Device is not power manageable\n"));
return_VALUE(-ENODEV);
}
+ /*
+ * Get device's current power state if it's unknown
+ * This means device power state isn't initialized or previous setting failed
+ */
+ if (device->power.state == ACPI_STATE_UNKNOWN)
+ acpi_bus_get_power(device->handle, &device->power.state);
if (state == device->power.state) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device is already at D%d\n", state));
return_VALUE(0);
@@ -231,7 +237,7 @@
* On transitions to a high-powered state we first apply power (via
* power resources) then evalute _PSx. Conversly for transitions to
* a lower-powered state.
- */
+ */
if (state < device->power.state) {
if (device->power.flags.power_resources) {
result = acpi_power_transition(device, state);
diff -Nru a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
--- a/drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00
+++ b/drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00
@@ -253,6 +253,24 @@
return -ENODEV;
}
+static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state)
+{
+ acpi_handle handle = DEVICE_ACPI_HANDLE(&dev->dev);
+ static int state_conv[] = {
+ [0] = 0,
+ [1] = 1,
+ [2] = 2,
+ [3] = 3,
+ [4] = 3
+ };
+ int acpi_state = state_conv[(int __force) state];
+
+ if (!handle)
+ return -ENODEV;
+ return acpi_bus_set_power(handle, acpi_state);
+}
+
+
/* ACPI bus type */
static int pci_acpi_find_device(struct device *dev, acpi_handle *handle)
{
@@ -300,6 +318,7 @@
if (ret)
return 0;
platform_pci_choose_state = acpi_pci_choose_state;
+ platform_pci_set_power_state = acpi_pci_set_power_state;
return 0;
}
arch_initcall(pci_acpi_init);
diff -Nru a/drivers/pci/pci.c b/drivers/pci/pci.c
--- a/drivers/pci/pci.c 2005-03-21 17:02:38 -08:00
+++ b/drivers/pci/pci.c 2005-03-21 17:02:38 -08:00
@@ -240,7 +240,7 @@
* -EIO if device does not support PCI PM.
* 0 if we can successfully change the power state.
*/
-
+int (*platform_pci_set_power_state)(struct pci_dev *dev, pci_power_t t) = NULL;
int
pci_set_power_state(struct pci_dev *dev, pci_power_t state)
{
@@ -304,8 +304,15 @@
msleep(10);
else if (state == PCI_D2 || dev->current_state == PCI_D2)
udelay(200);
- dev->current_state = state;
+ /*
+ * Give firmware a chance to be called, such as ACPI _PRx, _PSx
+ * Firmware method after natice method ?
+ */
+ if (platform_pci_set_power_state)
+ platform_pci_set_power_state(dev, state);
+
+ dev->current_state = state;
return 0;
}
diff -Nru a/drivers/pci/pci.h b/drivers/pci/pci.h
--- a/drivers/pci/pci.h 2005-03-21 17:02:38 -08:00
+++ b/drivers/pci/pci.h 2005-03-21 17:02:38 -08:00
@@ -13,6 +13,7 @@
void *alignf_data);
/* Firmware callbacks */
extern int (*platform_pci_choose_state)(struct pci_dev *dev, pm_message_t state);
+extern int (*platform_pci_set_power_state)(struct pci_dev *dev, pci_power_t state);
/* PCI /proc functions */
#ifdef CONFIG_PROC_FS
Hi!
> > and that says:
> >
> > #define PMSG_FREEZE ((__force pm_message_t) 3)
> >
> > ... I certainly have _FREEZE defined as 1 in my local tree, but I do
> > not see that change in -mm yet.
>
> Both 2.6.12-rc1-mm1 and 2.6.12-rc1 have:
>
> #define PMSG_FREEZE ((__force pm_message_t) 3)
> #define PMSG_SUSPEND ((__force pm_message_t) 3)
> #define PMSG_ON ((__force pm_message_t) 0)
>
> which looks odd.
Yes, but it is needed. There are many drivers, and they look at
numerical value of PMSG_*. I'm proceeding in steps. I hopefully killed
all direct accesses to the constants, and will switch constants to
something else... But that is going to be tommorow (need some sleep).
> > I reproduced it here.. I do not know who introduced
> > platform_pci_choose_state, but it is *very* wrong. It returns
> > it. Should it return pci_power_t? It probably should to match
> > pci_choose_state, but that int is retyped to pm_message_t. Oops.
>
> That change came from Len. I've appended the two relevant patches below.
>
> So hm. We have incompatible changes in flight. That doesn't happen very
> often.
>
> Could I suggest that you prepare a fixup against 2.6.12-rc1-mm1 and send
> that to Len and myself? If that fixup is not suitable for a 2.6.12-rc1
> based tree then I can look after it until things get flushed out.
Could you just revert those two patches? First one is very
wrong. Second one might be fixed, but... See comments below.
And they are both "dangerous" -- they introduce new and untested
functionality while I'm trying to transition from int to
pm_message_t. They also affect all the drivers.
Len, please Cc me on patches that affect suspend.
> @@ -17,6 +17,7 @@
> #include <acpi/acpi_bus.h>
>
> #include <linux/pci-acpi.h>
> +#include "pci.h"
Should be <linux/pci.h>?
> +static int acpi_pci_choose_state(struct pci_dev *pdev, pm_message_t state)
> +{
Should return pci_power_t, probably.
> + char dstate_str[] = "_S0D";
> + acpi_status status;
> + unsigned long val;
> + struct device *dev = &pdev->dev;
> +
> + /* Fixme: the check is wrong after pm_message_t is a struct */
Exactly.
> + if ((state >= PM_SUSPEND_MAX) || !DEVICE_ACPI_HANDLE(dev))
PM_SUSPEND_MAX and friends is going to disappear.
> + return -EINVAL;
> + dstate_str[2] += state; /* _S1D, _S2D, _S3D, _S4D */
Ugh, assumes numerical values of states actually meaning anything. It
definitely should not. Should be switch(state.event), but that code
is not merged, yet.... => I'll send code that switches pm_message_t to
struct, tommorow. But it may compile-time break some obscure drivers...
> diff -Nru a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
> --- a/drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00
> +++ b/drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00
> @@ -253,6 +253,24 @@
> return -ENODEV;
> }
>
> +static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state)
> +{
> + acpi_handle handle = DEVICE_ACPI_HANDLE(&dev->dev);
> + static int state_conv[] = {
> + [0] = 0,
> + [1] = 1,
> + [2] = 2,
> + [3] = 3,
> + [4] = 3
> + };
> + int acpi_state = state_conv[(int __force) state];
The table should be
[PCI_D0] = 0,
...
and then it should not need __force.
Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
Pavel Machek <[email protected]> wrote:
>
> On Po 21-03-05 17:52:32, Andrew Morton wrote:
> > Pavel Machek <[email protected]> wrote:
> > >
> > > > Could I suggest that you prepare a fixup against 2.6.12-rc1-mm1 and send
> > > > that to Len and myself? If that fixup is not suitable for a 2.6.12-rc1
> > > > based tree then I can look after it until things get flushed out.
> > >
> > > Could you just revert those two patches? First one is very
> > > wrong. Second one might be fixed, but... See comments below.
> >
> > I could revert them locally, but that wouldn't gain us much.
>
> You mean that Len has to revert them or revert is "ineffective"?
The patches are in Len's tree.
> > Greg hasn't taken the pm_message_t patches yet. Perhaps that's for the best.
> >
> > Perhaps I should just jam everything-from-Pavel into Linus's tree as soon
> > as he returns and then we can fix up the downstream fallout in the various
> > bk trees?
>
> Yes, that would help a lot. I was waiting with
> "turn-pm_message_t-into-struct" until all pm_message_t patches reached
> Linus so that there's not a mess "in flight". Len's patch pretty much
> depends on pm_message_t already being converted... (and I'd prefer it
> to wait a while, so we can see which problems were introduced by
> conversion and which are due to ACPI BIOS bugs).
OK, well unless someone has objections I'll just send all these
swsusp-add-missing-refrigerator-calls.patch
suspend-to-ram-update-videotxt-with-more-systems.patch
pm-remove-obsolete-pm_-from-vtc.patch
swsusp-small-updates.patch
swsusp-1-1-kill-swsusp_restore.patch
fix-pm_message_t-in-generic-code.patch
fix-u32-vs-pm_message_t-in-usb.patch
more-pm_message_t-fixes.patch
fix-u32-vs-pm_message_t-confusion-in-oss.patch
fix-u32-vs-pm_message_t-confusion-in-pcmcia.patch
fix-u32-vs-pm_message_t-confusion-in-framebuffers.patch
fix-u32-vs-pm_message_t-confusion-in-mmc.patch
fix-u32-vs-pm_message_t-confusion-in-serials.patch
fix-u32-vs-pm_message_t-in-macintosh.patch
fix-u32-vs-pm_message_t-confusion-in-agp.patch
to Linus when he reappears and then I'll duck for cover and let you guys
sort it out ;)
On Po 21-03-05 17:52:32, Andrew Morton wrote:
> Pavel Machek <[email protected]> wrote:
> >
> > > Could I suggest that you prepare a fixup against 2.6.12-rc1-mm1 and send
> > > that to Len and myself? If that fixup is not suitable for a 2.6.12-rc1
> > > based tree then I can look after it until things get flushed out.
> >
> > Could you just revert those two patches? First one is very
> > wrong. Second one might be fixed, but... See comments below.
>
> I could revert them locally, but that wouldn't gain us much.
You mean that Len has to revert them or revert is "ineffective"?
> Greg hasn't taken the pm_message_t patches yet. Perhaps that's for the best.
>
> Perhaps I should just jam everything-from-Pavel into Linus's tree as soon
> as he returns and then we can fix up the downstream fallout in the various
> bk trees?
Yes, that would help a lot. I was waiting with
"turn-pm_message_t-into-struct" until all pm_message_t patches reached
Linus so that there's not a mess "in flight". Len's patch pretty much
depends on pm_message_t already being converted... (and I'd prefer it
to wait a while, so we can see which problems were introduced by
conversion and which are due to ACPI BIOS bugs).
Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
On Mon, Mar 21, 2005 at 05:06:23PM -0800, Andrew Morton wrote:
> # drivers/pci/pci-acpi.c
> # 2005/03/19 00:15:24-05:00 [email protected] +46 -1
> # add platform_pci_choose_state()
> #
> diff -Nru a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
> --- a/drivers/pci/pci-acpi.c 2005-03-21 17:01:44 -08:00
> +++ b/drivers/pci/pci-acpi.c 2005-03-21 17:01:44 -08:00
> @@ -1,6 +1,6 @@
> /*
> * File: pci-acpi.c
> - * Purpose: Provide PCI support in ACPI
> + * Purpose: Provde PCI support in ACPI
Oops.
Dave
On Tue, 2005-03-22 at 09:35, Pavel Machek wrote:
> Hi!
>
> > > and that says:
> > >
> > > #define PMSG_FREEZE ((__force pm_message_t) 3)
> > >
> > > ... I certainly have _FREEZE defined as 1 in my local tree, but I
> do
> > > not see that change in -mm yet.
> >
> > Both 2.6.12-rc1-mm1 and 2.6.12-rc1 have:
> >
> > #define PMSG_FREEZE ((__force pm_message_t) 3)
> > #define PMSG_SUSPEND ((__force pm_message_t) 3)
> > #define PMSG_ON ((__force pm_message_t) 0)
> >
> > which looks odd.
>
> Yes, but it is needed. There are many drivers, and they look at
> numerical value of PMSG_*. I'm proceeding in steps. I hopefully killed
> all direct accesses to the constants, and will switch constants to
> something else... But that is going to be tommorow (need some sleep).
The patches are going to acquire correct PCI device sleep state for
suspend/resume. We discussed the issue several months ago. My plan is we
first introduce 'platform_pci_set_power_state', then merge the
'platform_pci_choose_state' patch after Pavel's pm_message_t conversion
finished. Maybe Len mislead my comments.
Anyway for the callback, my intend is platform_pci_choose_state accept
the pm_message_t parameter, and it return an 'int', since platform
method possibly failed and then pci_choose_state translate the return
value to pci_power_t.
> > > I reproduced it here.. I do not know who introduced
> > > platform_pci_choose_state, but it is *very* wrong. It returns
> > > it. Should it return pci_power_t? It probably should to match
> > > pci_choose_state, but that int is retyped to pm_message_t. Oops.
> >
> > That change came from Len. I've appended the two relevant patches
> below.
> >
> > So hm. We have incompatible changes in flight. That doesn't happen
> very
> > often.
> >
> > Could I suggest that you prepare a fixup against 2.6.12-rc1-mm1 and
> send
> > that to Len and myself? If that fixup is not suitable for a
> 2.6.12-rc1
> > based tree then I can look after it until things get flushed out.
>
> Could you just revert those two patches? First one is very
> wrong. Second one might be fixed, but... See comments below.
I think the platform_pci_set_power_state should be ok, did you see it
causes oops?
>
> And they are both "dangerous" -- they introduce new and untested
> functionality while I'm trying to transition from int to
> pm_message_t. They also affect all the drivers.
>
> Len, please Cc me on patches that affect suspend.
>
> > @@ -17,6 +17,7 @@
> > #include <acpi/acpi_bus.h>
> >
> > #include <linux/pci-acpi.h>
> > +#include "pci.h"
>
>
> Should be <linux/pci.h>?
I suppose it's not exported out side of PCI, so I used 'pci.h'
>
> > +static int acpi_pci_choose_state(struct pci_dev *pdev, pm_message_t
> state)
> > +{
>
> Should return pci_power_t, probably.
Should return int as I said above.
>
> > + char dstate_str[] = "_S0D";
> > + acpi_status status;
> > + unsigned long val;
> > + struct device *dev = &pdev->dev;
> > +
> > + /* Fixme: the check is wrong after pm_message_t is a struct */
>
> Exactly.
>
> > + if ((state >= PM_SUSPEND_MAX) || !DEVICE_ACPI_HANDLE(dev))
>
> PM_SUSPEND_MAX and friends is going to disappear.
Yep, this should be fixed.
>
> > + return -EINVAL;
> > + dstate_str[2] += state; /* _S1D, _S2D, _S3D, _S4D */
>
> Ugh, assumes numerical values of states actually meaning anything. It
> definitely should not. Should be switch(state.event), but that code
> is not merged, yet.... => I'll send code that switches pm_message_t to
> struct, tommorow. But it may compile-time break some obscure
> drivers...
>
> > diff -Nru a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
> > --- a/drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00
> > +++ b/drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00
> > @@ -253,6 +253,24 @@
> > return -ENODEV;
> > }
> >
> > +static int acpi_pci_set_power_state(struct pci_dev *dev,
> pci_power_t state)
> > +{
> > + acpi_handle handle = DEVICE_ACPI_HANDLE(&dev->dev);
> > + static int state_conv[] = {
> > + [0] = 0,
> > + [1] = 1,
> > + [2] = 2,
> > + [3] = 3,
> > + [4] = 3
> > + };
> > + int acpi_state = state_conv[(int __force) state];
>
> The table should be
> [PCI_D0] = 0,
> ...
Ok, please revert the 'platform_pci_choose_pci' patch, I will add it
after Pavel's conversion is finished. Or after Pavel's is done, I can
send a quick fix.
Thanks,
Shaohua
Pavel Machek <[email protected]> wrote:
>
> > Could I suggest that you prepare a fixup against 2.6.12-rc1-mm1 and send
> > that to Len and myself? If that fixup is not suitable for a 2.6.12-rc1
> > based tree then I can look after it until things get flushed out.
>
> Could you just revert those two patches? First one is very
> wrong. Second one might be fixed, but... See comments below.
I could revert them locally, but that wouldn't gain us much.
Greg hasn't taken the pm_message_t patches yet. Perhaps that's for the best.
Perhaps I should just jam everything-from-Pavel into Linus's tree as soon
as he returns and then we can fix up the downstream fallout in the various
bk trees?
On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:
> From: [email protected]
> Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel panic when loading the EMU10K1 driver
>
This one is a real mystery. No one can reproduce it.
> From: [email protected]
> Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with Audigy 2 and
>
This one is fixed in ALSA CVS. Here is the patch.
Lee
Summary: fix oopses in emu10k1 mixer
Signed-Off-By: Arnaud Patard <[email protected]>
Index: emumixer.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emumixer.c,v
retrieving revision 1.32
diff -u -r1.32 emumixer.c
--- emumixer.c 13 Mar 2005 12:17:09 -0000 1.32
+++ emumixer.c 16 Mar 2005 17:10:10 -0000
@@ -482,9 +482,13 @@
change = 1;
}
}
- if (change && mix->epcm->voices[ch])
- update_emu10k1_fxrt(emu, mix->epcm->voices[ch]->number,
- &mix->send_routing[0][0]);
+
+ if (change && mix->epcm) {
+ if (mix->epcm->voices[ch]) {
+ update_emu10k1_fxrt(emu, mix->epcm->voices[ch]->number,
+ &mix->send_routing[0][0]);
+ }
+ }
spin_unlock_irqrestore(&emu->reg_lock, flags);
return change;
}
@@ -544,9 +548,12 @@
change = 1;
}
}
- if (change && mix->epcm->voices[ch])
- update_emu10k1_send_volume(emu, mix->epcm->voices[ch]->number,
- &mix->send_volume[0][0]);
+ if (change && mix->epcm) {
+ if (mix->epcm->voices[ch]) {
+ update_emu10k1_send_volume(emu, mix->epcm->voices[ch]->number,
+ &mix->send_volume[0][0]);
+ }
+ }
spin_unlock_irqrestore(&emu->reg_lock, flags);
return change;
}
@@ -600,8 +607,11 @@
mix->attn[0] = val;
change = 1;
}
- if (change && mix->epcm->voices[ch])
- snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[ch]->number, mix->attn[0]);
+ if (change && mix->epcm) {
+ if (mix->epcm->voices[ch]) {
+ snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[ch]->number, mix->attn[0]);
+ }
+ }
spin_unlock_irqrestore(&emu->reg_lock, flags);
return change;
}
Lee Revell <[email protected]> wrote:
>
> On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:
> > From: [email protected]
> > Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel panic when loading the EMU10K1 driver
> >
>
> This one is a real mystery. No one can reproduce it.
OK. But we don't seem to have heard from the originator since March 5th.
> > From: [email protected]
> > Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with Audigy 2 and
> >
>
> This one is fixed in ALSA CVS.
But not in http://linux-sound.bkbits.net/linux-sound yet. How does stuff
propagate from ALSA CVS into bk?
Lee Revell <[email protected]> wrote:
>
> On Mon, 2005-03-21 at 20:10 -0800, Andrew Morton wrote:
> > Lee Revell <[email protected]> wrote:
> > >
> > > On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:
> > > > From: [email protected]
> > > > Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel panic when loading the EMU10K1 driver
> > > >
> > >
> > > This one is a real mystery. No one can reproduce it.
> >
> > OK. But we don't seem to have heard from the originator since March 5th.
> >
> > > > From: [email protected]
> > > > Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with Audigy 2 and
> > > >
> > >
> > > This one is fixed in ALSA CVS.
> >
> > But not in http://linux-sound.bkbits.net/linux-sound yet. How does stuff
> > propagate from ALSA CVS into bk?
> >
> >
>
> The ALSA maintainers periodically ask Linus to pull from the linux-sound
> tree. But that's just the general "ALSA update" process.
Oh. I was always under the impression that
http://linux-sound.bkbits.net/linux-sound contains the latest devel stuff
for -mm.
> I'm not aware of a mechanism for getting critical fixes like this in
> ASAP. The last few have been shepherded through manually by various
> people. Looks like we need a better system.
>
It's not a trivial problem.
On Mon, 2005-03-21 at 20:23 -0800, Andrew Morton wrote:
> Lee Revell <[email protected]> wrote:
> > I'm not aware of a mechanism for getting critical fixes like this in
> > ASAP. The last few have been shepherded through manually by various
> > people. Looks like we need a better system.
> >
>
> It's not a trivial problem.
>
The linux-stable process seems to be working quite well so far.
Lee
On Mon, 2005-03-21 at 20:10 -0800, Andrew Morton wrote:
> Lee Revell <[email protected]> wrote:
> >
> > On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:
> > > From: [email protected]
> > > Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel panic when loading the EMU10K1 driver
> > >
> >
> > This one is a real mystery. No one can reproduce it.
>
> OK. But we don't seem to have heard from the originator since March 5th.
>
> > > From: [email protected]
> > > Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with Audigy 2 and
> > >
> >
> > This one is fixed in ALSA CVS.
>
> But not in http://linux-sound.bkbits.net/linux-sound yet. How does stuff
> propagate from ALSA CVS into bk?
>
>
The ALSA maintainers periodically ask Linus to pull from the linux-sound
tree. But that's just the general "ALSA update" process.
I'm not aware of a mechanism for getting critical fixes like this in
ASAP. The last few have been shepherded through manually by various
people. Looks like we need a better system.
Lee
Hi,
Oleg Nesterov wrote:
>> x86: fix ESP corruption CPU bug (take 2)
> I think that Stas tries to steal 1024 bytes from kernel's memory ...
I think so too, sorry.
I simply copied that from the cpu_gdt_table
definition, and here's the mistake :(
Probably this:
---
$ nm -g vmlinux |grep cpu_gdt_table
c02d7000 D cpu_gdt_table
c037c300 D per_cpu__cpu_gdt_table
---
can be optimized too?
Will this do it for the moment?
If so, lets use it until Pavel's flag-day is over -- when we'll send an
updated patch.
thanks,
-Len
On Mon, 2005-03-21 at 16:42 -0800, Jesse Barnes wrote:
> On Monday, March 21, 2005 12:25 pm, Adrian Bunk wrote:
> > On Mon, Mar 21, 2005 at 09:15:53AM -0800, Jesse Barnes wrote:
> > > On Monday, March 21, 2005 2:51 am, Andrew Morton wrote:
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc
> > > >1/2. 6.12-rc1-mm1/
> > >
> > > Andrew, please drop
> > >
> > > revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.
> > >patch
> > >
> > > The tiocx.c driver is now in the tree, and it uses those functions.
> >
> > IOW:
> > The EXPORT_SYMBOL's should still be removed, but the functions
> > themselves should stay.
>
> Actually, no, since tiocx can be built modular. The patch should just be
> dropped.
... or changed so that the exports are _GPL ...
On Mon, Mar 21, 2005 at 06:27:33PM -0800, Andrew Morton wrote:
> OK, well unless someone has objections I'll just send all these
>
> swsusp-add-missing-refrigerator-calls.patch
> suspend-to-ram-update-videotxt-with-more-systems.patch
> pm-remove-obsolete-pm_-from-vtc.patch
> swsusp-small-updates.patch
> swsusp-1-1-kill-swsusp_restore.patch
> fix-pm_message_t-in-generic-code.patch
> fix-u32-vs-pm_message_t-in-usb.patch
> more-pm_message_t-fixes.patch
> fix-u32-vs-pm_message_t-confusion-in-oss.patch
> fix-u32-vs-pm_message_t-confusion-in-pcmcia.patch
> fix-u32-vs-pm_message_t-confusion-in-framebuffers.patch
> fix-u32-vs-pm_message_t-confusion-in-mmc.patch
> fix-u32-vs-pm_message_t-confusion-in-serials.patch
> fix-u32-vs-pm_message_t-in-macintosh.patch
> fix-u32-vs-pm_message_t-confusion-in-agp.patch
>
> to Linus when he reappears and then I'll duck for cover and let you guys
> sort it out ;)
No objection from me, that's probably the best way for this to get into
the tree.
thanks,
greg k-h
On Mon, Mar 21, 2005 at 04:42:00PM -0800, Jesse Barnes wrote:
> On Monday, March 21, 2005 12:25 pm, Adrian Bunk wrote:
> > On Mon, Mar 21, 2005 at 09:15:53AM -0800, Jesse Barnes wrote:
> > > On Monday, March 21, 2005 2:51 am, Andrew Morton wrote:
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc
> > > >1/2. 6.12-rc1-mm1/
> > >
> > > Andrew, please drop
> > >
> > > revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.
> > >patch
> > >
> > > The tiocx.c driver is now in the tree, and it uses those functions.
> >
> > IOW:
> > The EXPORT_SYMBOL's should still be removed, but the functions
> > themselves should stay.
>
> Actually, no, since tiocx can be built modular. The patch should just be
> dropped.
???
config SGI_TIOCX
bool "SGI TIO CX driver support"
> Thanks,
> Jesse
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
At Mon, 21 Mar 2005 20:23:03 -0800,
Andrew Morton wrote:
>
> Lee Revell <[email protected]> wrote:
> >
> > On Mon, 2005-03-21 at 20:10 -0800, Andrew Morton wrote:
> > > Lee Revell <[email protected]> wrote:
> > > >
> > > > On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:
> > > > > From: [email protected]
> > > > > Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel panic when loading the EMU10K1 driver
> > > > >
> > > >
> > > > This one is a real mystery. No one can reproduce it.
> > >
> > > OK. But we don't seem to have heard from the originator since March 5th.
> > >
> > > > > From: [email protected]
> > > > > Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with Audigy 2 and
> > > > >
> > > >
> > > > This one is fixed in ALSA CVS.
> > >
> > > But not in http://linux-sound.bkbits.net/linux-sound yet. How does stuff
> > > propagate from ALSA CVS into bk?
> > >
> > >
> >
> > The ALSA maintainers periodically ask Linus to pull from the linux-sound
> > tree. But that's just the general "ALSA update" process.
>
> Oh. I was always under the impression that
> http://linux-sound.bkbits.net/linux-sound contains the latest devel stuff
> for -mm.
sound-bk includes fairly recent codes but not always the very latest
since the sync between ALSA CVS and sound-bk trees are done manually
by Jaroslav.
We have a mechanism to do sync immediately for critical patches. But
I seem to forget to tag it like this case. Sorry for that.
Takashi
On Mon, 21 Mar 2005, Lee Revell wrote:
> > > This one is fixed in ALSA CVS.
> >
> > But not in http://linux-sound.bkbits.net/linux-sound yet. How does stuff
> > propagate from ALSA CVS into bk?
>
> The ALSA maintainers periodically ask Linus to pull from the linux-sound
> tree. But that's just the general "ALSA update" process.
>
> I'm not aware of a mechanism for getting critical fixes like this in
> ASAP. The last few have been shepherded through manually by various
> people. Looks like we need a better system.
I am trying to sync the linux-sound BK tree every week with our CVS.
For "urgent" fixes we need to find another faster way. Hopefully, they
are in most cases small enough, so they might be propagated automagically.
I already proposed special "tag" in our CVS commit policy, so we can
identify these patches / changesets.
I will try to prepare some useable tool in few weeks.
Jaroslav
-----
Jaroslav Kysela <[email protected]>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs
Hi!
> And they are both "dangerous" -- they introduce new and untested
> functionality while I'm trying to transition from int to
> pm_message_t. They also affect all the drivers.
Actually, there's one even more severe problem with
platform_pci_choose_state...
If we are doing freeze for swsusp snapshot (or freeze for kexec or
something similar, that ACPI does not know about), it is very wrong to
ask ACPI to tell us power levels for devices. ACPI does not even know
about those states, it can not tell us anything meaningfull.
So if this hook is to be reintroduced, it should go down in the
function, and only trigger for ACPI S3 and ACPI S1 cases. Maybe for
swsusp/plaform (== ACPI S4).
But I'd prefer the hook to go away for now, it clearly needs
infrastructure that is not yet there, and provides nothing.
Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
Hi!
> > Yes, but it is needed. There are many drivers, and they look at
> > numerical value of PMSG_*. I'm proceeding in steps. I hopefully killed
> > all direct accesses to the constants, and will switch constants to
> > something else... But that is going to be tommorow (need some sleep).
> The patches are going to acquire correct PCI device sleep state for
> suspend/resume. We discussed the issue several months ago. My plan is we
> first introduce 'platform_pci_set_power_state', then merge the
> 'platform_pci_choose_state' patch after Pavel's pm_message_t conversion
> finished. Maybe Len mislead my comments.
>
> Anyway for the callback, my intend is platform_pci_choose_state accept
> the pm_message_t parameter, and it return an 'int', since platform
> method possibly failed and then pci_choose_state translate the return
> value to pci_power_t.
You can't just retype around like that. You may want it take
pci_power_t * as an argument, and then return 0/-ENODEV or something
like that. But you can't retype between int and pm_message_t...
Plus that function should have a documentation somewhere!
> > Could you just revert those two patches? First one is very
> > wrong. Second one might be fixed, but... See comments below.
> I think the platform_pci_set_power_state should be ok, did you see it
> causes oops?
No its just ugly and uses __force in "creative" way. That one can be
recovered.
Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
Hi!
> Will this do it for the moment?
Its certainly better.
What about
> > > +static int acpi_pci_set_power_state(struct pci_dev *dev,
> > pci_power_t state)
> > > +{
> > > + acpi_handle handle = DEVICE_ACPI_HANDLE(&dev->dev);
> > > + static int state_conv[] = {
> > > + [0] = 0,
> > > + [1] = 1,
> > > + [2] = 2,
> > > + [3] = 3,
> > > + [4] = 3
> > > + };
> > > + int acpi_state = state_conv[(int __force) state];
...this force? Then platform_pci_choose_state should not be NULL by
default and acpi_pci_choose_state should really have some more
reasonable calling convention.
Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
The following compile error comes from Linus' tree with
CONFIG_IP_ROUTE_MULTIPATH_CACHED=y:
<-- snip -->
...
CC net/ipv4/route.o
net/ipv4/route.c: In function `rt_remove_balanced_route':
net/ipv4/route.c:151: sorry, unimplemented: inlining failed in call to 'compare_keys': function body not available
net/ipv4/route.c:540: sorry, unimplemented: called from here
make[2]: *** [net/ipv4/route.o] Error 1
<-- snip -->
This patch fixes this compile error by moving compare_keys up.
Signed-off-by: Adrian Bunk <[email protected]>
---
net/ipv4/route.c | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
--- linux-2.6.12-rc1-mm1-full/net/ipv4/route.c.old 2005-03-22 13:10:35.000000000 +0100
+++ linux-2.6.12-rc1-mm1-full/net/ipv4/route.c 2005-03-22 13:12:29.000000000 +0100
@@ -148,7 +148,6 @@
static void ipv4_link_failure(struct sk_buff *skb);
static void ip_rt_update_pmtu(struct dst_entry *dst, u32 mtu);
static int rt_garbage_collect(void);
-static inline int compare_keys(struct flowi *fl1, struct flowi *fl2);
static struct dst_ops ipv4_dst_ops = {
@@ -450,6 +449,13 @@
#endif /* CONFIG_PROC_FS */
+static inline int compare_keys(struct flowi *fl1, struct flowi *fl2)
+{
+ return memcmp(&fl1->nl_u.ip4_u, &fl2->nl_u.ip4_u, sizeof(fl1->nl_u.ip4_u)) == 0 &&
+ fl1->oif == fl2->oif &&
+ fl1->iif == fl2->iif;
+}
+
static __inline__ void rt_free(struct rtable *rt)
{
multipath_remove(rt);
@@ -858,13 +864,6 @@
out: return 0;
}
-static inline int compare_keys(struct flowi *fl1, struct flowi *fl2)
-{
- return memcmp(&fl1->nl_u.ip4_u, &fl2->nl_u.ip4_u, sizeof(fl1->nl_u.ip4_u)) == 0 &&
- fl1->oif == fl2->oif &&
- fl1->iif == fl2->iif;
-}
-
static int rt_intern_hash(unsigned hash, struct rtable *rt, struct rtable **rp)
{
struct rtable *rth, **rthp;
Hi!
> to Linus when he reappears and then I'll duck for cover and let you guys
> sort it out ;)
There should be little reason for taking cover, that patches were just
anotating types... BTW this is how switch to pm_message_t is going to
look. If you are developing something pm-related, you should probably
do it against this tree.
Pavel
--- clean/drivers/base/power/resume.c 2004-12-25 13:34:59.000000000 +0100
+++ linux/drivers/base/power/resume.c 2005-03-22 12:20:53.000000000 +0100
@@ -41,7 +41,7 @@
list_add_tail(entry, &dpm_active);
up(&dpm_list_sem);
- if (!dev->power.prev_state)
+ if (!dev->power.prev_state.event)
resume_device(dev);
down(&dpm_list_sem);
put_device(dev);
--- clean/drivers/base/power/runtime.c 2005-01-12 11:07:39.000000000 +0100
+++ linux/drivers/base/power/runtime.c 2005-03-22 12:20:53.000000000 +0100
@@ -13,10 +13,10 @@
static void runtime_resume(struct device * dev)
{
dev_dbg(dev, "resuming\n");
- if (!dev->power.power_state)
+ if (!dev->power.power_state.event)
return;
if (!resume_device(dev))
- dev->power.power_state = 0;
+ dev->power.power_state = PMSG_ON;
}
@@ -49,10 +49,10 @@
int error = 0;
down(&dpm_sem);
- if (dev->power.power_state == state)
+ if (dev->power.power_state.event == state.event)
goto Done;
- if (dev->power.power_state)
+ if (dev->power.power_state.event)
runtime_resume(dev);
if (!(error = suspend_device(dev, state)))
--- clean/drivers/base/power/shutdown.c 2004-08-15 19:14:55.000000000 +0200
+++ linux/drivers/base/power/shutdown.c 2005-03-22 12:20:53.000000000 +0100
@@ -29,7 +29,8 @@
dev->driver->shutdown(dev);
return 0;
}
- return dpm_runtime_suspend(dev, dev->detach_state);
+ /* FIXME */
+ return dpm_runtime_suspend(dev, PMSG_FREEZE);
}
--- clean/drivers/base/power/suspend.c 2005-01-12 11:07:39.000000000 +0100
+++ linux/drivers/base/power/suspend.c 2005-03-22 12:20:53.000000000 +0100
@@ -43,7 +43,7 @@
dev->power.prev_state = dev->power.power_state;
- if (dev->bus && dev->bus->suspend && !dev->power.power_state)
+ if (dev->bus && dev->bus->suspend && (!dev->power.power_state.event))
error = dev->bus->suspend(dev, state);
return error;
--- clean/drivers/base/power/sysfs.c 2004-08-15 19:14:55.000000000 +0200
+++ linux/drivers/base/power/sysfs.c 2005-03-22 12:20:53.000000000 +0100
@@ -26,19 +26,20 @@
static ssize_t state_show(struct device * dev, char * buf)
{
- return sprintf(buf, "%u\n", dev->power.power_state);
+ return sprintf(buf, "%u\n", dev->power.power_state.event);
}
static ssize_t state_store(struct device * dev, const char * buf, size_t n)
{
- u32 state;
+ pm_message_t state;
char * rest;
int error = 0;
- state = simple_strtoul(buf, &rest, 10);
+ state.event = simple_strtoul(buf, &rest, 10);
+// state.flags = PFL_RUNTIME;
if (*rest)
return -EINVAL;
- if (state)
+ if (state.event)
error = dpm_runtime_suspend(dev, state);
else
dpm_runtime_resume(dev);
--- clean/drivers/ide/ide.c 2005-03-19 00:31:23.000000000 +0100
+++ linux/drivers/ide/ide.c 2005-03-22 12:20:53.000000000 +0100
@@ -1390,7 +1390,7 @@
rq.special = &args;
rq.pm = &rqpm;
rqpm.pm_step = ide_pm_state_start_suspend;
- rqpm.pm_state = state;
+ rqpm.pm_state = state.event;
return ide_do_drive_cmd(drive, &rq, ide_wait);
}
@@ -1409,7 +1409,7 @@
rq.special = &args;
rq.pm = &rqpm;
rqpm.pm_step = ide_pm_state_start_resume;
- rqpm.pm_state = 0;
+ rqpm.pm_state = PM_EVENT_ON;
return ide_do_drive_cmd(drive, &rq, ide_head_wait);
}
--- clean/drivers/pci/pci.c 2005-03-19 00:31:43.000000000 +0100
+++ linux/drivers/pci/pci.c 2005-03-22 12:20:53.000000000 +0100
@@ -312,22 +312,24 @@
/**
* pci_choose_state - Choose the power state of a PCI device
* @dev: PCI device to be suspended
- * @state: target sleep state for the whole system
+ * @state: target sleep state for the whole system. This is the value
+ * that is passed to suspend() function.
*
* Returns PCI power state suitable for given device and given system
* message.
*/
-pci_power_t pci_choose_state(struct pci_dev *dev, u32 state)
+pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state)
{
- if (!pci_find_capability(dev, PCI_CAP_ID_PM))
+ switch (state.event) {
+ case PM_EVENT_ON:
return PCI_D0;
-
- switch (state) {
- case 0: return PCI_D0;
- case 2: return PCI_D2;
- case 3: return PCI_D3hot;
- default: BUG();
+ case PM_EVENT_FREEZE:
+ case PM_EVENT_SUSPEND:
+ return PCI_D3hot;
+ default:
+ printk("They asked me for state %d\n", state.event);
+ BUG();
}
return PCI_D0;
}
--- clean/drivers/usb/core/hcd-pci.c 2005-03-19 00:31:51.000000000 +0100
+++ linux/drivers/usb/core/hcd-pci.c 2005-03-22 12:20:53.000000000 +0100
@@ -68,7 +68,7 @@
if (pci_enable_device (dev) < 0)
return -ENODEV;
dev->current_state = 0;
- dev->dev.power.power_state = 0;
+ dev->dev.power.power_state.event = 0;
if (!dev->irq) {
dev_err (&dev->dev,
@@ -291,9 +294,6 @@
break;
}
- /* update power_state **ONLY** to make sysfs happier */
- if (retval == 0)
- dev->dev.power.power_state = state;
return retval;
}
EXPORT_SYMBOL (usb_hcd_pci_suspend);
--- clean/drivers/usb/core/hub.c 2005-03-19 00:31:51.000000000 +0100
+++ linux/drivers/usb/core/hub.c 2005-03-22 12:20:53.000000000 +0100
@@ -1557,7 +1557,7 @@
struct usb_driver *driver;
intf = udev->actconfig->interface[i];
- if (state <= intf->dev.power.power_state)
+ if (state.event <= intf->dev.power.power_state.event)
continue;
if (!intf->dev.driver)
continue;
@@ -1565,11 +1565,11 @@
if (driver->suspend) {
status = driver->suspend(intf, state);
- if (intf->dev.power.power_state != state
+ if (intf->dev.power.power_state.event != state.event
|| status)
dev_err(&intf->dev,
"suspend %d fail, code %d\n",
- state, status);
+ state.event, status);
}
/* only drivers with suspend() can ever resume();
@@ -1582,7 +1582,7 @@
* since we know every driver's probe/disconnect works
* even for drivers that can't suspend.
*/
- if (!driver->suspend || state > PM_SUSPEND_MEM) {
+ if (!driver->suspend || state.event > PM_EVENT_FREEZE) {
#if 1
dev_warn(&intf->dev, "resume is unsafe!\n");
#else
@@ -1603,7 +1603,7 @@
* policies (when HNP doesn't apply) once we have mechanisms to
* turn power back on! (Likely not before 2.7...)
*/
- if (state > PM_SUSPEND_MEM) {
+ if (state.event > PM_EVENT_FREEZE) {
dev_warn(&udev->dev, "no poweroff yet, suspending instead\n");
}
@@ -1718,7 +1718,7 @@
struct usb_driver *driver;
intf = udev->actconfig->interface[i];
- if (intf->dev.power.power_state == PM_SUSPEND_ON)
+ if (intf->dev.power.power_state.event == PM_EVENT_ON)
continue;
if (!intf->dev.driver) {
/* FIXME maybe force to alt 0 */
@@ -1732,11 +1732,11 @@
/* can we do better than just logging errors? */
status = driver->resume(intf);
- if (intf->dev.power.power_state != PM_SUSPEND_ON
+ if (intf->dev.power.power_state.event != PM_EVENT_ON
|| status)
dev_dbg(&intf->dev,
"resume fail, state %d code %d\n",
- intf->dev.power.power_state, status);
+ intf->dev.power.power_state.event, status);
}
status = 0;
@@ -1917,7 +1917,7 @@
unsigned port1;
int status;
- if (intf->dev.power.power_state == PM_SUSPEND_ON)
+ if (intf->dev.power.power_state.event == PM_EVENT_ON)
return 0;
for (port1 = 1; port1 <= hdev->maxchild; port1++) {
--- clean/drivers/usb/core/usb.c 2005-03-19 00:31:51.000000000 +0100
+++ linux/drivers/usb/core/usb.c 2005-03-22 12:20:53.000000000 +0100
@@ -1367,7 +1367,7 @@
driver = to_usb_driver(dev->driver);
/* there's only one USB suspend state */
- if (intf->dev.power.power_state)
+ if (intf->dev.power.power_state.event)
return 0;
if (driver->suspend)
--- clean/drivers/usb/host/ehci-dbg.c 2005-01-12 11:07:40.000000000 +0100
+++ linux/drivers/usb/host/ehci-dbg.c 2005-03-22 12:20:53.000000000 +0100
@@ -641,7 +641,7 @@
spin_lock_irqsave (&ehci->lock, flags);
- if (bus->controller->power.power_state) {
+ if (bus->controller->power.power_state.event) {
size = scnprintf (next, size,
"bus %s, device %s (driver " DRIVER_VERSION ")\n"
"SUSPENDED (no register access)\n",
--- clean/drivers/usb/host/ohci-dbg.c 2005-03-19 00:31:53.000000000 +0100
+++ linux/drivers/usb/host/ohci-dbg.c 2005-03-22 12:20:53.000000000 +0100
@@ -625,7 +625,7 @@
hcd->self.controller->bus_id,
hcd_name);
- if (bus->controller->power.power_state) {
+ if (bus->controller->power.power_state.event) {
size -= scnprintf (next, size,
"SUSPENDED (no register access)\n");
goto done;
--- clean/drivers/usb/host/sl811-hcd.c 2005-03-19 00:31:53.000000000 +0100
+++ linux/drivers/usb/host/sl811-hcd.c 2005-03-22 12:20:53.000000000 +0100
@@ -1781,9 +1781,9 @@
if (phase != SUSPEND_POWER_DOWN)
return retval;
- if (state <= PM_SUSPEND_MEM)
+ if (state.event == PM_EVENT_FREEZE)
retval = sl811h_hub_suspend(hcd);
- else
+ else if (state.event == PM_EVENT_SUSPEND)
port_power(sl811, 0);
if (retval == 0)
dev->power.power_state = state;
@@ -1802,14 +1802,14 @@
/* with no "check to see if VBUS is still powered" board hook,
* let's assume it'd only be powered to enable remote wakeup.
*/
- if (dev->power.power_state > PM_SUSPEND_MEM
+ if (dev->power.power_state.event == PM_EVENT_SUSPEND
|| !hcd->can_wakeup) {
sl811->port1 = 0;
port_power(sl811, 1);
return 0;
}
- dev->power.power_state = PM_SUSPEND_ON;
+ dev->power.power_state = PMSG_ON;
return sl811h_hub_resume(hcd);
}
--- clean/drivers/video/aty/atyfb_base.c 2005-03-19 00:31:59.000000000 +0100
+++ linux/drivers/video/aty/atyfb_base.c 2005-03-22 12:20:53.000000000 +0100
@@ -2070,12 +2070,12 @@
struct fb_info *info = pci_get_drvdata(pdev);
struct atyfb_par *par = (struct atyfb_par *) info->par;
- if (pdev->dev.power.power_state == 0)
+ if (pdev->dev.power.power_state.event == PM_EVENT_ON)
return 0;
acquire_console_sem();
- if (pdev->dev.power.power_state == 2)
+ if (pdev->dev.power.power_state.event == 2)
aty_power_mgmt(0, par);
par->asleep = 0;
--- clean/drivers/video/aty/radeon_pm.c 2005-03-19 00:31:59.000000000 +0100
+++ linux/drivers/video/aty/radeon_pm.c 2005-03-22 12:20:53.000000000 +0100
@@ -2519,33 +2519,26 @@
}
-static/*extern*/ int susdisking = 0;
-
-int radeonfb_pci_suspend(struct pci_dev *pdev, u32 state)
+int radeonfb_pci_suspend(struct pci_dev *pdev, pm_message_t state)
{
struct fb_info *info = pci_get_drvdata(pdev);
struct radeonfb_info *rinfo = info->par;
u8 agp;
int i;
- if (state == pdev->dev.power.power_state)
+ if (state.event == pdev->dev.power.power_state.event)
return 0;
printk(KERN_DEBUG "radeonfb (%s): suspending to state: %d...\n",
- pci_name(pdev), state);
+ pci_name(pdev), state.event);
/* For suspend-to-disk, we cheat here. We don't suspend anything and
* let fbcon continue drawing until we are all set. That shouldn't
* really cause any problem at this point, provided that the wakeup
* code knows that any state in memory may not match the HW
*/
- if (state != PM_SUSPEND_MEM)
- goto done;
- if (susdisking) {
- printk("radeonfb (%s): suspending to disk but state = %d\n",
- pci_name(pdev), state);
+ if (state.event == PM_EVENT_FREEZE)
goto done;
- }
acquire_console_sem();
@@ -2637,7 +2630,7 @@
struct radeonfb_info *rinfo = info->par;
int rc = 0;
- if (pdev->dev.power.power_state == 0)
+ if (pdev->dev.power.power_state.event == PM_EVENT_ON)
return 0;
if (rinfo->no_schedule) {
@@ -2647,7 +2640,7 @@
acquire_console_sem();
printk(KERN_DEBUG "radeonfb (%s): resuming from state: %d...\n",
- pci_name(pdev), pdev->dev.power.power_state);
+ pci_name(pdev), pdev->dev.power.power_state.event);
if (pci_enable_device(pdev)) {
@@ -2658,7 +2651,7 @@
}
pci_set_master(pdev);
- if (pdev->dev.power.power_state == PM_SUSPEND_MEM) {
+ if (pdev->dev.power.power_state.event == PM_EVENT_SUSPEND) {
/* Wakeup chip. Check from config space if we were powered off
* (todo: additionally, check CLK_PIN_CNTL too)
*/
--- clean/drivers/video/i810/i810_main.c 2005-03-19 00:32:00.000000000 +0100
+++ linux/drivers/video/i810/i810_main.c 2005-03-22 12:20:53.000000000 +0100
@@ -1492,18 +1492,18 @@
/***********************************************************************
* Power Management *
***********************************************************************/
-static int i810fb_suspend(struct pci_dev *dev, u32 state)
+static int i810fb_suspend(struct pci_dev *dev, pm_message_t state)
{
struct fb_info *info = pci_get_drvdata(dev);
struct i810fb_par *par = (struct i810fb_par *) info->par;
int blank = 0, prev_state = par->cur_state;
- if (state == prev_state)
+ if (state.event == prev_state)
return 0;
- par->cur_state = state;
+ par->cur_state = state.event;
- switch (state) {
+ switch (state.event) {
case 1:
blank = VESA_VSYNC_SUSPEND;
break;
@@ -1524,7 +1524,7 @@
pci_disable_device(dev);
}
pci_save_state(dev);
- pci_set_power_state(dev, state);
+ pci_set_power_state(dev, pci_choose_state(dev, state));
return 0;
}
--- clean/include/linux/pm.h 2005-03-19 00:32:25.000000000 +0100
+++ linux/include/linux/pm.h 2005-03-22 12:25:54.000000000 +0100
@@ -185,7 +185,10 @@
struct device;
-typedef u32 __bitwise pm_message_t;
+typedef struct pm_message {
+ int event;
+ int flags;
+} pm_message_t;
/*
* There are 4 important states driver can be in:
@@ -205,9 +208,15 @@
* or something similar soon.
*/
-#define PMSG_FREEZE ((__force pm_message_t) 3)
-#define PMSG_SUSPEND ((__force pm_message_t) 3)
-#define PMSG_ON ((__force pm_message_t) 0)
+#define PM_EVENT_ON 0
+#define PM_EVENT_FREEZE 1
+#define PM_EVENT_SUSPEND 2
+
+#define PFL_RUNTIME 1
+
+#define PMSG_FREEZE ({struct pm_message m; m.event = PM_EVENT_FREEZE; m.flags = 0; m; })
+#define PMSG_SUSPEND ({struct pm_message m; m.event = PM_EVENT_SUSPEND; m.flags = 0; m; })
+#define PMSG_ON ({struct pm_message m; m.event = PM_EVENT_ON; m.flags = 0; m; })
struct dev_pm_info {
pm_message_t power_state;
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
On Mon, Mar 21, 2005 at 02:51:59AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.11-mm4:
>...
> bk-netdev.patch
>...
> Latest versions of various bk trees
>...
The stack usage in some files under drivers/net/wireless/hostap/ is
too high.
drivers/net/wireless/hostap/hostap_ioctl.c:
prism2_ioctl_giwaplist:
struct sockaddr addr[IW_MAX_AP];
struct iw_quality qual[IW_MAX_AP];
64 * (16 + 4) Bytes = 1280 Bytes
prism2_ioctl_ethtool:
struct ethtool_drvinfo info = { ETHTOOL_GDRVINFO };
196 Bytes
__prism2_translate_scan:
char buf[MAX_WPA_IE_LEN * 2 + 30];
(64 * 2) + 30 Bytes = 158 Bytes
drivers/net/wireless/hostap/hostap_cs.c:
prism2_config:
cisparse_t parse;
u_char buf[64];
config_info_t conf;
The main offender seems to be "parse" (but I'm too lame counting how
many bytes it's exactly) resulting in nearly 1 kB stack usage.
drivers/net/wireless/hostap/hostap_plx.c:
prism2_plx_check_cis:
#define CIS_MAX_LEN 256
u8 cis[CIS_MAX_LEN];
256 Bytes
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
On Tuesday, March 22, 2005 1:18 am, Adrian Bunk wrote:
> On Mon, Mar 21, 2005 at 04:42:00PM -0800, Jesse Barnes wrote:
> > On Monday, March 21, 2005 12:25 pm, Adrian Bunk wrote:
> > > On Mon, Mar 21, 2005 at 09:15:53AM -0800, Jesse Barnes wrote:
> > > > On Monday, March 21, 2005 2:51 am, Andrew Morton wrote:
> > > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.1
> > > > >2-rc 1/2. 6.12-rc1-mm1/
> > > >
> > > > Andrew, please drop
> > > >
> > > > revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functi
> > > >ons. patch
> > > >
> > > > The tiocx.c driver is now in the tree, and it uses those functions.
> > >
> > > IOW:
> > > The EXPORT_SYMBOL's should still be removed, but the functions
> > > themselves should stay.
> >
> > Actually, no, since tiocx can be built modular. The patch should just be
> > dropped.
>
> ???
>
> config SGI_TIOCX
> bool "SGI TIO CX driver support"
Hm, ok. I just looked at the Makefile and iirc some old versions of the patch
allowed it modular...
Jesse
Hi Hans,
REISER4_FS is the only option with a dependency on !4KSTACKS which is
bad since 8 kB stacks on i386 won't stay forever.
Could fix the problems with 4 kB stacks?
Running
make checkstacks | grep reiser4
inside te kernel sources after compiling gives you hints where problems
might come from.
TIA
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
Adrian Bunk wrote:
>Hi Hans,
>
>REISER4_FS is the only option with a dependency on !4KSTACKS which is
>bad since 8 kB stacks on i386 won't stay forever.
>
>Could fix the problems with 4 kB stacks?
>
>Running
>
> make checkstacks | grep reiser4
>
>inside te kernel sources after compiling gives you hints where problems
>might come from.
>
>
>TIA
>Adrian
>
>
>
All of my technical arguments on this topic were nicely obliterated by
Andrew. The only real reason remaining (that I know of) is that I want
to first eliminate all things which are a barrier to inclusion before
dealing with this because it requires man hours to fix it. If you want
to send us a cleanup patch that fixes it, I would be grateful for your
time donatioin.
Hans
On Tue, 2005-03-22 at 18:13 +0100, Adrian Bunk wrote:
> Hi Hans,
>
> REISER4_FS is the only option with a dependency on !4KSTACKS which is
> bad since 8 kB stacks on i386 won't stay forever.
>
> Could fix the problems with 4 kB stacks?
I'd be interested to find out what the problem is as well; after all
even with 8Kb stacks your net available stack is somewhere in the 5Kb
range anyway... so you're really close to the edge there.
On Tue, 22 March 2005 18:13:40 +0100, Adrian Bunk wrote:
>
> REISER4_FS is the only option with a dependency on !4KSTACKS which is
> bad since 8 kB stacks on i386 won't stay forever.
>
> Could fix the problems with 4 kB stacks?
>
> Running
>
> make checkstacks | grep reiser4
>
> inside te kernel sources after compiling gives you hints where problems
> might come from.
Actually, I've run the Big Ol' checkstack program on reiser4 once.
Without recursions, the code is well below 3k, but some of the
recursions look a bit daunting. Here is the relevant output:
WARNING: recursion detected:
8 jload_gfp
36 eflush_del
24 eflush_free
36 ef_free_block
0 reiser4_dealloc_block
28 reiser4_dealloc_blocks
0 sa_dealloc_blocks
32 dealloc_blocks_bitmap
36 load_and_lock_bnode
20 prepare_bnode
WARNING: recursion detected:
8 zload
16 zload_ra
68 formatted_readahead
0 reiser4_get_right_neighbor
264 reiser4_get_neighbor
108 renew_neighbor
44 renew_sibling_link
48 far_next_coord
WARNING: recursion detected:
32 reiser4_grab_space
12 txnmgr_force_commit_all
0 force_commit_atom_nolock
4 txn_restart_current
8 txn_restart
8 txn_end
36 commit_txnh
16 try_commit_txnh
28 commit_current_atom
24 flush_current_atom
404 jnode_flush
88 alloc_pos_and_ancestors
96 alloc_one_ancestor
20 allocate_znode
32 allocate_znode_loaded
84 allocate_znode_update
0 reiser4_alloc_block
24 reiser4_alloc_blocks
stackframes for call path too long (2808):
size function
460 rename_hashed
112 safe_link_add
108 store_black_box
52 insert_by_key
224 coord_by_key
60 handle_eottl
124 carry
88 lock_carry_node
72 add_tree_root
8 zload
16 zload_ra
68 formatted_readahead
264 reiser4_get_neighbor
0 reiser4_get_parent
28 reiser4_get_parent_flags
8 longterm_unlock_znode
20 forget_znode
8 uncapture_page
36 eflush_del
24 eflush_free
28 reiser4_dealloc_blocks
32 dealloc_blocks_bitmap
20 jinit_new
20 jnode_get_page_locked
16 find_or_create_page
24 add_to_page_cache_lru
24 add_to_page_cache
8 radix_tree_preload
12 kmem_cache_alloc
52 __alloc_pages
8 out_of_memory
8 mmput
16 exit_aio
20 __put_ioctx
40 do_munmap
36 split_vma
40 vma_adjust
8 fput
8 __fput
208 locks_remove_flock
20 lease_modify
16 panic
8 bust_spinlocks
4 unblank_screen
24 do_unblank_screen
20 redraw_screen
16 clear_selection
24 invert_screen
8 printk
100 vprintk
20 vscnprintf
40 vsnprintf
100 number
J?rn
--
People will accept your ideas much more readily if you tell them
that Benjamin Franklin said it first.
-- unknown
On Tue, 22 March 2005 19:56:05 +0100, J?rn Engel wrote:
>
> stackframes for call path too long (2808):
Maybe I should change the output. "too long" simply means "user gave
a stack limit below this value". 2808 bytes is the most expensive
path for reiser4 without recursion, so my limit was 2800. ;)
J?rn
--
When people work hard for you for a pat on the back, you've got
to give them that pat.
-- Robert Heinlein
On Tue, Mar 22, 2005 at 07:56:05PM +0100, J?rn Engel wrote:
> On Tue, 22 March 2005 18:13:40 +0100, Adrian Bunk wrote:
> >
> > REISER4_FS is the only option with a dependency on !4KSTACKS which is
> > bad since 8 kB stacks on i386 won't stay forever.
> >
> > Could fix the problems with 4 kB stacks?
> >
> > Running
> >
> > make checkstacks | grep reiser4
> >
> > inside te kernel sources after compiling gives you hints where problems
> > might come from.
>
> Actually, I've run the Big Ol' checkstack program on reiser4 once.
> Without recursions, the code is well below 3k, but some of the
> recursions look a bit daunting. Here is the relevant output:
>...
> 404 jnode_flush
>...
> 460 rename_hashed
>...
> 224 coord_by_key
>...
These would have been missed by the grep I suggested due to the missing
reiser4_ prefix.
> 208 locks_remove_flock
>...
That seems to be a generic issue in fs/locks.c .
It seems this is the "struct file_lock fl"?
> J?rn
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
On Tue, Mar 22, 2005 at 09:50:14AM -0800, Hans Reiser wrote:
> All of my technical arguments on this topic were nicely obliterated by
> Andrew. The only real reason remaining (that I know of) is that I want
> to first eliminate all things which are a barrier to inclusion before
> dealing with this because it requires man hours to fix it. If you want
> to send us a cleanup patch that fixes it, I would be grateful for your
> time donatioin.
My plan is to send a patch to Andrew that unconditionally enables
4KSTACKS for shaking out the last bugs before possibly removing
8 kB stacks completely.
I don't know whether this is barrier to inclusion, but this will make
reiser4 unavailable on i386...
> Hans
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
[ Pruned Hans&co from Cc: list]
On Tue, 22 March 2005 20:21:22 +0100, Adrian Bunk wrote:
>
> My plan is to send a patch to Andrew that unconditionally enables
> 4KSTACKS for shaking out the last bugs before possibly removing
> 8 kB stacks completely.
In that case you might find this output relevant. It was generated
for 2.6.11 (no -mm).
Without recursions I cannot find a single code path chewing up 3k or
more, so any bugs will likely be somewhere in this list.
WARNING: trivial recursion detected:
120 find_in_devfs
WARNING: trivial recursion detected:
0 apm_console_blank
WARNING: trivial recursion detected:
0 unregister_proc_table
WARNING: trivial recursion detected:
0 register_proc_table
WARNING: recursion detected:
0 handle_stop_signal
128 do_notify_parent_cldstop
0 __group_send_sig_info
WARNING: trivial recursion detected:
12 __vmalloc
WARNING: trivial recursion detected:
0 blkdev_put
WARNING: trivial recursion detected:
28 remove_tree
WARNING: trivial recursion detected:
20 find_tree_dqentry
WARNING: trivial recursion detected:
36 do_insert_tree
WARNING: recursion detected:
16 affs_get_extblock_slow
0 affs_get_extblock
WARNING: trivial recursion detected:
12 _devfs_walk_path
WARNING: trivial recursion detected:
20 _devfs_unregister
WARNING: trivial recursion detected:
20 ext2_free_branches
WARNING: trivial recursion detected:
24 ext3_free_branches
WARNING: trivial recursion detected:
48 vxfs_bmap_indir
WARNING: trivial recursion detected:
28 jffs_print_tree
WARNING: trivial recursion detected:
48 dbAdjCtl
WARNING: recursion detected:
0 lmGCwrite
16 lbmWrite
16 lbmStartIO
16 lbmIODone
12 lmPostGC
WARNING: recursion detected:
16 lbmWrite
16 lbmStartIO
16 lbmIODone
12 lmPostGC
WARNING: trivial recursion detected:
12 free_branches
WARNING: trivial recursion detected:
12 free_branches
WARNING: recursion detected:
0 unhash_stateowner
0 release_stateid
0 release_stateid_lockowner
0 release_stateowner
WARNING: trivial recursion detected:
44 __ntfs_bitmap_set_bits_in_run
WARNING: trivial recursion detected:
60 __ntfs_cluster_free
WARNING: recursion detected:
0 journal_join
60 do_journal_begin_r
WARNING: recursion detected:
28 flush_commit_list
12 flush_older_commits
WARNING: recursion detected:
40 flush_journal_list
0 flush_older_journal_lists
WARNING: trivial recursion detected:
16 free_branches
WARNING: trivial recursion detected:
40 __udf_read_inode
WARNING: trivial recursion detected:
16 udf_load_logicalvolint
WARNING: trivial recursion detected:
44 xfs_attr_node_inactive
WARNING: trivial recursion detected:
24 xfs_bmap_count_tree
WARNING: recursion detected:
56 xfs_map_unwritten
60 xfs_convert_page
WARNING: trivial recursion detected:
44 qsort
WARNING: trivial recursion detected:
20 acpi_os_derive_pci_id_2
WARNING: trivial recursion detected:
32 acpi_ex_dump_operand
WARNING: trivial recursion detected:
0 aligned_kmalloc
WARNING: recursion detected:
0 set_dor
0 floppy_release_irq_and_dma
WARNING: trivial recursion detected:
36 xd_command
WARNING: trivial recursion detected:
80 pkt_make_request
WARNING: recursion detected:
12 read_subcode
12 check_drive_status
WARNING: recursion detected:
448 extract_entropy
0 xfer_secondary_pool
WARNING: recursion detected:
20 ipmi_heartbeat
0 ipmi_set_timeout
WARNING: recursion detected:
16 hd_request
16 reset_hd
WARNING: trivial recursion detected:
60 ide_timing_compute
WARNING: trivial recursion detected:
60 ide_timing_compute
WARNING: trivial recursion detected:
60 ide_timing_compute
WARNING: trivial recursion detected:
332 idetape_space_over_filemarks
WARNING: trivial recursion detected:
40 nodemgr_process_unit_directory
WARNING: trivial recursion detected:
28 sbp2_parse_unit_directory
WARNING: trivial recursion detected:
16 protocol_message_2_pars
WARNING: trivial recursion detected:
16 pars_2_message
WARNING: trivial recursion detected:
0 message_2_pars
WARNING: recursion detected:
0 plci_remove
0 plci_remove_check
0 CodecIdCheck
WARNING: recursion detected:
24 Amd7930_new_ph
0 Amd7930_get_state
WARNING: trivial recursion detected:
12 isdn_net_realrm
WARNING: trivial recursion detected:
112 isdn_net_hangup
WARNING: recursion detected:
52 isdn_tty_modem_result
116 isdn_tty_cmd_ATA
WARNING: recursion detected:
0 isdn_wildmat
0 isdn_star
WARNING: trivial recursion detected:
112 icn_stopcard
WARNING: trivial recursion detected:
76 linear_make_request
WARNING: trivial recursion detected:
76 raid0_make_request
WARNING: trivial recursion detected:
88 make_request
WARNING: trivial recursion detected:
132 cinergyt2_ioctl
WARNING: trivial recursion detected:
60 dib3000mb_set_frontend
WARNING: trivial recursion detected:
64 dib3000mc_set_frontend
WARNING: trivial recursion detected:
28 write_ipack
WARNING: trivial recursion detected:
12 av7110_ipack_instant_repack
WARNING: trivial recursion detected:
24 do_command
WARNING: trivial recursion detected:
0 i2o_proc_subdir_remove
WARNING: recursion detected:
0 exec_next_command
0 do_exec_command
WARNING: trivial recursion detected:
48 newpart
WARNING: trivial recursion detected:
128 put_chip
WARNING: trivial recursion detected:
500 get_chip
WARNING: trivial recursion detected:
36 check_sig
WARNING: multiple recursions around check_sig()
WARNING: recursion detected:
36 check_sig
0 smc91c92_event
504 smc91c92_config
WARNING: recursion detected:
0 tms380tr_exec_cmd
0 tms380tr_chk_outstanding_cmds
WARNING: recursion detected:
12 smctr_status_chg
0 smctr_open_tr
WARNING: trivial recursion detected:
28 dc2114x_autoconf
WARNING: trivial recursion detected:
32 dc21140m_autoconf
WARNING: trivial recursion detected:
16 dc21041_autoconf
WARNING: trivial recursion detected:
20 dc21040_autoconf
WARNING: trivial recursion detected:
0 mgt_le_to_cpu
WARNING: trivial recursion detected:
0 mgt_cpu_to_le
WARNING: recursion detected:
28 i596_add_cmd
0 i596_reset
20 init_i596_mem
WARNING: recursion detected:
0 i596_add_cmd
0 i596_reset
0 init_i596
WARNING: trivial recursion detected:
24 parport_daisy_init
WARNING: trivial recursion detected:
0 pci_enable_bridges
WARNING: trivial recursion detected:
0 pci_bus_add_devices
WARNING: trivial recursion detected:
0 pci_bus_max_busnr
WARNING: trivial recursion detected:
0 pci_do_find_bus
WARNING: recursion detected:
36 configure_new_device
112 configure_new_function
WARNING: trivial recursion detected:
28 cpqhp_valid_replace
WARNING: trivial recursion detected:
36 cpqhp_save_config
WARNING: trivial recursion detected:
28 cpqhp_save_base_addr_length
WARNING: trivial recursion detected:
24 cpqhp_configure_board
WARNING: trivial recursion detected:
84 ibmphp_configure_card
WARNING: trivial recursion detected:
0 ibmphp_remove_resource
WARNING: recursion detected:
268 configure_new_device
372 configure_new_function
WARNING: trivial recursion detected:
264 shpchp_save_config
WARNING: trivial recursion detected:
0 shpchprm_free_bridges
WARNING: trivial recursion detected:
28 print_acpi_resources
WARNING: trivial recursion detected:
0 get_number_of_slots
WARNING: trivial recursion detected:
0 get_acpi_slot
WARNING: trivial recursion detected:
0 find_acpi_bridge_by_bus
WARNING: trivial recursion detected:
0 pci_rescan_buses
WARNING: trivial recursion detected:
16 disable_slot
WARNING: trivial recursion detected:
0 pci_bus_size_bridges
WARNING: trivial recursion detected:
12 pci_bus_assign_resources
WARNING: trivial recursion detected:
0 cardbus_assign_irqs
WARNING: trivial recursion detected:
0 inv_probe
WARNING: recursion detected:
0 qla1280_rst_aen
0 qla1280_marker
0 qla1280_req_pkt
0 qla1280_poll
WARNING: recursion detected:
0 qla1280_marker
0 qla1280_req_pkt
0 qla1280_poll
0 qla1280_done
WARNING: recursion detected:
24 gdth_next
0 gdth_wait
12 gdth_interrupt
WARNING: recursion detected:
0 wait_tulip
0 int_tul_resel
WARNING: recursion detected:
12 ipr_initiate_ioa_reset
0 _ipr_initiate_ioa_reset
20 ipr_reset_ioa_job
WARNING: trivial recursion detected:
64 st_int_ioctl
WARNING: recursion detected:
36 osst_wait_ready
24 osst_write_error_recovery
32 osst_set_frame_position
WARNING: trivial recursion detected:
0 usb_audio_recurseunit
WARNING: recursion detected:
16 usb_audio_selectorunit
0 usb_audio_recurseunit
0 usb_audio_recurseunit
WARNING: multiple recursions around usb_audio_recurseunit()
WARNING: recursion detected:
0 usb_audio_recurseunit
0 usb_audio_processingunit
WARNING: trivial recursion detected:
20 match_device
WARNING: trivial recursion detected:
16 usb_disconnect
WARNING: trivial recursion detected:
0 recursively_mark_NOTATTACHED
WARNING: trivial recursion detected:
0 locktree
WARNING: trivial recursion detected:
48 usb_device_dump
WARNING: recursion detected:
0 start_unlink_async
0 end_unlink_async
WARNING: recursion detected:
0 unlink_async
0 start_unlink_async
0 end_unlink_async
44 qh_completions
WARNING: trivial recursion detected:
40 uhci_show_qh
WARNING: trivial recursion detected:
12 read_frame
WARNING: trivial recursion detected:
0 auerchain_complete
WARNING: recursion detected:
28 auerswald_ctrlread_complete
28 auerswald_ctrlread_wretcomplete
WARNING: trivial recursion detected:
12 change_mode
WARNING: trivial recursion detected:
36 fbcon_bmove_rec
WARNING: recursion detected:
0 fbcon_set_origin
16 fbcon_scrolldelta
28 fbcon_cursor
WARNING: recursion detected:
16 wait_ring
0 do_flush
WARNING: trivial recursion detected:
0 snd_pcm_trigger_tstamp
WARNING: recursion detected:
12 snd_seq_deliver_single_event
32 bounce_error_event
WARNING: trivial recursion detected:
12 step_envelope
WARNING: trivial recursion detected:
0 pas_mixer_set
WARNING: recursion detected:
32 timer_ext_event
0 stop_metronome
0 mpu_cmd
20 mpu401_command
16 mpu_input_scanner
WARNING: trivial recursion detected:
0 ac97_scale_to_oss_val
WARNING: trivial recursion detected:
0 ac97_scale_from_oss_val
WARNING: recursion detected:
0 dsp_full_reset
0 initialize
24 mixer_setup
0 chk_send_dsp_cmd
WARNING: recursion detected:
0 dsp_full_reset
0 initialize
28 mixer_setup
0 chk_send_dsp_cmd
WARNING: recursion detected:
0 set_recsrc
0 chk_send_dsp_cmd
0 dsp_full_reset
0 force_recsrc
WARNING: trivial recursion detected:
20 search_zones
WARNING: recursion detected:
0 snd_usb_create_quirk
0 create_composite_quirk
WARNING: trivial recursion detected:
0 check_input_term
WARNING: recursion detected:
0 parse_audio_unit
56 parse_audio_selector_unit
WARNING: trivial recursion detected:
12 pcibios_allocate_bus_resources
WARNING: trivial recursion detected:
28 atalk_sum_skb
WARNING: recursion detected:
0 __l2cap_sock_close
0 l2cap_sock_cleanup_listen
0 l2cap_sock_close
WARNING: recursion detected:
0 sco_sock_close
0 sco_sock_cleanup_listen
WARNING: recursion detected:
0 __rfcomm_sock_close
0 rfcomm_sock_cleanup_listen
0 rfcomm_sock_close
WARNING: trivial recursion detected:
28 skb_copy_bits
WARNING: trivial recursion detected:
36 skb_copy_and_csum_bits
WARNING: trivial recursion detected:
32 skb_checksum
WARNING: trivial recursion detected:
28 skb_copy_datagram_iovec
WARNING: trivial recursion detected:
44 skb_copy_and_csum_datagram
WARNING: recursion detected:
12 inetdev_destroy
12 inet_del_ifa
WARNING: trivial recursion detected:
0 ip_vs_sync_conn
WARNING: trivial recursion detected:
196 dump_packet
WARNING: trivial recursion detected:
240 dump_packet
WARNING: trivial recursion detected:
0 irda_task_kick
WARNING: trivial recursion detected:
16 htb_destroy_class
WARNING: trivial recursion detected:
0 atm_tc_put
WARNING: trivial recursion detected:
12 rpc_destroy_client
WARNING: trivial recursion detected:
16 unix_release_sock
WARNING: trivial recursion detected:
52 skb_to_sgvec
WARNING: trivial recursion detected:
48 skb_icv_walk
J?rn
--
Victory in war is not repetitious.
-- Sun Tzu
Lee Revell <rlrevell@xxxxxxxxxxx> wrote:
>
>/ On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:/
>/ > From: bugme-daemon@xxxxxxxx/
>/ > Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel
panic when loading the EMU10K1 driver/
>/ > /
>/ /
>/ This one is a real mystery. No one can reproduce it./
Not quite true. This bug was current till today in Mandrake's kernel,
but with 2.6.11-5mdk they managed to get rid of it.
The problem is not with loading the driver but when alsactl tries to
store/restore mixer settings.
I have tried again with 2.6.12-rc1-mm1 and it is still there (for
example the Gnome won't start due to this).
Below the oops part from messages.
thanks,
Indrek
Mar 22 21:05:21 bedroom alsa: succeeded
Mar 22 21:05:21 bedroom kernel: Unable to handle kernel NULL pointer
dereference at virtual address 0000000c
Mar 22 21:05:21 bedroom kernel: printing eip:
Mar 22 21:05:21 bedroom kernel: dfa929e8
Mar 22 21:05:21 bedroom kernel: *pde = 00000000
Mar 22 21:05:21 bedroom kernel: Oops: 0000 [#1]
Mar 22 21:05:21 bedroom kernel: SMP
Mar 22 21:05:21 bedroom kernel: Modules linked in: snd_pcm_oss
snd_mixer_oss snd_emu10k1 snd_rawmidi snd_seq_device snd_ac97_codec
snd_pcm snd_timer snd_page_alloc snd_util_mem snd_hwdep snd soundcore
af_packet eth1394 e100 mii ide_cd ohci1394 ieee1394 nls_iso8859_15
nls_cp850 vfat fat intel_agp agpgart hw_random emu10k1_gp gameport
ata_piix libata ehci_hcd uhci_hcd usbcore evdev
Mar 22 21:05:21 bedroom kernel: CPU: 0
Mar 22 21:05:21 bedroom kernel: EIP:
0060:[pg0+527297000/1069851648] Not tainted VLI
Mar 22 21:05:21 bedroom kernel: EIP: 0060:[<dfa929e8>] Not tainted VLI
Mar 22 21:05:21 bedroom kernel: EFLAGS: 00010002 (2.6.12-r1m1)
Mar 22 21:05:21 bedroom kernel: EIP is at
snd_emu10k1_efx_send_routing_put+0x98/0xd5 [snd_emu10k1]
Mar 22 21:05:21 bedroom kernel: eax: 00000000 ebx: dd6cb1a8 ecx:
0000000c edx: 00000004
Mar 22 21:05:21 bedroom kernel: esi: 00000004 edi: 00000000 ebp:
dd6ca000 esp: dce73ed4
Mar 22 21:05:21 bedroom kernel: ds: 007b es: 007b ss: 0068
Mar 22 21:05:21 bedroom kernel: Process alsactl (pid: 5019,
threadinfo=dce72000 task=decaa550)
Mar 22 21:05:21 bedroom kernel: Stack: 00000000 00000000 00000000
dd6ca508 0000000f 00000001 00000246 ddc3c14c
Mar 22 21:05:21 bedroom kernel: ddfe9200 de1a0440 ddc3c000
dfa18e30 ddfe9200 de1a0400 00000000 00000000
Mar 22 21:05:21 bedroom kernel: 00000000 ddfe9200 c01b845c
ddfe9200 fffffff3 decc1180 de1a0400 bf886950
Mar 22 21:05:21 bedroom kernel: Call Trace:
Mar 22 21:05:21 bedroom kernel: [pg0+526798384/1069851648]
snd_ctl_elem_write+0x126/0x177 [snd]
Mar 22 21:05:21 bedroom kernel: [<dfa18e30>]
snd_ctl_elem_write+0x126/0x177 [snd]
Mar 22 21:05:21 bedroom kernel: [copy_from_user+70/126]
copy_from_user+0x46/0x7e
Mar 22 21:05:21 bedroom kernel: [<c01b845c>] copy_from_user+0x46/0x7e
Mar 22 21:05:21 bedroom kernel: [pg0+526798563/1069851648]
snd_ctl_elem_write_user+0x62/0xaf [snd]
Mar 22 21:05:21 bedroom kernel: [<dfa18ee3>]
snd_ctl_elem_write_user+0x62/0xaf [snd]
Mar 22 21:05:21 bedroom kernel: [do_ioctl+154/169] do_ioctl+0x9a/0xa9
Mar 22 21:05:21 bedroom kernel: [<c017352a>] do_ioctl+0x9a/0xa9
Mar 22 21:05:21 bedroom kernel: [vfs_ioctl+101/481] vfs_ioctl+0x65/0x1e1
Mar 22 21:05:21 bedroom kernel: [<c01736df>] vfs_ioctl+0x65/0x1e1
Mar 22 21:05:21 bedroom kernel: [sys_ioctl+69/109] sys_ioctl+0x45/0x6d
Mar 22 21:05:21 bedroom kernel: [<c01738a0>] sys_ioctl+0x45/0x6d
Mar 22 21:05:21 bedroom kernel: [sysenter_past_esp+84/117]
sysenter_past_esp+0x54/0x75
Mar 22 21:05:21 bedroom kernel: [<c01030c7>] sysenter_past_esp+0x54/0x75
Mar 22 21:05:21 bedroom kernel: Code: 24 10 23 4c 90 44 0f b6 04 13 39
c8 74 0b 88 0c 13 c7 44 24 14 01 00 00 00 83 c2 01 39 f2 7c da 8b 44 24
14 85 c0 74 0b 8b 43 38 <8b> 44 b8 0c 85 c0 75 19 8b 44 24 0c 8b 54 24
18 e8 c9 3c 83 e0
Adrian Bunk wrote:
>On Tue, Mar 22, 2005 at 09:50:14AM -0800, Hans Reiser wrote:
>
>
>
>>All of my technical arguments on this topic were nicely obliterated by
>>Andrew. The only real reason remaining (that I know of) is that I want
>>to first eliminate all things which are a barrier to inclusion before
>>dealing with this because it requires man hours to fix it. If you want
>>to send us a cleanup patch that fixes it, I would be grateful for your
>>time donatioin.
>>
>>
>
>My plan is to send a patch to Andrew that unconditionally enables
>4KSTACKS for shaking out the last bugs before possibly removing
>8 kB stacks completely.
>
>I don't know whether this is barrier to inclusion, but this will make
>reiser4 unavailable on i386...
>
>
>
>>Hans
>>
>>
>
>cu
>Adrian
>
>
>
Sigh. Could you wait a few weeks until we have done all the other
things, and then I can have Vladimir work with you on it?
Hi,
On Tuesday, 22 of March 2005 12:01, Pavel Machek wrote:
> Hi!
>
> > Will this do it for the moment?
>
> Its certainly better.
With the Len's patch applied I have to unload the modules:
ohci_hcd
ehci_hcd
yenta_socket
before suspend as each of them hangs the box solid during either
suspend or resume. Moreover, when I tried to load the ehci_hcd
module back after resume, it hanged the box solid too.
Greets,
Rafael
--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
(netdev added to cc:)
On Tue, Mar 22, 2005 at 05:33:40PM +0100, Adrian Bunk wrote:
> The stack usage in some files under drivers/net/wireless/hostap/ is
> too high.
Thanks; I'll fix these and submit a patch (or two) after some testing.
> drivers/net/wireless/hostap/hostap_ioctl.c:
>
> prism2_ioctl_giwaplist:
> struct sockaddr addr[IW_MAX_AP];
> struct iw_quality qual[IW_MAX_AP];
>
> 64 * (16 + 4) Bytes = 1280 Bytes
OK.
> prism2_ioctl_ethtool:
> struct ethtool_drvinfo info = { ETHTOOL_GDRVINFO };
>
> 196 Bytes
This seems to be somewhat obsolete now since most drivers have moved to
use get_drvinfo of ethtool_ops; I'll do the same.
> __prism2_translate_scan:
> char buf[MAX_WPA_IE_LEN * 2 + 30];
>
> (64 * 2) + 30 Bytes = 158 Bytes
OK.
> drivers/net/wireless/hostap/hostap_cs.c:
>
> prism2_config:
> cisparse_t parse;
> u_char buf[64];
> config_info_t conf;
>
> The main offender seems to be "parse" (but I'm too lame counting how
> many bytes it's exactly) resulting in nearly 1 kB stack usage.
This is actually very common for PC Card drivers in the current kernel
tree.. I'll change Host AP to kmalloc this, but someone might consider
going through all *_cs.c drivers..
> drivers/net/wireless/hostap/hostap_plx.c:
>
> prism2_plx_check_cis:
> #define CIS_MAX_LEN 256
> u8 cis[CIS_MAX_LEN];
OK.
--
Jouni Malinen PGP id EFC895FA
> Lee Revell <rlrevell@xxxxxxxxxxx> wrote:
> >
> > On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:
> > > From: bugme-daemon@xxxxxxxx
> > > Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel
panic when
> > > loading the EMU10K1 driver
> > >
> > >
> > This one is a real mystery. No one can reproduce it.
> Not quite true. This bug was current till today in Mandrake's kernel,
> but with 2.6.11-5mdk they managed to get rid of it.
> The problem is not with loading the driver but when alsactl tries to
store/restore
> mixer settings.
> I have tried again with 2.6.12-rc1-mm1 and it is still there (for
example the
> Gnome won't start due to this).
> Below the oops part from messages.
uhh...sorry about that noise. I misread your e-mail.
> >/ From: bugme-daemon@xxxxxxxx/
> >/ Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with
Audigy 2 and/
> >/ /
>
> This one is fixed in ALSA CVS. Here is the patch.
I had this problem indeed and of course this patch fixed 2.6.12-rc1-mm1
for me.
Thank you and sorry again,
Indrek
Hi,
On Tuesday, 22 of March 2005 22:49, Rafael J. Wysocki wrote:
> Hi,
>
> On Tuesday, 22 of March 2005 12:01, Pavel Machek wrote:
> > Hi!
> >
> > > Will this do it for the moment?
> >
> > Its certainly better.
>
> With the Len's patch applied I have to unload the modules:
>
> ohci_hcd
> ehci_hcd
> yenta_socket
>
> before suspend as each of them hangs the box solid during either
> suspend or resume. Moreover, when I tried to load the ehci_hcd
> module back after resume, it hanged the box solid too.
This behavior is apparently caused by the call to pci_write_config_word() with
pmcsr = 0 in drivers/pci/pci.c:pci_set_power_state().
Well, I don't think I can do anything more about it myself. :-)
Greets,
Rafael
--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
On Tue, 2005-03-22 at 21:41 +0200, Indrek Kruusa wrote:
> Lee Revell <rlrevell@xxxxxxxxxxx> wrote:
> >
> >/ On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:/
> >/ > From: bugme-daemon@xxxxxxxx/
> >/ > Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel
> panic when loading the EMU10K1 driver/
> >/ > /
> >/ /
> >/ This one is a real mystery. No one can reproduce it./
>
> Not quite true. This bug was current till today in Mandrake's kernel,
> but with 2.6.11-5mdk they managed to get rid of it.
> The problem is not with loading the driver but when alsactl tries to
> store/restore mixer settings.
>
Please, make sure to use "reply to all" when replying to LKML mail. I
easily could have missed this.
Do you have a link to the Mandrake bug report? If other people have
been hitting this, they have not been updating the bug report:
http://bugme.osdl.org/show_bug.cgi?id=4282
> I have tried again with 2.6.12-rc1-mm1 and it is still there (for
> example the Gnome won't start due to this).
> Below the oops part from messages.
Does it work if you just blow away the old mixer settings rather than
trying to restore them?
Anyway, this might be fixed in ALSA CVS.
Lee
Hi!
> > > > Will this do it for the moment?
> > >
> > > Its certainly better.
> >
> > With the Len's patch applied I have to unload the modules:
> >
> > ohci_hcd
> > ehci_hcd
> > yenta_socket
> >
> > before suspend as each of them hangs the box solid during either
> > suspend or resume. Moreover, when I tried to load the ehci_hcd
> > module back after resume, it hanged the box solid too.
>
> This behavior is apparently caused by the call to pci_write_config_word() with
> pmcsr = 0 in drivers/pci/pci.c:pci_set_power_state().
>
> Well, I don't think I can do anything more about it myself. :-)
Can you just revert those two patches from Len, and see what happens?
Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
Hi,
On Wednesday, 23 of March 2005 23:39, Pavel Machek wrote:
> Hi!
>
> > > > > Will this do it for the moment?
> > > >
> > > > Its certainly better.
> > >
> > > With the Len's patch applied I have to unload the modules:
> > >
> > > ohci_hcd
> > > ehci_hcd
> > > yenta_socket
> > >
> > > before suspend as each of them hangs the box solid during either
> > > suspend or resume. Moreover, when I tried to load the ehci_hcd
> > > module back after resume, it hanged the box solid too.
> >
> > This behavior is apparently caused by the call to pci_write_config_word() with
> > pmcsr = 0 in drivers/pci/pci.c:pci_set_power_state().
> >
> > Well, I don't think I can do anything more about it myself. :-)
>
> Can you just revert those two patches from Len, and see what happens?
Reverting them doesn't change anything, so there's something else that
breaks things, apparently.
Greets,
Rafael
--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
On Wed, 2005-03-23 at 18:49, Rafael J. Wysocki wrote:
> Hi,
>
> On Wednesday, 23 of March 2005 23:39, Pavel Machek wrote:
> > Hi!
> >
> > > > > > Will this do it for the moment?
> > > > >
> > > > > Its certainly better.
> > > >
> > > > With the Len's patch applied I have to unload the modules:
> > > >
> > > > ohci_hcd
> > > > ehci_hcd
> > > > yenta_socket
> > > >
> > > > before suspend as each of them hangs the box solid during either
> > > > suspend or resume. Moreover, when I tried to load the ehci_hcd
> > > > module back after resume, it hanged the box solid too.
Is this failure with suspend to RAM or to disk?
How about if you try this patch?
http://linux-acpi.bkbits.net:8080/to-akpm/cset@423b4875tyauh4CrSSoQfXOEPDkmUw
patch -Rp1 from 2.6.12-rc1-mm and see if it stops being broken
or patch -Np1 to 2.6.12-rc and see if it starts being broken.
This one removes an earlier attempt at resuming PCI links -- now
putting the onus on the drivers to be properly written
to release and acquire their interrupt for a successful suspend/resume.
In theory, this is taken care of something like this:
driver.resume
pci_enable_device
pci_enable_device_bars
pcibios_enable_device
pcibios_enable_irq
acpi_pci_irq_enable
but if the patch above makes a difference, then theory != practice:-)
I'd believe that ohci_hcd and ehci_hcd are fragile since glancing
at their lengthy .resume routines it isn't immediately obvious
that they do this. But yenta_dev_resume has a pci_enable_device(),
so that failure may be less straightforward.
cheers,
-Len
ps. if point me to a full dmesg -s64000 from 2.6.12-rc1 acpi-enabled
boot, that would help -- for it will show if we're even using pci
interrupt links (and programming them) for these devices on this box.
On Thu, 2005-03-24 at 09:03, Len Brown wrote:
> On Wed, 2005-03-23 at 18:49, Rafael J. Wysocki wrote:
> > Hi,
> >
> > On Wednesday, 23 of March 2005 23:39, Pavel Machek wrote:
> > > Hi!
> > >
> > > > > > > Will this do it for the moment?
> > > > > >
> > > > > > Its certainly better.
> > > > >
> > > > > With the Len's patch applied I have to unload the modules:
> > > > >
> > > > > ohci_hcd
> > > > > ehci_hcd
> > > > > yenta_socket
> > > > >
> > > > > before suspend as each of them hangs the box solid during
> either
> > > > > suspend or resume. Moreover, when I tried to load the
> ehci_hcd
> > > > > module back after resume, it hanged the box solid too.
>
> Is this failure with suspend to RAM or to disk?
>
> How about if you try this patch?
>
> http://linux-acpi.bkbits.net:8080/to-akpm/cset@423b4875tyauh4CrSSoQfXOEPDkmUw
>
> patch -Rp1 from 2.6.12-rc1-mm and see if it stops being broken
> or patch -Np1 to 2.6.12-rc and see if it starts being broken.
>
> This one removes an earlier attempt at resuming PCI links -- now
> putting the onus on the drivers to be properly written
> to release and acquire their interrupt for a successful
> suspend/resume.
>
>
> In theory, this is taken care of something like this:
> driver.resume
> pci_enable_device
> pci_enable_device_bars
> pcibios_enable_device
> pcibios_enable_irq
> acpi_pci_irq_enable
>
> but if the patch above makes a difference, then theory != practice:-)
>
> I'd believe that ohci_hcd and ehci_hcd are fragile since glancing
> at their lengthy .resume routines it isn't immediately obvious
> that they do this. But yenta_dev_resume has a pci_enable_device(),
> so that failure may be less straightforward.
>
> cheers,
> -Len
>
> ps. if point me to a full dmesg -s64000 from 2.6.12-rc1 acpi-enabled
> boot, that would help -- for it will show if we're even using pci
> interrupt links (and programming them) for these devices on this box.
Yes, we changed the behavior of device suspend/resume. Every PCI device
should call 'pci_disable_device' at suspend and call 'pci_enable_device'
at resume. It fixes a bug and more important thing is it's safer (Eg. it
disable interrupts, bus master and etc).
I actually added such calls in uhci, ehci and yenta. It's ok for S3 (and
definitely required for S3). Unclear if it's ok for S4, so please try
revert the patch.
Thanks,
Shaohua
The #define MODVERSIONS doesn't make sense.
And there's no need to #ifdef an #include <linux/module.h>.
Signed-off-by: Adrian Bunk <[email protected]>
--- linux-2.6.12-rc1-mm1-full/drivers/net/chelsio/osdep.h.old 2005-03-24 01:20:02.000000000 +0100
+++ linux-2.6.12-rc1-mm1-full/drivers/net/chelsio/osdep.h 2005-03-24 01:20:17.000000000 +0100
@@ -33,13 +33,7 @@
#define __CHELSIO_OSDEP_H
#include <linux/version.h>
-#if defined(MODULE) && ! defined(MODVERSIONS)
-#define MODVERSIONS
-#endif
-#ifdef MODULE
#include <linux/module.h>
-#endif
-
#include <linux/config.h>
#include <linux/types.h>
#include <linux/delay.h>
We just send an update to Andrew and Jeff that also fixes this issue.
Sadly that patch is >300k so we cannot post it to the list.
On Thu, 24 Mar 2005, Adrian Bunk wrote:
> The #define MODVERSIONS doesn't make sense.
>
> And there's no need to #ifdef an #include <linux/module.h>.
>
> Signed-off-by: Adrian Bunk <[email protected]>
>
> --- linux-2.6.12-rc1-mm1-full/drivers/net/chelsio/osdep.h.old 2005-03-24 01:20:02.000000000 +0100
> +++ linux-2.6.12-rc1-mm1-full/drivers/net/chelsio/osdep.h 2005-03-24 01:20:17.000000000 +0100
> @@ -33,13 +33,7 @@
> #define __CHELSIO_OSDEP_H
>
> #include <linux/version.h>
> -#if defined(MODULE) && ! defined(MODVERSIONS)
> -#define MODVERSIONS
> -#endif
> -#ifdef MODULE
> #include <linux/module.h>
> -#endif
> -
> #include <linux/config.h>
> #include <linux/types.h>
> #include <linux/delay.h>
>
>
Christoph Lameter wrote:
> We just send an update to Andrew and Jeff that also fixes this issue.
> Sadly that patch is >300k so we cannot post it to the list.
you can post it to [email protected]
it doesn't seem to block large patches.
--
~Randy
On Wed, 23 Mar 2005, Randy.Dunlap wrote:
> Christoph Lameter wrote:
> > We just send an update to Andrew and Jeff that also fixes this issue.
> > Sadly that patch is >300k so we cannot post it to the list.
>
> you can post it to [email protected]
> it doesn't seem to block large patches.
Ok. Sent in a separate message. I avoided ccing anyone on
this to cut down the mail volume.
Randy.Dunlap wrote:
> Christoph Lameter wrote:
>
>> We just send an update to Andrew and Jeff that also fixes this issue.
>> Sadly that patch is >300k so we cannot post it to the list.
>
>
> you can post it to [email protected]
> it doesn't seem to block large patches.
Well, it's still not kosher to send large patches. Not everybody has
broadband, you know :) It clogs up archives and other stuff.
Jeff
Hi,
On Thursday, 24 of March 2005 02:27, Li Shaohua wrote:
> On Thu, 2005-03-24 at 09:03, Len Brown wrote:
> > On Wed, 2005-03-23 at 18:49, Rafael J. Wysocki wrote:
> > > Hi,
> > >
> > > On Wednesday, 23 of March 2005 23:39, Pavel Machek wrote:
> > > > Hi!
> > > >
> > > > > > > > Will this do it for the moment?
> > > > > > >
> > > > > > > Its certainly better.
> > > > > >
> > > > > > With the Len's patch applied I have to unload the modules:
> > > > > >
> > > > > > ohci_hcd
> > > > > > ehci_hcd
> > > > > > yenta_socket
> > > > > >
> > > > > > before suspend as each of them hangs the box solid during
> > either
> > > > > > suspend or resume. Moreover, when I tried to load the
> > ehci_hcd
> > > > > > module back after resume, it hanged the box solid too.
> >
> > Is this failure with suspend to RAM or to disk?
> >
> > How about if you try this patch?
> >
> > http://linux-acpi.bkbits.net:8080/to-akpm/cset@423b4875tyauh4CrSSoQfXOEPDkmUw
> >
> > patch -Rp1 from 2.6.12-rc1-mm1 and see if it stops being broken
> > or patch -Np1 to 2.6.12-rc and see if it starts being broken.
> >
> > This one removes an earlier attempt at resuming PCI links -- now
> > putting the onus on the drivers to be properly written
> > to release and acquire their interrupt for a successful
> > suspend/resume.
> >
> >
> > In theory, this is taken care of something like this:
> > driver.resume
> > pci_enable_device
> > pci_enable_device_bars
> > pcibios_enable_device
> > pcibios_enable_irq
> > acpi_pci_irq_enable
> >
> > but if the patch above makes a difference, then theory != practice:-)
It looks like that. ;-)
> > I'd believe that ohci_hcd and ehci_hcd are fragile since glancing
> > at their lengthy .resume routines it isn't immediately obvious
> > that they do this. But yenta_dev_resume has a pci_enable_device(),
> > so that failure may be less straightforward.
> >
> > cheers,
> > -Len
> >
> > ps. if point me to a full dmesg -s64000 from 2.6.12-rc1 acpi-enabled
> > boot, that would help -- for it will show if we're even using pci
> > interrupt links (and programming them) for these devices on this box.
> Yes, we changed the behavior of device suspend/resume. Every PCI device
> should call 'pci_disable_device' at suspend and call 'pci_enable_device'
> at resume. It fixes a bug and more important thing is it's safer (Eg. it
> disable interrupts, bus master and etc).
> I actually added such calls in uhci, ehci and yenta. It's ok for S3 (and
> definitely required for S3). Unclear if it's ok for S4, so please try
> revert the patch.
2.6.11-rc1-mm1 with the patch reverted works fine. :-)
Greets,
Rafael
--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
Hi,
On Thursday, 24 of March 2005 02:03, Len Brown wrote:
> On Wed, 2005-03-23 at 18:49, Rafael J. Wysocki wrote:
]-- snip --[
> I'd believe that ohci_hcd and ehci_hcd are fragile since glancing
> at their lengthy .resume routines it isn't immediately obvious
> that they do this. ?But yenta_dev_resume has a pci_enable_device(),
> so that failure may be less straightforward.
>
> cheers,
> -Len
>
> ps. if point me to a full dmesg -s64000 from 2.6.12-rc1 acpi-enabled
> boot, that would help -- for it will show if we're even using pci
> interrupt links (and programming them) for these devices on this box.
The dmesg output is at:
http://www.sisk.pl/kernel/050325/2.6.11-rc1-dmesg.log
Greets,
Rafael
--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
On Thu, 2005-03-24 at 21:42, Rafael J. Wysocki wrote:
> Hi,
>
> On Thursday, 24 of March 2005 02:27, Li Shaohua wrote:
> > On Thu, 2005-03-24 at 09:03, Len Brown wrote:
> > > On Wed, 2005-03-23 at 18:49, Rafael J. Wysocki wrote:
> > > > Hi,
> > > >
> > > > On Wednesday, 23 of March 2005 23:39, Pavel Machek wrote:
> > > > > Hi!
> > > > >
> > > > > > > > > Will this do it for the moment?
> > > > > > > >
> > > > > > > > Its certainly better.
> > > > > > >
> > > > > > > With the Len's patch applied I have to unload the modules:
> > > > > > >
> > > > > > > ohci_hcd
> > > > > > > ehci_hcd
> > > > > > > yenta_socket
> > > > > > >
> > > > > > > before suspend as each of them hangs the box solid during
> > > either
> > > > > > > suspend or resume. Moreover, when I tried to load the
> > > ehci_hcd
> > > > > > > module back after resume, it hanged the box solid too.
> > >
> > > Is this failure with suspend to RAM or to disk?
> > >
> > > How about if you try this patch?
> > >
> > > http://linux-acpi.bkbits.net:8080/to-akpm/cset@423b4875tyauh4CrSSoQfXOEPDkmUw
> > >
> > > patch -Rp1 from 2.6.12-rc1-mm1 and see if it stops being broken
> > > or patch -Np1 to 2.6.12-rc and see if it starts being broken.
> > >
> > > This one removes an earlier attempt at resuming PCI links -- now
> > > putting the onus on the drivers to be properly written
> > > to release and acquire their interrupt for a successful
> > > suspend/resume.
> > >
> > >
> > > In theory, this is taken care of something like this:
> > > driver.resume
> > > pci_enable_device
> > > pci_enable_device_bars
> > > pcibios_enable_device
> > > pcibios_enable_irq
> > > acpi_pci_irq_enable
> > >
> > > but if the patch above makes a difference, then theory != practice:-)
>
> It looks like that. ;-)
>
> > > I'd believe that ohci_hcd and ehci_hcd are fragile since glancing
> > > at their lengthy .resume routines it isn't immediately obvious
> > > that they do this. But yenta_dev_resume has a pci_enable_device(),
> > > so that failure may be less straightforward.
> > >
> > > cheers,
> > > -Len
> > >
> > > ps. if point me to a full dmesg -s64000 from 2.6.12-rc1 acpi-enabled
> > > boot, that would help -- for it will show if we're even using pci
> > > interrupt links (and programming them) for these devices on this box.
> > Yes, we changed the behavior of device suspend/resume. Every PCI device
> > should call 'pci_disable_device' at suspend and call 'pci_enable_device'
> > at resume. It fixes a bug and more important thing is it's safer (Eg. it
> > disable interrupts, bus master and etc).
> > I actually added such calls in uhci, ehci and yenta. It's ok for S3 (and
> > definitely required for S3). Unclear if it's ok for S4, so please try
> > revert the patch.
>
> 2.6.11-rc1-mm1 with the patch reverted works fine. :-)
So just remove the pci_enable/disable_device call in the driver makes
the system work? Strange, I tried them on two laptops (one HP nx5000,
and one Toshiba M2N), both works (no hang, and USB mouse works after
S3/S4. I didn't try yenta, since I have no pc card) for S3/S4. Is it
possible it's another bug or just because of different BIOS?
Thanks,
Shaohua
Hi,
On Friday, 25 of March 2005 01:49, you wrote:
]--snip--[
> > > I actually added such calls in uhci, ehci and yenta. It's ok for S3 (and
> > > definitely required for S3). Unclear if it's ok for S4, so please try
> > > revert the patch.
> >
> > 2.6.11-rc1-mm1 with the patch reverted works fine. :-)
> So just remove the pci_enable/disable_device call in the driver makes
> the system work?
I'm a bit confused. :-) I'm not sure if the patch that I have reverted is related
to pci_enable/disable_device. It's this one:
diff -Naru a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
--- a/drivers/acpi/pci_link.c 2005-03-24 04:57:27 -08:00
+++ b/drivers/acpi/pci_link.c 2005-03-24 04:57:27 -08:00
@@ -72,10 +72,12 @@
u8 active; /* Current IRQ */
u8 edge_level; /* All IRQs */
u8 active_high_low; /* All IRQs */
- u8 initialized;
u8 resource_type;
u8 possible_count;
u8 possible[ACPI_PCI_LINK_MAX_POSSIBLE];
+ u8 initialized:1;
+ u8 suspend_resume:1;
+ u8 reserved:6;
};
struct acpi_pci_link {
@@ -530,6 +532,10 @@
ACPI_FUNCTION_TRACE("acpi_pci_link_allocate");
+ if (link->irq.suspend_resume) {
+ acpi_pci_link_set(link, link->irq.active);
+ link->irq.suspend_resume = 0;
+ }
if (link->irq.initialized)
return_VALUE(0);
@@ -713,38 +719,24 @@
return_VALUE(result);
}
-
-static int
-acpi_pci_link_resume (
- struct acpi_pci_link *link)
-{
- ACPI_FUNCTION_TRACE("acpi_pci_link_resume");
-
- if (link->irq.active && link->irq.initialized)
- return_VALUE(acpi_pci_link_set(link, link->irq.active));
- else
- return_VALUE(0);
-}
-
-
static int
-irqrouter_resume(
- struct sys_device *dev)
+irqrouter_suspend(
+ struct sys_device *dev,
+ u32 state)
{
struct list_head *node = NULL;
struct acpi_pci_link *link = NULL;
- ACPI_FUNCTION_TRACE("irqrouter_resume");
+ ACPI_FUNCTION_TRACE("irqrouter_suspend");
list_for_each(node, &acpi_link.entries) {
-
link = list_entry(node, struct acpi_pci_link, node);
if (!link) {
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid link context\n"));
continue;
}
-
- acpi_pci_link_resume(link);
+ if (link->irq.active && link->irq.initialized)
+ link->irq.suspend_resume = 1;
}
return_VALUE(0);
}
@@ -856,7 +848,7 @@
static struct sysdev_class irqrouter_sysdev_class = {
set_kset_name("irqrouter"),
- .resume = irqrouter_resume,
+ .suspend = irqrouter_suspend,
};
Greets,
Rafael
--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"