Skip to contentSkip to conversation

2.6.12-rc1-mm1

PATCH New Andrew Morton 23 participants 63 messages Mar 21, 2005 – Mar 25, 2005

Subsystems (15)
Networking Network drivers USB ACPI +11 more subsystems
lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
Quoted 9 lines · Andrew Morton

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

include/linux/agp_backend.h renamed from include/linux/agp_backend.h.old +1 -0
@@ -100,6 +100,7 @@ extern int agp_copy_info(struct agp_brid
 extern int agp_bind_memory(struct agp_memory *, off_t);
 extern int agp_unbind_memory(struct agp_memory *);
 extern void agp_enable(struct agp_bridge_data *, u32);
+extern struct agp_bridge_data *(*agp_find_bridge)(struct pci_dev *);
 extern struct agp_bridge_data *agp_backend_acquire(struct pci_dev *);
 extern void agp_backend_release(struct agp_bridge_data *);
 
drivers/char/agp/backend.c renamed from drivers/char/agp/backend.c.old +1 -0
@@ -50,6 +50,7 @@ static struct agp_version agp_current_ve
 
 struct agp_bridge_data *(*agp_find_bridge)(struct pci_dev *) =
 	&agp_generic_find_bridge;
+EXPORT_SYMBOL(agp_find_bridge);
 
 struct agp_bridge_data *agp_bridge;
 LIST_HEAD(agp_bridges);
drivers/char/drm/drm_agpsupport.c renamed from drivers/char/drm/drm_agpsupport.c.old +1 -2
@@ -387,12 +387,11 @@ drm_agp_head_t *drm_agp_init(drm_device_
 	if (!(head = drm_alloc(sizeof(*head), DRM_MEM_AGPLISTS)))
 		return NULL;
 	memset((void *)head, 0, sizeof(*head));
-	if (!(head->bridge = agp_backend_acquire(dev->pdev))) {
+	if (!(head->bridge = agp_find_bridge(dev->pdev))) {
 		drm_free(head, sizeof(*head), DRM_MEM_AGPLISTS);
 		return NULL;
 	}
 	agp_copy_info(head->bridge, &head->agp_info);
-	agp_backend_release(head->bridge);
 	if (head->agp_info.chipset == NOT_SUPPORTED) {
 		drm_free(head, sizeof(*head), DRM_MEM_AGPLISTS);
 		return NULL;
drivers/char/agp/backend.c renamed from drivers/char/agp/backend.c.old +1 -1
@@ -50,7 +50,7 @@ static struct agp_version agp_current_ve
 	.minor = AGPGART_VERSION_MINOR,
 };
 
-static struct agp_bridge_data *(*agp_find_bridge)(struct pci_dev *) =
+struct agp_bridge_data *(*agp_find_bridge)(struct pci_dev *) =
 	&agp_generic_find_bridge;
 
 struct agp_bridge_data *agp_bridge;
#2 lore raw
In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

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.

Quoted 7 lines

- 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

#3 lore raw
In reply to Andrew Morton
Quoted 2 lines · Andrew Morton

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

#4 lore raw
Quoted 9 lines · Jesse Barnes
Quoted 2 lines · Andrew Morton

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.

Quoted 2 lines

Thanks,
Jesse

cu
Adrian

BTW:

Signature · 4 lines
       "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
#5 lore raw
Quoted 7 lines · Adrian Bunk
Quoted 6 lines · Jesse Barnes
Quoted 2 lines · Andrew Morton

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

Quoted 8 lines
Quoted 4 lines

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

#6 lore raw
Quoted 11 lines · Jesse Barnes
Quoted 10 lines · Adrian Bunk
Quoted 9 lines · Jesse Barnes
Quoted 2 lines · Andrew Morton

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

Quoted 8 lines
Quoted 5 lines
Quoted 1 line

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 ...

#7 lore raw
In reply to Jesse Barnes
Quoted 11 lines · Jesse Barnes
Quoted 10 lines · Adrian Bunk
Quoted 9 lines · Jesse Barnes
Quoted 2 lines · Andrew Morton

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

Quoted 8 lines
Quoted 5 lines
Quoted 1 line

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"

Quoted 2 lines

Thanks,
Jesse

cu
Adrian

Signature · 4 lines
       "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
#8 lore raw
Quoted 18 lines · Adrian Bunk
Quoted 17 lines · Jesse Barnes
Quoted 15 lines · Adrian Bunk
Quoted 10 lines · Jesse Barnes
Quoted 2 lines · Andrew Morton

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.

Quoted 7 lines
Quoted 2 lines

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

#9 lore raw
In reply to Andrew Morton
Quoted 3 lines · Andrew Morton

- 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?

Signature · 3 lines
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core
#10 lore raw
Quoted 7 lines · Russell King
Quoted 3 lines · Andrew Morton

- 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

#11 lore raw

PCMCIA bugs in buglist [Was: Re: 2.6.12-rc1-mm1]

Quoted 2 lines

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.

Quoted 2 lines

From: Ron Gage <[email protected]>
Subject: Major problem with PCMCIA/Yenta system

...

Quoted 2 lines

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...

#12 lore raw

ALSA bugs in list [was Re: 2.6.12-rc1-mm1]

In reply to Andrew Morton
Quoted 3 lines · Andrew Morton

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.

Quoted 3 lines

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

Index: emumixer.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emumixer.c,v retrieving revision 1.32

emumixer.c +18 -8
diff -u -r1.32 emumixer.c
@@ -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;
 }
#13 lore raw

Re: ALSA bugs in list [was Re: 2.6.12-rc1-mm1]

Quoted 7 lines · Lee Revell
Quoted 3 lines · Andrew Morton

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.

Quoted 5 lines
Quoted 3 lines

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?

#14 lore raw

Re: ALSA bugs in list [was Re: 2.6.12-rc1-mm1]

Quoted 11 lines · Andrew Morton
Quoted 7 lines · Lee Revell
Quoted 3 lines · Andrew Morton

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.

Quoted 10 lines
Quoted 5 lines
Quoted 3 lines

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

#15 lore raw

Re: ALSA bugs in list [was Re: 2.6.12-rc1-mm1]

Quoted 19 lines · Lee Revell
Quoted 17 lines · Andrew Morton
Quoted 7 lines · Lee Revell
Quoted 3 lines · Andrew Morton

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.

Quoted 5 lines
Quoted 3 lines

From: [email protected]
Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with Audigy 2 and

This one is fixed in ALSA CVS.

Quoted 7 lines
Quoted 4 lines

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.

Quoted 4 lines

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.

#16 lore raw

Re: ALSA bugs in list [was Re: 2.6.12-rc1-mm1]

Quoted 8 lines · Andrew Morton
Quoted 4 lines · Lee Revell

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

#17 lore raw

Re: ALSA bugs in list [was Re: 2.6.12-rc1-mm1]

In reply to Andrew Morton

At Mon, 21 Mar 2005 20:23:03 -0800,

Quoted 26 lines · Andrew Morton
Quoted 24 lines · Lee Revell
Quoted 21 lines · Andrew Morton
Quoted 7 lines · Lee Revell
Quoted 3 lines · Andrew Morton

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.

Quoted 5 lines
Quoted 3 lines

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?

Quoted 6 lines
Quoted 2 lines

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

#18 lore raw

Re: ALSA bugs in list [was Re: 2.6.12-rc1-mm1]

In reply to Lee Revell
Quoted 11 lines · Lee Revell
Quoted 4 lines
Quoted 1 line

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

#19 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

In reply to Andrew Morton

Hi,

Quoted 2 lines · you

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>

Signature · 3 lines
- 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"
#20 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Quoted 8 lines · Rafael J. Wysocki

Hi,

Quoted 2 lines · you

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?

Quoted 44 lines

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>

Signature · 3 lines
- 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"
#21 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Hi!

Quoted 4 lines
Quoted 4 lines · you
Quoted 2 lines

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/

Quoted 8 lines
Quoted 1 line

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

Quoted 46 lines
Quoted 46 lines

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>

Signature · 3 lines
- 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"
Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#22 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Quoted 16 lines · Pavel Machek

Hi!

Quoted 4 lines
Quoted 4 lines · you
Quoted 2 lines

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm1/

Quoted 8 lines
Quoted 1 line

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?

Quoted 6 lines

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.

Quoted 6 lines

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.

Quoted 2 lines

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

Quoted 4 lines

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);

drivers/pci/pci.c +7 -0
diff -Nru a/drivers/pci/pci.c b/drivers/pci/pci.c
@@ -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;
drivers/pci/pci.h +3 -0
diff -Nru a/drivers/pci/pci.h b/drivers/pci/pci.h
@@ -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);

drivers/pci/pci.c +9 -2
diff -Nru a/drivers/pci/pci.c b/drivers/pci/pci.c
@@ -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;
 }
 
drivers/pci/pci.h +1 -0
diff -Nru a/drivers/pci/pci.h b/drivers/pci/pci.h
@@ -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
#23 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Hi!

Quoted 7 lines
Quoted 6 lines

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.

Quoted 7 lines

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).

Quoted 5 lines
Quoted 4 lines

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.

Quoted 8 lines

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.

Review line 20

Quoted 5 lines
(quoted diff) +1 -0
@@ -17,6 +17,7 @@
 #include <acpi/acpi_bus.h>
 
 #include <linux/pci-acpi.h>
+#include "pci.h"

Should be <linux/pci.h>?

Review line 22

Quoted 2 lines
(quoted diff) +2 -0
+static int acpi_pci_choose_state(struct pci_dev *pdev, pm_message_t state)
+{

Should return pci_power_t, probably.

Review

Quoted 6 lines
(quoted diff) +6 -0
+	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.

Review

Quoted 1 line
(quoted diff) +1 -0
+	if ((state >= PM_SUSPEND_MAX) || !DEVICE_ACPI_HANDLE(dev))

PM_SUSPEND_MAX and friends is going to disappear.

Review

Quoted 2 lines
(quoted diff) +2 -0
+		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...

Quoted 8 lines

diff -Nru a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c

drivers/pci/pci-acpi.c +1 -0
@@ -253,6 +253,24 @@
 	return -ENODEV;
 }
 
+static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state)

drivers/pci/pci-acpi.c line 266

Quoted 10 lines
drivers/pci/pci-acpi.c +10 -0
+{
+	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

Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#24 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Quoted 7 lines · Pavel Machek
Quoted 4 lines

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?

#25 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Quoted 10 lines · Andrew Morton
Quoted 7 lines · Pavel Machek
Quoted 4 lines

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"?

Quoted 5 lines

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

Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#26 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Quoted 8 lines · Pavel Machek
Quoted 6 lines · Andrew Morton
Quoted 5 lines · Pavel Machek
Quoted 4 lines

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.

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

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.

Quoted 6 lines
Quoted 5 lines

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?

Quoted 6 lines

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 ;)

#27 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Quoted 18 lines · Andrew Morton

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

Quoted 2 lines

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

#28 lore raw

pm_message_t to struct conversion [was Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389]

In reply to Andrew Morton

Hi!

Quoted 2 lines

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

drivers/base/power/resume.c +1 -1
@@ -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);
drivers/base/power/runtime.c +4 -4
@@ -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)))
drivers/base/power/shutdown.c +2 -1
@@ -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);
 }
 
 
drivers/base/power/suspend.c +1 -1
@@ -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;
drivers/base/power/sysfs.c +5 -4
@@ -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);
drivers/ide/ide.c +2 -2
@@ -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);
 }
drivers/pci/pci.c +11 -9
@@ -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;
 }
drivers/usb/core/hcd-pci.c +1 -4
@@ -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);
drivers/usb/core/hub.c +9 -9
@@ -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++) {
drivers/usb/core/usb.c +1 -1
@@ -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)
drivers/usb/host/ehci-dbg.c +1 -1
@@ -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",
drivers/usb/host/ohci-dbg.c +1 -1
@@ -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;
drivers/usb/host/sl811-hcd.c +4 -4
@@ -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);
 }
 
drivers/video/aty/atyfb_base.c +2 -2
@@ -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;
 
drivers/video/aty/radeon_pm.c +7 -14
@@ -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)
 		 */
drivers/video/i810/i810_main.c +5 -5
@@ -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;
 }
include/linux/pm.h +13 -4
@@ -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;
Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#29 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

In reply to Pavel Machek
Quoted 16 lines · Pavel Machek

Hi!

Quoted 5 lines
Quoted 5 lines

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

Quoted 8 lines
Quoted 1 line

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)
Quoted 6 lines
Quoted 1 line

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.

Quoted 12 lines
Quoted 6 lines
Quoted 4 lines

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.

Quoted 2 lines

So hm. We have incompatible changes in flight. That doesn't happen

very

Quoted 2 lines

often.

Quoted 8 lines
Quoted 1 line

Could I suggest that you prepare a fixup against 2.6.12-rc1-mm1 and

send

Quoted 1 line

that to Len and myself? If that fixup is not suitable for a

2.6.12-rc1

Quoted 1 line

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?

Quoted 7 lines

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.

Quoted 8 lines

Review line 20

Quoted 5 lines
(quoted diff) +1 -0
@@ -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'

Quoted 6 lines

Review line 21

Quoted 2 lines
(quoted diff) +1 -0
+static int acpi_pci_choose_state(struct pci_dev *pdev, pm_message_t

state)

Review line 22

Quoted 1 line
(quoted diff) +1 -0
+{

Should return pci_power_t, probably.

Should return int as I said above.

Quoted 8 lines

Review

Quoted 7 lines
(quoted diff) +6 -0
+     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 */
Quoted 5 lines

Exactly.

Quoted 1 line

+ if ((state >= PM_SUSPEND_MAX) || !DEVICE_ACPI_HANDLE(dev))

PM_SUSPEND_MAX and friends is going to disappear.

Yep, this should be fixed.

Quoted 30 lines

Review

Quoted 3 lines
(quoted diff) +2 -0
+             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...

drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00 line 256

Quoted 8 lines

diff -Nru a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c

drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00 +1 -0
@@ -253,6 +253,24 @@
      return -ENODEV;
 }
 
+static int acpi_pci_set_power_state(struct pci_dev *dev,

pci_power_t state)

drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00 line 266

Quoted 10 lines
drivers/pci/pci-acpi.c 2005-03-21 17:02:38 -08:00 +10 -0
+{
+     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];
Quoted 3 lines

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

#30 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

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

===== drivers/pci/pci-acpi.c 1.4 vs edited =====

drivers/pci/pci-acpi.c +1 -12
@@ -237,19 +237,8 @@
 
 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;
+	/* TBD */
 
-	/* 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;
 }
 
#31 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

Hi!

Quoted 1 line

Will this do it for the moment?

Its certainly better.

What about

Quoted 12 lines
Quoted 12 lines
Quoted 1 line

+static int acpi_pci_set_power_state(struct pci_dev *dev,

pci_power_t state)

Quoted 10 lines
(quoted diff) +10 -0
+{
+     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

Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#32 lore raw

2.6.12-rc1-mm1: resume regression (was: Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389)

Hi,

Quoted 5 lines · Pavel Machek

Hi!

Quoted 1 line

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

Signature · 3 lines
- 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"
#33 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389)

Hi,

Quoted 11 lines · Rafael J. Wysocki

Hi,

Quoted 5 lines · Pavel Machek

Hi!

Quoted 1 line

Will this do it for the moment?

Its certainly better.

With the Len's patch applied I have to unload the modules:

Quoted 7 lines

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

Signature · 3 lines
- 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"
#34 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389)

Hi!

Quoted 10 lines
Quoted 10 lines
Quoted 3 lines
Quoted 1 line

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

Quoted 8 lines
Quoted 3 lines

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

Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#35 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389)

Hi,

Quoted 16 lines · Pavel Machek

Hi!

Quoted 14 lines
Quoted 13 lines
Quoted 3 lines
Quoted 1 line

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.

Quoted 6 lines
Quoted 4 lines

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

Signature · 3 lines
- 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"
#36 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389)

Quoted 18 lines · Rafael J. Wysocki

Hi,

Quoted 15 lines · Pavel Machek

Hi!

Quoted 13 lines
Quoted 13 lines
Quoted 3 lines
Quoted 1 line

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.

#37 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re:2.6.12-rc1-mm1: Kernel BUG at pci:389)

Quoted 52 lines · Len Brown
Quoted 16 lines · Rafael J. Wysocki

Hi,

Quoted 13 lines · Pavel Machek

Hi!

Quoted 11 lines
Quoted 11 lines
Quoted 3 lines
Quoted 1 line

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

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

suspend or resume. Moreover, when I tried to load the

ehci_hcd

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

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.

Quoted 6 lines

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

#38 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re:2.6.12-rc1-mm1: Kernel BUG at pci:389)

Hi,

Quoted 46 lines · Li Shaohua
Quoted 45 lines · Len Brown
Quoted 16 lines · Rafael J. Wysocki

Hi,

Quoted 13 lines · Pavel Machek

Hi!

Quoted 11 lines
Quoted 11 lines
Quoted 3 lines
Quoted 1 line

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

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

suspend or resume. Moreover, when I tried to load the

ehci_hcd

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

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

Quoted 1 line
Quoted 1 line

but if the patch above makes a difference, then theory != practice:-)

It looks like that. ;-)

Quoted 11 lines
Quoted 11 lines

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.

Quoted 7 lines

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

Signature · 3 lines
- 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"
#39 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re:2.6.12-rc1-mm1: Kernel BUG at pci:389)

Quoted 72 lines · Rafael J. Wysocki

Hi,

Quoted 46 lines · Li Shaohua
Quoted 45 lines · Len Brown
Quoted 16 lines · Rafael J. Wysocki

Hi,

Quoted 13 lines · Pavel Machek

Hi!

Quoted 11 lines
Quoted 11 lines
Quoted 3 lines
Quoted 1 line

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

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

suspend or resume. Moreover, when I tried to load the

ehci_hcd

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

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

Quoted 1 line
Quoted 1 line

but if the patch above makes a difference, then theory != practice:-)

It looks like that. ;-)

Quoted 11 lines
Quoted 11 lines

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.

Quoted 7 lines

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.

Quoted 1 line

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

#40 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re:2.6.12-rc1-mm1: Kernel BUG at pci:389)

Hi,

On Friday, 25 of March 2005 01:49, you wrote:
]--snip--[

Quoted 7 lines
Quoted 5 lines
Quoted 3 lines

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:

drivers/acpi/pci_link.c +14 -22
diff -Naru a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
@@ -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

Signature · 3 lines
- 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"
#41 lore raw

Re: 2.6.12-rc1-mm1: resume regression [update] (was: Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389)

In reply to Len Brown

Hi,

Quoted 1 line · Len Brown

On Wed, 2005-03-23 at 18:49, Rafael J. Wysocki wrote:

]-- snip --[

Quoted 11 lines

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

Signature · 3 lines
- 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"
#42 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

In reply to Li Shaohua

Hi!

Quoted 10 lines
Quoted 4 lines

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.

Quoted 4 lines

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!

Quoted 4 lines
Quoted 2 lines

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

Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#43 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

In reply to Pavel Machek

Hi!

Quoted 3 lines

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

Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#44 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

In reply to Andrew Morton

drivers/pci/pci-acpi.c line 3

Quoted 12 lines · Andrew Morton
# 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
drivers/pci/pci-acpi.c +1 -1
@@ -1,6 +1,6 @@
 /*
  * File:	pci-acpi.c
- * Purpose:	Provide PCI support in ACPI
+ * Purpose:	Provde PCI support in ACPI

Oops.

Dave

#45 lore raw

Re: 2.6.12-rc1-mm1: Kernel BUG at pci:389

In reply to Andrew Morton

Hi!

Quoted 10 lines
Quoted 3 lines
Quoted 1 line

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:

drivers/pci/pci.c +2 -0
@@ -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

Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
#46 lore raw

PATCH 1/1 fix net/ipv4/route.c with gcc 3.4

In reply to Andrew Morton

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.

---

 net/ipv4/route.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)
net/ipv4/route.c renamed from net/ipv4/route.c.old +7 -8
@@ -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;
#47 lore raw

2.6.12-rc1-mm1: hostap stack usage

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
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

Signature · 4 lines
       "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
#48 lore raw

Re: 2.6.12-rc1-mm1: hostap stack usage

(netdev added to cc:)

Quoted 2 lines · Adrian Bunk

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.

Quoted 7 lines

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.

Quoted 4 lines

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.

Quoted 4 lines

__prism2_translate_scan:

        char buf[MAX_WPA_IE_LEN * 2 + 30];

(64 * 2) + 30 Bytes = 158 Bytes

OK.

Quoted 9 lines

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..

Quoted 5 lines

drivers/net/wireless/hostap/hostap_plx.c:

prism2_plx_check_cis:

#define CIS_MAX_LEN 256
        u8 cis[CIS_MAX_LEN];

OK.

Signature · 1 line
Jouni Malinen                                            PGP id EFC895FA
#49 lore raw

2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

In reply to Andrew Morton

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

Signature · 4 lines
       "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
#50 lore raw

Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

Quoted 9 lines · Adrian Bunk

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

Quoted 11 lines

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

#51 lore raw

Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

Quoted 6 lines · Hans Reiser

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...

Quoted 1 line

Hans

cu
Adrian

Signature · 4 lines
       "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
#52 lore raw

Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

[ Pruned Hans&co from Cc: list]

Quoted 4 lines · Adrian Bunk

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

Signature · 2 lines
Victory in war is not repetitious.
-- Sun Tzu
#53 lore raw

Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

In reply to Adrian Bunk
Quoted 22 lines · Adrian Bunk
Quoted 8 lines · Hans Reiser

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...

Quoted 9 lines
Quoted 3 lines

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?

#54 lore raw

Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

In reply to Adrian Bunk
Quoted 6 lines · Adrian Bunk

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.

#55 lore raw

Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

In reply to Adrian Bunk
Quoted 4 lines · Adrian Bunk

REISER4_FS is the only option with a dependency on !4KSTACKS which is bad since 8 kB stacks on i386 won't stay forever.

Quoted 8 lines

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

Signature · 3 lines
People will accept your ideas much more readily if you tell them
that Benjamin Franklin said it first.
-- unknown
#56 lore raw

Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

Quoted 2 lines · Jörn Engel

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

Signature · 3 lines
When people work hard for you for a pat on the back, you've got
to give them that pat.
-- Robert Heinlein
#57 lore raw

Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

In reply to Jörn Engel
Quoted 22 lines · Jörn Engel
Quoted 4 lines · Adrian Bunk

REISER4_FS is the only option with a dependency on !4KSTACKS which is bad since 8 kB stacks on i386 won't stay forever.

Quoted 8 lines

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
...

Quoted 2 lines
     224  coord_by_key

...

These would have been missed by the grep I suggested due to the missing reiser4_ prefix.

Quoted 2 lines

208 locks_remove_flock
...

That seems to be a generic issue in fs/locks.c .
It seems this is the "struct file_lock fl"?

Quoted 1 line

Jörn

cu
Adrian

Signature · 4 lines
       "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
#58 lore raw

PATCH 1/1 drivers/net/chelsio/osdep.h: small cleanups

In reply to Andrew Morton

The #define MODVERSIONS doesn't make sense.

And there's no need to #ifdef an #include <linux/module.h>.

drivers/net/chelsio/osdep.h renamed from drivers/net/chelsio/osdep.h.old +0 -6
@@ -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>
#59 lore raw

Re: [-mm patch] drivers/net/chelsio/osdep.h: small cleanups

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.

Quoted 24 lines · Adrian Bunk

The #define MODVERSIONS doesn't make sense.

And there's no need to #ifdef an #include <linux/module.h>.

drivers/net/chelsio/osdep.h renamed from drivers/net/chelsio/osdep.h.old +0 -6
@@ -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>
#60 lore raw

Re: [-mm patch] drivers/net/chelsio/osdep.h: small cleanups

Quoted 2 lines · Christoph Lameter

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.

Signature · 1 line
~Randy
#61 lore raw

Re: [-mm patch] drivers/net/chelsio/osdep.h: small cleanups

Quoted 6 lines · Randy.Dunlap
Quoted 2 lines · Christoph Lameter

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.

#62 lore raw

Re: [-mm patch] drivers/net/chelsio/osdep.h: small cleanups

In reply to Randy.Dunlap
Quoted 8 lines · Randy.Dunlap
Quoted 2 lines · Christoph Lameter

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