2005-09-08 12:31:14

by Andrew Morton

[permalink] [raw]
Subject: 2.6.13-mm2


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/

(kernel.org propagation is slow. There's a temp copy at
http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)



- Added Andi's x86_64 tree, as separate patches

- Added a driver for TI acx1xx cardbus wireless NICs

- Large revamp of pcmcia suspend handling

- Largeish v4l and DVB updates

- Significant parport rework

- Many tty drivers still won't compile

- Lots of framebuffer driver updates

- There are still many patches here for 2.6.14. We're doing pretty well
with merging up the subsystem trees. ia64 and CIFS are still pending.
x86_64 and several of Greg's trees (especially USB) aren't merged yet.




Changes since 2.6.13-mm1:


linus.patch
git-acpi.patch
git-cifs.patch
git-cpufreq.patch
git-ia64.patch
git-audit.patch
git-input.patch
git-jfs.patch
git-libata-all.patch
git-mtd.patch
git-netdev-all.patch
git-nfs.patch
git-nfs-oops-fix.patch
git-ocfs2.patch
git-scsi-iscsi.patch

Subsystem trees

-non-booting-g5-fix.patch -dvb-saa7134-dvb-must-select-tda1004x.patch
-tpm_infineon-bugfix-in-pnpacpi-handling.patch
-move-truncate_inode_pages-into-delete_inode.patch
-update-filesystems-for-new-delete_inode-behavior.patch
-fix-possible-null-pointer-access-acpi_pci_irq_disable.patch
-gregkh-driver-driver-bind-fix.patch
-gregkh-driver-driver-link-device-and-class.patch
-gregkh-driver-floppy-cmos-attribute.patch
-gregkh-driver-floppy-cmos-attribute-tidy.patch
-gregkh-driver-driver-docs-whitespace.patch
-gregkh-driver-driver-docs-permissions.patch
-gregkh-driver-driver-handle-sysdev-suspend-failure.patch
-gregkh-driver-driver-kfree-check-cleanup.patch
-gregkh-driver-klist-fix-semantics.patch
-gregkh-i2c-i2c-max6875-simplify.patch
-gregkh-i2c-i2c-max6875-documentation-update.patch
-gregkh-i2c-i2c-max6875-fix-build-error.patch
-gregkh-i2c-i2c-nforce2-cleanup.patch
-gregkh-i2c-i2c-max6875-kobj_to_i2c_client.patch
-gregkh-i2c-i2c-max6875-documentation-cleanup.patch
-gregkh-i2c-i2c-max6875-cleanup.patch
-gregkh-i2c-i2c-hwmon-soften-lm75.patch
-gregkh-i2c-i2c-hwmon-lm78-j.patch
-gregkh-i2c-i2c-hwmon-document-w83627ehg.patch
-gregkh-i2c-i2c-hwmon-class-02.patch
-gregkh-i2c-i2c-hwmon-class-03.patch
-gregkh-i2c-i2c-hwmon-split-01.patch
-gregkh-i2c-i2c-hwmon-split-02.patch
-gregkh-i2c-i2c-hwmon-split-03.patch
-gregkh-i2c-i2c-hwmon-split-04.patch
-gregkh-i2c-i2c-hwmon-split-05.patch
-gregkh-i2c-i2c-hwmon-split-06.patch
-gregkh-i2c-i2c-hwmon-split-07.patch
-gregkh-i2c-i2c-hwmon-split-08.patch
-gregkh-i2c-i2c-hwmon-split-09.patch
-gregkh-i2c-i2c-w83792d-01.patch
-gregkh-i2c-i2c-w83792d-02.patch
-gregkh-i2c-i2c-w83792d-03.patch
-gregkh-i2c-i2c-refactor-message.patch
-gregkh-i2c-i2c-hwmon-tag-superio-functions-__init.patch
-gregkh-i2c-i2c-inline-i2c_adapter_id.patch
-gregkh-i2c-i2c-i2c-algo-pca-busy-bus-fix.patch
-gregkh-i2c-i2c-documentation-typo.patch
-gregkh-i2c-i2c-core-debug-cleanup.patch
-gregkh-i2c-hwmon-move-SENSORS_LIMIT.patch
-gregkh-i2c-hwmon-lm85-cleanups.patch
-gregkh-i2c-hwmon-split-round2-01.patch
-gregkh-i2c-hwmon-split-round2-02.patch
-gregkh-i2c-hwmon-split-round2-03.patch
-gregkh-i2c-hwmon-split-round2-04.patch
-gregkh-i2c-hwmon-split-round2-05.patch
-gregkh-i2c-hwmon-split-round2-06.patch
-gregkh-i2c-hwmon-split-round2-07.patch
-gregkh-i2c-hwmon-split-round2-08.patch
-gregkh-i2c-hwmon-split-round2-09.patch
-gregkh-i2c-hwmon-split-round2-10.patch
-gregkh-i2c-hwmon-split-round2-11.patch
-gregkh-i2c-hwmon-vid-table-update.patch
-gregkh-i2c-i2c-rewrite-i2c_probe.patch
-gregkh-i2c-i2c-centralize-24rf08-corruption-prevention.patch
-gregkh-i2c-i2c-kill-i2c_algorithm-stuff-01.patch
-gregkh-i2c-i2c-kill-i2c_algorithm-stuff-02.patch
-gregkh-i2c-i2c-kill-i2c_algorithm-stuff-03.patch
-gregkh-i2c-i2c-kill-i2c_algorithm-stuff-04.patch
-gregkh-i2c-i2c-kill-i2c_algorithm-stuff-05.patch
-gregkh-i2c-i2c-kill-i2c_algorithm-stuff-06.patch
-gregkh-i2c-i2c-kill-i2c_algorithm-stuff-07.patch
-gregkh-i2c-i2c-outdated-i2c_adapter-comment.patch
-gregkh-i2c-hwmon-maintainer.patch
-gregkh-i2c-i2c-drop-i2c_clientname.patch
-gregkh-i2c-w1-netlink-callbacks.patch
-ia64-cpuset-build_sched_domains-mangles-structures.patch
-git-audit-ppc64-fix.patch
-input-usb-ignore-logitech-vendor-usages.diff.patch
-input-usb-hid-simulation-usages.diff.patch
-input-i8042-fix-irq-printk.diff.patch
-input-hid-more-consumer-usages.diff.patch
-input-atkbd-allow-0x7f-scancode.diff.patch
-input-hid-variable-max-buffer-size.diff.patch
-input-hid-logitech-ultra-x-media-remote.diff.patch
-input-i8042-mux-blacklist-fsc-t3010.diff.patch
-input-iforce-wait-event.diff.patch
-hid-core-wireless-security-lock-blacklist-entry.patch
-hiddev-output-reports-are-dropped-when-hidiocsreport-is.patch
-apple-powerbook-usb-keyboard-hid-fix.patch
-kbuild-fix-make-clean-damaging-hg-repos.patch
-git-net-gregkh-i2c-w1-netlink-callbacks-fix.patch
-fix-minor-bug-in-sungemh.patch
-netlink-log-protocol-failures.patch
-mbio_bus-pm_message_t-fix.patch
-fix-klist-semantics-for-lists-which-have-elements-removed.patch
-git-scsi-misc-sr-fix.patch
-mpt-fusion-dv-fixes.patch
-watchdog-new-sbc8360-driver.patch
-sparsemem-extreme.patch
-ppc64-fix-sparsemem-extreme.patch
-sparsemem-extreme-implementation.patch
-sparsemem-extreme-hotplug-preparation.patch
-sparsemem-extreme-hotplug-preparation-fix.patch
-mm-consolidate-get_order.patch
-swap-update-swapfile-i_sem-comment.patch
-swap-correct-swapfile-nr_good_pages.patch
-swap-move-destroy_swap_extents-calls.patch
-swap-swap-extent-list-is-ordered.patch
-swap-show-span-of-swap-extents.patch
-swap-swap-unsigned-int-consistency.patch
-swap-swap-unsigned-int-consistency-warning-fix.patch
-swap-freeing-update-swap_listnext.patch
-swap-get_swap_page-drop-swap_list_lock.patch
-swap-scan_swap_map-restyled.patch
-swap-scan_swap_map-drop-swap_device_lock.patch
-swap-scan_swap_map-latency-breaks.patch
-swap-swap_lock-replace-listdevice.patch
-swap-update-swsusp-use-of-swap_info.patch
-swap-update-swsusp-use-of-swap_info-fix.patch
-delete-from_swap_cache-bug_ons.patch
-rmap-dont-test-rss.patch
-proc-pid-numa_maps-to-show-on-which-nodes-pages-reside.patch
-mm-comment-rmap.patch
-mm-micro-optimise-rmap.patch
-mm-cleanup-rmap.patch
-mm-remap-zero_page-mappings.patch
-mm-remove-atomic.patch
-vm-add-capabilites-check-to-set_zone_reclaim.patch
-vm-zone-reclaim-atomic-ops-cleanup.patch
-mm-fix-madvise-vma-merging.patch
-comment-typo-fix.patch
-vm-slabc-spelling-correction.patch
-shmem_populate-avoid-an-useless-check-and-some-comments.patch
-remove-implied-vm_ops-check.patch
-correct-_page_file-comment.patch
-arm-allow-for-arch-specific-ioremap_max_order.patch
-hugetlb-add-pte_huge-macro.patch
-hugetlb-move-stale-pte-check-into-huge_pte_alloc.patch
-hugetlb-check-pd_present-in-huge_pte_offset.patch
-remove-hugetlb_clean_stale_pgtable-and-fix-huge_pte_alloc.patch
-slab-consolidate-kmem_bufctl_t.patch
-x86-ptep-clear-optimization.patch
-x86-ptep-clear-optimization-fix.patch
-x86_64-ptep-clear-optimization.patch
-mm-slabc-prefetchw-the-start-of-new-allocated-objects.patch
-slab-removes-local_irq_save-local_irq_restore-pair.patch
-proc-pid-smaps.patch
-smaps-say-vma-not-map.patch
-smaps-use-new-ptwalks.patch
-smaps-say-kb-not-kb.patch
-smaps-print-more-fields.patch
-smaps-reading-fix.patch
-vm-add-page_state-info-to-per-node-meminfo.patch
-drivers-net-ne3210c-cleanups.patch
-net-add-driver-for-the-nic-on-cell-blades.patch
-ipw2200-build-fix.patch
-net-update-the-spider_net-driver.patch
-mdio_bus_exit-in-discarded-section-textexit.patch
-kconfig-kxgettext-message-fix.patch
-kconfig-kxgettext-eol-fix.patch
-kconfig-linuxpot-for-all-arch.patch
-selinux-reduce-memory-use-by-avtab.patch
-selinux-endian-notations.patch
-generic-vfs-fallback-for-security-xattrs.patch
-arch-ppc-kernel-ppc_ksymsc-remove-unused-define-export_symtab_strops.patch
-ppc32-remove-board-support-for-adir.patch
-ppc32-remove-board-support-for-ash.patch
-ppc32-remove-board-support-for-beech.patch
-ppc32-remove-defconfig-for-cedar.patch
-ppc32-remove-board-support-for-k2.patch
-ppc32-remove-board-support-for-mcpn765.patch
-ppc32-remove-board-support-for-menf1.patch
-ppc32-remove-board-support-for-oak.patch
-ppc32-remove-board-support-for-rainier.patch
-ppc32-remove-board-support-for-redwood.patch
-ppc32-remove-board-support-for-sm850.patch
-ppc32-remove-board-support-for-spd823ts.patch
-ppc32-remove-board-support-for-pcore.patch
-pcp32-fix-asm-ppc-dma-mappingh-sparse-warning.patch
-ppc32-add-usb-support-to-ibm-stb04xxx-platforms.patch
-ppc32-added-support-for-the-book-e-style-watchdog-timer.patch
-ppc32-add-ppc_sys-descriptions-for-powerquicc-ii-devices.patch
-ppc32-add-phy-excluded-features-to-ocp_func_emac_data.patch
-cpm_uart-fix-2nd-serial-port-on-mpc8560-ads.patch
-cpm_uart-use-schedule_timeout-instead-of-direct-call-to.patch
-cpm_uart-fix-baseaddress-for-smc-1-and-2.patch
-ppc32-cleaned-up-global-namespace-of-book-e-watchdog.patch
-ppc32-add-440gx-revf-cputable-entry.patch
-ppc32-removed-find_namec.patch
-ppc32-add-cputable-entry-for-440sp-rev-a.patch
-ppc32-dont-sleep-in-flush_dcache_icache_page.patch
-ppc32-fix-emac-tx-channel-assignments-for-npe405h.patch
-ppc32-fix-bamboo-and-luan-build-warnings.patch
-ppc32-disable-ibm405_err77-and-ibm405_err51-workarounds-for-405ep.patch
-ppc32-ppc_sys-system-on-chip-identification-additions.patch
-ppc32-add-config_hz.patch
-ppc32-add-support-for-marvell-ev64360bp-board.patch
-ppc32-defconfig-for-marvell-ev64360bp-board.patch
-ppc32-fix-wundef-warning-for-config_8xx.patch
-ppc32-added-pci-support-mpc83xx.patch
-ppc32-re-order-cputable-for-750cxe-dd24-entry.patch
-ppc32-add-cputable-entry-for-750cxe-dd24-gekko.patch
-ppc32-move-4xx-phy_mode_xxx-defines-to-ibm_ocph.patch
-ppc32-add-dcr_base-field-to-ocp_func_mal_data.patch
-ppc32-l2-cache-prefetch-fixes-on-745x.patch
-ppc32-export-cacheable_memcpy.patch
-ppc64-update-xmon-helptext.patch
-ppc64-add-vmx-save-flag-to-vpa.patch
-ppc64-replace-schedule_timeout-with-msleep_interruptible.patch
-frv-remove-export-of-strtok.patch
-mips-remove-obsolete-giu-function-call-for-vr41xx.patch
-mips-update-irq-handling-for-vr41xx.patch
-mips-change-system-type-name-in-proc-for-vr41xx.patch
-mips-remove-vr4181-support.patch
-mips-remove-vr4181-support-fix.patch
-more-vr4181-removal.patch
-mips-remove-hp-laserjet-remains.patch
-dec-pmag-aa-framebuffer-update.patch
-dec-pmag-ba-frame-buffer-update.patch
-dec-pmagb-b-framebuffer-update.patch
-mips-add-support-for-qemu-system-architecture.patch
-mips-technologies-pci-id-bits.patch
-mips-add-tanbac-vr4131-multichip-module.patch
-mips-add-default-select-configs-for-vr41xx.patch
-mips-add-default-select-configs-for-vr41xx-fix.patch
-mips-remove-vrc4171-config.patch
-mips-changed-from-vr41xx-to-vr4100-series-in-kconfig.patch
-mips-cleanup-32-64-bit-configuration.patch
-mips-nuke-trailing-whitespace.patch
-mips-fix-coherency-configuration.patch
-mips-add-pcibios_select_root.patch
-mips-add-pcibios_bus_to_resource.patch
-mips-add-more-sys_support__kernel-and.patch
-mips-fix-build-warnings.patch
-mips-remove-timexh-for-vr41xx.patch
-mips-kludge-envdev-to-build-for-64-bit-mips-with-32-bit-compat.patch
-arch-sh64-kconfig-doesnt-need-its-own-log_buf_shift.patch
-x86-compress-the-stack-layout-of-do_page_fault.patch
-x86-compress-the-stack-layout-of-do_page_fault-fix.patch
-hpet-use-read_timer_tsc-only-when-cpu-has-tsc.patch
-x86-fix-efi-memory-map-parsing.patch
-vm86-honor-tf-bit-when-emulating-an-instruction.patch
-kdump-save-parameter-segment-in-protected-mode-x86.patch
-x86-automatically-enable-bigsmp-when-we-have-more-than-8-cpus-2.patch
-x86-automatically-enable-bigsmp-when-we-have-more-than-8-cpus-2-tidy.patch
-x86-add-the-check-for-all-the-cores-in-a-package-in-cache-information.patch
-via-vt8237-apic-bypass-deassertion-quirk.patch
-es7000-platform-update-i386.patch
-i386-clean-up-vdso-alignment-padding.patch
-i386-inline-asm-cleanup.patch
-i386-inline-asm-cleanup-kexec-fix.patch
-i386-arch-cleanup-seralize-msr.patch
-i386-arch-cleanup-seralize-msr-fix.patch
-i386-inline-assembler-cleanup-encapsulate-descriptor-and-task-register-management.patch
-i386-inline-assembler-cleanup-encapsulate-descriptor-and-task-register-management-fix.patch
-i386-generate-better-code-around-descriptor-update-and-access-functions.patch
-i386-load_tls-fix.patch
-i386-use-set_pte-macros-in-a-couple-places-where-they-were-missing.patch
-i386-fix-incorrect-tss-entry-for-ldt.patch
-x86-more-asm-cleanups.patch
-x86-privilege-cleanup.patch
-x86-make-iopl-explicit.patch
-x86-remove-redundant-tss-clearing.patch
-x86-introduce-a-write-acessor-for-updating-the-current-ldt.patch
-x86-nmi-better-support-for-debuggers.patch
-x86-nmi-better-support-for-debuggers-fix.patch
-i386-encapsulate-copying-of-pgd-entries.patch
-i386-boottime-for_each_cpu-broken.patch
-i386-boottime-for_each_cpu-broken-fix.patch
-x86-x86_64-deferred-handling-of-writes-to-proc-irq-xx-smp_affinitypatch-added-to-mm-tree.patch
-x86_64-print-processor-number-in-show_regs.patch
-x86_64-fix-off-by-one-in-e820_mapped.patch
-x86_64-prefetchw-can-fall-back-to-prefetch-if-3dnow.patch
-x86_64-create-sysfs-entries-for-cpu-only-for-present-cpus.patch
-x86_64dont-call-enforce_max_cpus-when-hotplug-is-enabled.patch
-unify-x86-x86-64-semaphore-code.patch
-remove-busywait-in-refrigerator.patch
-isa-dma-suspend-for-i386-2.patch
-isa-dma-suspend-for-x86_64-2.patch
-suspend-update-documentation.patch
-swsusp-fix-remaining-u32-vs-pm_message_t-confusion.patch
-swsusp-fix-remaining-u32-vs-pm_message_t-confusion-2.patch
-swsusp-switch-pm_message_t-to-struct.patch
-swsusp-switch-pm_message_t-to-struct-pmac_zilog-fix.patch
-swsusp-switch-pm_message_t-to-struct-ppc32-fixes.patch
-swsusp-switch-pm_message_t-to-struct-chipsfb-fixes.patch
-swsusp-switch-pm_message_t-to-struct-mesh-fixes-2.patch
-fix-pm_message_t-stuff-in-mm-tree-netdev.patch
-encrypt-suspend-data-for-easy-wiping.patch
-swsusp-prevent-disks-from-spinning-down-and-up.patch
-swsusp-simpler-calculation-of-number-of-pages-in-pbe-list.patch
-swsusup-with-dm-crypt-mini-howto.patch
-swsusp-add-locking-to-software_resume.patch
-swsusp-fix-error-handling-and-cleanups.patch
-reconfigure-msi-registers-after-resume.patch
-pm-fix-process-freezing.patch
-pm-cleanup-sys-power-disk.patch
-3c59x-pm-fixes.patch
-add-suspend-resume-for-timer.patch
-arch-cris-kconfigdebug-use-lib-kconfigdebug.patch
-uml-remove-debugging-code-from-page-fault-path.patch
-uml-rename-kconfig-files-to-be-like-the-other-arches.patch
-ptrace-i386-fix-syscall-audit-interaction-with-singlestep.patch
-uml-support-ptrace-adds-the-host-sysemu-support-for-uml-and-general-usage.patch
-uml-support-reorganize-ptrace_sysemu-support.patch
-uml-support-add-ptrace_sysemu_singlestep-option-to-i386.patch
-sysemu-fix-sysaudit--singlestep-interaction.patch
-uml-support-sysemu-slight-cleanup-and-speedup.patch
-uml-workaround-gdb-problems-on-debugging.patch
-uml-fix-sigwinch-handler-race-while-waiting-for-signals.patch
-uml-fixes-performance-regression-in-activate_mm-and-thus-exec.patch
-uml-fault-handler-micro-cleanups.patch
-uml-fix-signal-frame-copy_user.patch
-uml-fix-a-macro-typo.patch
-uml-error-path-cleanup.patch
-uml-build-cleanup.patch
-uml-remove-libc-reference-in-build.patch
-uml-mark-smp-on-uml-x86_64-as-broken.patch
-uml-remove-duplicated-exports.patch
-uml-uml-i386-is-i386-when-running-on-x86_64.patch
-uml-tlb-operation-batching.patch
-uml-merge-duplicated-page-table-code.patch
-xtensa-replace-extern-inline-with-static-inline.patch
-xtensa-delete-accidental-file.patch
-s390-machine-check-handler-bugs.patch
-s390-debug-feature-changes.patch
-s390-deadlock-in-dasd_devmap.patch
-s390-64-bit-diag250-support.patch
-s390-reipl-fix-and-extern-static-inline.patch
-s390-pfault-interrupt-race.patch
-s390-crypto-driver-update.patch
-s390-compat-system-calls.patch
-s390-spinlock-corner-case.patch
-s390-disconnected-3270-console.patch
-futex_wake_op-pthread_cond_signal-speedup.patch
-detect-soft-lockups.patch
-detect-soft-lockups-export-touch_softlockup_watchdog.patch
-mtd-stop-the-nand-functions-triggering-false-softlockup-reports.patch
-relayfs.patch
-relayfs-relayfs_remove-fix.patch
-relayfs-api-cleanup.patch
-relayfs-add-read-support.patch
-relayfs-add-read-support-fix.patch
-relayfs-upgraded-read-implementation.patch
-relayfs-update-documentation.patch
-relayfs-update-documentation-fix.patch
-yenta-make-topic95-bridges-work-with-16bit-cards.patch
-kallsyms-change-compression-algorithm.patch
-more-__read_mostly-variables.patch
-provide-better-printk-support-for-smp-machines.patch
-provide-better-printk-support-for-smp-machines-tidy.patch
-nmi-update-nmi-users-of-rcu-to-use-new-api.patch
-nmi-update-nmi-users-of-rcu-to-use-new-api-documentation.patch
-inotify-speedup.patch
-use-select-in-sound-isa-kconfig.patch
-use-select-in-sound-isa-kconfig-fix.patch
-compat-be-more-consistent-about-id_t.patch
-fs-jbd-cleanups.patch
-strip-local-symbols-from-kallsyms.patch
-kill-bio-bi_set.patch
-s390-fix-invalid-kmalloc-flags.patch
-fix-invalid-kmalloc-flags-gfp_dma-alone.patch
-remove-register_ioctl32_conversion-and-unregister_ioctl32_conversion.patch
-clean-up-the-old-digi-support-and-rescue-it.patch
-support-powering-sharp-zaurus-sl-5500-lcd-up-and-down.patch
-radix-tree-remove-unnecessary-indirections-and-clean-up.patch
-radix_tag_get-differentiate-between-no-present-node-and-tag-unset-cases.patch
-radix_tag_get-differentiate-between-no-present-node-and-tag-unset-cases-fix.patch
-auxiliary-vector-cleanups.patch
-auxiliary-vector-cleanups-fix.patch
-pnp-consolidate-kmalloc-wrappers.patch
-fix-sound-arm-makefile-for-locality-of-reference.patch
-disk-quotas-fail-when-etc-mtab-is-symlinked-to-proc-mounts.patch
-disk-quotas-fail-when-etc-mtab-is-symlinked-to-proc-mounts-tidy.patch
-add-init=-warning-to-init-mainc.patch
-remove-a-dead-extern-in-memc.patch
-remove-misleading-comment-above-sys_brk.patch
-move-m68k-rtc-drivers-over-to-initcalls.patch
-move-68360serialc-over-use-initcalls.patch
-remove-pipe-definitions.patch
-sonypi-spic-initialisation-fix.patch
-sonypi-remove-obsolete-event.patch
-optimize-writer-path-in-time_interpolator_get_counter.patch
-pnp-make-pnp_dbg-conditional-directly-on-config_pnp_debug.patch
-readahead-reset-cahe_hit-earlier.patch
-meye-use-dma-mapping-constants.patch
-sunrpc-cache_register-can-use-wrong-module-reference.patch
-ipc-add-generic-struct-ipc_ids-seq_file-iteration.patch
-ipc-convert-proc-sysvipc-to-generic-seq_file-interface.patch
-flush-icache-early-when-loading-module.patch
-speedup-fat-filesystem-directory-reads-2.patch
-pnpacpi-fix-irq-and-64-bit-address-decoding.patch
-modified-firmware_classc-to-support-no-hotplug.patch
-dell_rbu-new-dell-bios-update-driver.patch
-dell_rbu-new-dell-bios-update-driver-fix.patch
-dcdbas-add-dell-systems-management-base-driver-with-sysfs-support.patch
-fsnotify-hook-on-removexattr-too.patch
-create_workqueue_thread-signedness-fix.patch
-proc-link-count-fix.patch
-add-rdinit-parameter-to-pick-early-userspace-init.patch
-cleanup-of-deadline_dispatch_requests.patch
-parport-add-netmos-9805-support.patch
-fs-kconfig-quota-help-text-updates.patch
-jffs-jffs2-remove-wrong-function-prototypes.patch
-i386-buildc-write-out-larger-system-size-to-bootsector.patch
-check_irq_per_cpu-to-avoid-dead-code-in-__do_irq.patch
-fix-function-macro-name-collision-on-i386-oprofile.patch
-remove-asm-hdregh.patch
-3c59x-read-current-link-status-from-phy.patch
-delete-unused-do_nanosleep-declaration.patch
-clean-up-missing-overflow-check-in-get_blkdev_list.patch
-console-blanking-locking-fix.patch
-do_notify_parent_cldstop-cleanup.patch
-arm26-one-g-is-enough-for-everyone.patch
-largefile-support-for-accounting.patch
-fs-remove-redundant-timespec_equal-test-in-update_atime.patch
-remove-a-redundant-variable-in-sys_prctl.patch
-remove-filef_maxcount.patch
-remove-the-second-arg-of-do_timer_interrupt.patch
-fix-cramfs-making-duplicate-entries-in-inode-cache.patch
-fix-cramfs-making-duplicate-entries-in-inode-cache-tidy.patch
-fix-send_sigqueue-vs-thread-exit-race.patch
-adapt-scripts-ver_linux-to-new-util-linux-version-strings.patch
-futex-remove-duplicate-code.patch
-additions-to-dataread_mostly-section.patch
-ntp-ntp-helper-functions.patch
-blk-use-blk_queue_xxx-functions-to-set-parameters.patch
-convert-proc-devices-to-use-seq_file-interface-fix.patch
-tty-layer-buffering-revamp.patch
-pipe-remove-redundant-fifo_poll-abstraction.patch
-remove-verify_area-remove-verify_area-from-various-uaccessh-headers.patch
-remove-verify_area-remove-or-edit-references-to-verify_area-in-documentation.patch
-remove-verify_area-remove-fs-umsdos-notes-as-it-only-contain-a-verify_area-related-note.patch
-optimise-64bit-unaligned-access-on-32bit-kernel.patch
-vt-fix-possible-memory-corruption-in-complement_pos.patch
-hpet-fix-drift-and-url.patch
-isdn_v110-warning-fix.patch
-tpm-fix-tpm_atmelc-on-ich6.patch
-create-asm-generic-fcntlh.patch
-consildate-asm-ppc-fcntlh.patch
-clean-up-the-open-flags.patch
-clean-up-the-fcntl-operations.patch
-clean-up-struct-flock-definitions.patch
-clean-up-struct-flock64-definitions.patch
-consolidate-the-asm-ppc-fcntlh-files-into-asm-powerpc.patch
-inotify-fix-event-loss-on-hardlinked-files.patch
-sunrpc-print-unsigned-integers-in-stats.patch
-block-cfq-refcounting-fix.patch
-remove-ia_attr_flags.patch
-namei-cleanup.patch
-use-get_fs_struct-in-proc.patch
-fix-enum-pid_directory_inos-in-proc-basec.patch
-remove-duplicated-code-from-proc-and-ptrace.patch
-remove-duplicated-sys_open32-code-from-64bit-archs.patch
-cifs_create-fix.patch
-dmi-remove-uneeded-function.patch
-dmi-remove-old-debugging-code.patch
-dmi-make-dmi_string-behave-like-strdup.patch
-dmi-add-onboard-devices-discovery.patch
-dmi-add-onboard-devices-discovery-fix.patch
-ipmi-use-dmi_find_device.patch
-fix-dmi_check_system.patch
-introduce-and-use-kzalloc.patch
-introduce-and-use-kzalloc-make-kcalloc-a-static-inline.patch
-ia64-convert-kcalloc-to-kzalloc.patch
-ppc64-convert-kcalloc-to-kzalloc.patch
-input-convert-kcalloc-to-kzalloc.patch
-usb-convert-kcalloc-to-kzalloc.patch
-drivers-convert-kcalloc-to-kzalloc.patch
-fs-convert-kcalloc-to-kzalloc.patch
-alsa-convert-kcalloc-to-kzalloc.patch
-ipmi-add-per-channel-ipmb-addresses.patch
-ipmi-high-res-timer-support-fixes.patch
-ipmi-watchdog-nmi-interaction-fixes.patch
-ipmi-allow-userland-to-include-ipmih.patch
-ipmi-oem-flag-handling-and-hacks-for-some-dell-machines.patch
-ipmi-clean-up-versioning-of-the-ipmi-driver.patch
-ipmi-fix-panic-ipmb-response.patch
-hfs-remove-debug-code.patch
-hfs-show_options-support.patch
-hfs-nls-support.patch
-sd-initialize-sd-cards.patch
-sd-read-only-switch.patch
-sd-read-only-switch-coding-style-fix.patch
-sd-read-only-switch-mmc-sd-init-order-fix.patch
-sd-read-only-switch-mmc-sd-ro-style-fix.patch
-sd-scr-register.patch
-sd-scr-register-fix-a-bit-byte-counting-error-in-the-mmc-sd-code.patch
-sd-scr-register-mmc-sd-scr-style-fixpatch.patch
-sd-scr-in-sysfs.patch
-sd-4-bit-bus.patch
-sd-copyright-notice.patch
-add-write-protection-switch-handling-to-the-pxa-mmc-driver.patch
-mmc-wbsd-secure-digital-support.patch
-mmc-conditional-scr-sysfs-entry.patch
-corgi-keyboard-fix-a-couple-of-compile-errors.patch
-corgi-keyboard-add-some-power-management-code.patch
-corgi-keyboard-code-tidying.patch
-corgi-touchscreen-allow-the-driver-to-share-the-pmu.patch
-corgi-touchscreen-code-cleanup--fixes.patch
-corgi-touchscreen-fix-a-pmu-bug.patch
-w100fb-rewrite-for-platform-independence.patch
-w100fb-rewrite-for-platform-independence-fix.patch
-w100fb-update-corgi-platform-code-to-match-new.patch
-input-add-a-new-switch-event-type.patch
-corgi-add-keyboard-and-touchscreen-device-definitions.patch
-corgi-add-mmc-sd-write-protection-switch-handling.patch
-kjournald-missing-jfs_unmount-check.patch
-fix-jbd-race-in-t_forget-list-handling.patch
-make-ll_rw_block-wait-for-buffer-lock.patch
-change-ll_rw_block-calls-in-jbd.patch
-change-ll_rw_block-calls-in-reiser.patch
-change-ll_rw_block-calls-in-ufs.patch
-change-hfs-to-not-use-ll_rw_block.patch
-fix-race-in-do_get_write_access.patch
-smsc-ircc2-whitespace-fixes.patch
-smsc-ircc2-formatting-fixes.patch
-smsc-ircc2-drop-dim-macro-in-favor-of-array_size.patch
-smsc-ircc2-remove-typedefs.patch
-smsc-ircc2-dont-pass-iobase-around.patch
-smsc-ircc2-add-to-sysfs-as-platform-device-new-pm.patch
-smsc-ircc2-pm-cleanup-do-not-close-device-when-suspending.patch
-smsc-ircc2-use-netdev_priv.patch
-smsc-ircc2-dont-use-void-where-specific-type-will-do.patch
-fix-smsc_ircc_init-return-value.patch
-kprobes-prevent-possible-race-conditions-generic.patch
-kprobes-prevent-possible-race-conditions-i386-changes.patch
-kprobes-prevent-possible-race-conditions-x86_64-changes.patch
-kprobes-prevent-possible-race-conditions-ppc64-changes.patch
-kprobes-prevent-possible-race-conditions-ia64-changes.patch
-kprobes-prevent-possible-race-conditions-sparc64-changes.patch
-kprobes-prevent-possible-race-conditions-sparc64-changes-fix.patch
-kprobes-ia64-fix-race-when-break-hits-and-kprobe-not-found.patch
-kprobes-fix-handling-of-simultaneous-probe-hit-unregister.patch
-pivot_root-circular-reference-fix-3.patch
-indycam--vino-drivers.patch
-dvb-clarify-description-text-for-dvb-bt8xx-in-kconfig.patch
-dvb-clarify-description-text-for-dvb-bt8xx-in-kconfig-fix.patch
-dvb-lgdt330x-check-callback-fix.patch
-yenta-auto-tune-ene-bridges-for-cb-cards.patch
-pcmcia-yenta-dont-mess-with-bridge-control-register.patch
-suspend-update-warnings-in-documentation.patch
-mm-filemapc-make-sync_page_range_nolock-static.patch
-mm-filemapc-make-generic_file_direct_io-static.patch

Merged

+ip_conntrack_netbios_ns-build-fix.patch

net build fix

+clear-task_struct-fs_excl-on-fork.patch

CFQ fix

+i386-single-node-sparsemem-fix.patch

sparsemem fix

+i386-config_acpi_srat-typo-fix.patch

Kconfig fix

+ppc64-fix-oops-for-config_numa.patch

pcp64 oops fix

+ppc32-fix-kconfig-mismerge.patch

ppc32 fix

+acpi-should-depend-on-not-select-pci.patch

ACPI fix

+sound-support-for-vaio-ra826g-hda.patch

Vaio sound driver fix

+gregkh-driver-sysfs-strip_leading_trailing_whitespace-fix.patch

Fix gregkh-driver-sysfs-strip_leading_trailing_whitespace.patch

+input-keyboard_tasklet-dont-touch-leds-of-already-grabed-device.patch

input driver fix

-git-jfs-fixup.patch

Unneeded

+fix-split-include-dependency.patch

build fix

-ipw2100-remove-by-hand-function-entry-exit-debugging.patch
-ieee80211_module-build-fixes.patch
-ieee80211_tx-build-fix.patch
-ieee80211_rx-build-fix.patch
-ieee80211_crypt-build-fix.patch
-ieee80211_crypt_ccmp-build-fix.patch
-ieee80211_crypt_wep-build-fix.patch
-ieee80211_crypt_tkip-build-fix.patch

Unneeded

-ocfs2-prep.patch

Dropped this - maintaining the
move-truncate_inode_pages-into-delete_inode.patch patch separately was a
pita. Simply pull it in from git-ocfs2.patch

+txx9-serial-update.patch

MIPS serial driver fix

+arch-pci_find_device-remove-alpha-kernel-sys_alcorc.patch
+arch-pci_find_device-remove-alpha-kernel-sys_sioc.patch
+arch-pci_find_device-remove-frv-mb93090-mb00-pci-frvc.patch
+arch-pci_find_device-remove-frv-mb93090-mb00-pci-irqc.patch
+arch-pci_find_device-remove-ppc-kernel-pcic.patch
+arch-pci_find_device-remove-ppc-platforms-85xx-mpc85xx_cds_commonc.patch
+arch-pci_find_device-remove-sparc64-kernel-ebusc.patch
+arch-pci_find_device-remove-sparc64-kernel-ebusc-fix.patch

PCI cleanups

+pci-block-config-access-during-bist.patch
+pci-block-config-access-during-bist-update.patch
+pci-block-config-access-during-bist-update-2.patch
+pci-block-config-access-during-bist-fix-42.patch
+ipr-block-config-access-during-bist.patch
+pci-unhide-smbus-on-compaq-evo-n620c.patch

Don't let userspace access PCI registers while we're issuing a BIST.

+usbdevice_fs-header-breakage.patch

USB fix

+w83977f-watchdog-driver.patch

New watchdog driver

+x86_64-defconfig-update.patch
+x86_64-smpboot-write-around.patch
+x86_64-genapic-write-around.patch
+x86_64-remove-esr-disable.patch
+x86_64-remove-apic-errata.patch
+x86_64-huge-cpu-apicids.patch
+x86_64-calibrate-enable-irqs.patch
+x86_64-smp-call-single-cleanup.patch
+x86_64-srat-apicid.patch
+x86_64-apic-version.patch
+x86_64-pda-up-align.patch
+x86_64-numa-k8-nodeid.patch
+x86_64-intel-srat.patch
+x86_64-apic-bsp-id-up.patch
+x86_64-swiotlb-bounce.patch
+x86_64-pgdat-order.patch
+x86_64-aperture-swiotlb.patch
+x86_64-swiotlb-force.patch
+x86_64-mce-lockup.patch
+x86_64-mce-cmd-line.patch
+x86_64-up-apicid.patch
+x86_64-pci-gart-node-opt.patch
+x86_64-e820-off-by-one.patch
+x86_64-reserved-check.patch
+x86_64-flatmem-end-pfn.patch
+x86_64-mce-smp-resume.patch
+x86_64-pci-pxm.patch
+x86_64-dma32.patch
+x86_64-dma32-iommu.patch
+x86_64-dma32-ia64-compat.patch
+x86_64-print-uts-version.patch
+x86_64-sendfile-fix.patch
+x86_64-scalable-tlb-flush.patch
+x86_64-simnow-console.patch
+x86_64-pda-cleanup.patch
+x86_64-timex-config.patch
+x86_64-tlb-flush-array.patch
+x86_64-cpu-data-possible.patch
+x86_64-vm-holes-reserved.patch
+x86_64-idle-poll-fix.patch
+x86_64-early-page-typo.patch
+x86_64-setup-merge.patch
+x86_64-drop-disable-tsc.patch
+x86_64-show_mem-printk.patch
+x86_64-syscall-clobber.patch
+x86_64-pfn-valid-off-by-one.patch
+x86_64-nodemap-extend.patch
+x86_64-irq-bug.patch
+x86_64-hotplug-typo.patch
+x86_64-trampoline-free.patch
+x86_64-extern-inline.patch
+x86_64-lowest-pri.patch
+x86_64-vsyscall-gcc4.patch
+x86_64-srat-overlap-error.patch
+x86_64-dma-sync-range.patch
+x86_64-physflat-intel.patch

x86_64 tree

+add-sem_is_read-write_locked-fix.patch
+add-sem_is_read-write_locked-fix-2.patch
+add-sem_is_read-write_locked-fix-3.patch

Fix add-sem_is_read-write_locked.patch

-use-mm_counter-macros-for-nr_pte-since-its-also-under-ptl.patch
-page-fault-patches-introduce-pte_xchg-and-pte_cmpxchg.patch
-page-fault-patches-optional-page_lock-acquisition-in.patch
-page-fault-patches-optional-page_lock-acquisition-in-vs-use-mm_counter-macros-for-nr_pte-since-its-also-under-ptl.patch
-page-fault-patches-optional-page_lock-acquisition-in-nicety.patch
-page-fault-patches-no-pagetable-lock-in-do_anon_page.patch

Drop these - we'll test Hugh's approach to fixing page_table_lock contention.

+swaptoken-tuning-fix-2.patch

Fix swaptoken-tuning.patch

+memory-hotplug-prep-kill-local_mapnr.patch
+memory-hotplug-prep-break-out-zone-initialization.patch
+memory-hotplug-prep-break-out-zone-initialization-fix.patch
+memory-hotplug-prep-__section_nr-helper.patch
+memory-hotplug-prep-__section_nr-helper-fix.patch
+memory-hotplug-prep-fixup-bad_range.patch
+memory-hotplug-locking-node_size_lock.patch
+memory-hotplug-locking-zone-span-seqlock.patch
+memory-hotplug-sysfs-and-add-remove-functions.patch
+memory-hotplug-move-section_mem_map-alloc-to-sparsec.patch
+memory-hotplug-call-setup_per_zone_pages_min-after-hotplug.patch
+memory-hotplug-i386-addition-functions.patch
+memory-hotplug-i386-addition-functions-warning-fix.patch
+memory-hotplug-ppc64-specific-hot-add-functions.patch

Memory hot-unplug support

+3c59x-convert-to-use-of-pci-iomap-api.patch
+pcnet32-set_ringparam-implementation.patch
+pcnet32-set_ringparam-implementation-tidy.patch
+skge-kconfig-help-text-typo-fix.patch

netdev fixes

+acx1xx-wireless-driver.patch
+acx1xx-wireless-driver-usb-is-bust.patch
+acx1xx-allow-modular-build.patch
+acx1xx-wireless-driver-spy_offset-went-away.patch

Driver for TI acx1xx wireless cards (a bit rough. I happen to have one of
these cards. I got it to ping something).

+ppc32-make-perfmono-config_e500-specific.patch

ppc32 fix

+mips-add-tanbac-tb0287-support.patch

MIPS device support

+i386-seccomp-fix-for-auditing-ptrace.patch
+x86-cache-pollution-aware-__copy_from_user_ll.patch
+x86-cache-pollution-aware-__copy_from_user_ll-tidy.patch
+x86-cache-pollution-aware-__copy_from_user_ll-build-fix.patch
+x86-cache-pollution-aware-__copy_from_user_ll-build-fix-2.patch

x86 updates

+x86_64-nmi-watchdog-frequency-calculation-adjustments.patch

x86_64 NMI watchdog fix

-x86_64fix-cluster-mode-send_ipi_allbutself-to-use-get_cpu-put_cpu.patch
-x86_64dont-use-lowest-priority-when-using-physical-mode.patch
-x86_64use-common-functions-in-cluster-and-physflat-mode.patch
-x86_64-choose-physflat-for-amd-systems-only-when-8-cpus.patch

Dropped, or in Andi's tree.

+alpha-process_reloc_for_got-confuses-r_offset-and-r_addend.patch

Alpha fix

-pselect-ppoll-system-calls-tidy.patch
-pselect-ppoll-system-calls-fix.patch
-pselect-ppoll-system-calls-sigset_t-fix-2.patch
-pselect-ppoll-system-calls-sigset_t-fix-3.patch
-pselect-ppoll-system-calls-compat-fix.patch
-pselect-ppoll-system-calls-copy_to_user-check.patch

Folded into pselect-ppoll-system-calls.patch

+convert-proc-devices-to-use-seq_file-interface-tidy.patch

cleanup

-open-returns-enfile-but-creates-file-anyway-tidy.patch

Folded into open-returns-enfile-but-creates-file-anyway.patch

+vga-text-console-and-stty-cols-rows.patch
+vga-text-console-and-stty-cols-rows-tidy.patch

VGA fix

+autofs-fix-busy-inodes-after-umount.patch

autofs3 fix

+fix-disassociate_ctty-vs-fork-race.patch

Fix a race

+ide-scsi-highmem-cleanup.patch

Clean up ide-scsi a bit

+prefetch-kernel-stacks-to-speed-up-context-switch.patch

ia64 speedup

+bfs-fix-endianness-signedness-add-trivial-bugfix.patch

BFS fixes

+cs89x0-add-netpoll-support.patch

cs80x0 feature

+change-io_cancel-return-code-for-no-cancel-case.patch
+kiocb-locking-to-serialise-retry-and-cancel-2.patch

AIO fixes

+subcpusets-fix-for-cpusets-minor-problem.patch

cpusets fix

+remove-unnecessary-handle_irq_event-prototypes.patch

cleanup

+deadline-cleanup-question-mark-operator.patch

deadline cleanup

+parport-buffer-overflow-fix.patch
+parport-phase-fixes.patch
+parport-daisy-chain-end-detection-fix.patch
+parport-daisy-chain-device-id-reading-fix.patch
+parport-use-complete-slab-buffer.patch
+parport-constification.patch
+parport-debug_parport-build-fix.patch
+parport-kconfig-dependency-fixes.patch
+parport-include-fixes.patch
+parport-export-parport_get_port.patch

parport driver fixes

+synclinkc-compiler-optimisation-fix.patch
+synclinkc-add-clear-stats.patch
+synclinkc-add-loopback-to-async-mode.patch
+synclinkmpc-fix-double-mapping-of-signals.patch
+synclinkmpc-disable-burst-transfers.patch
+synclinkmpc-add-statistics-clear.patch
+synclinkmpc-fix-async-internal-loopback.patch

synclink update

-coverity-usb-host-ehci-dbg-null-check.patch

Folded into coverity-udf-balloc-null-deref-fix.patch

+sharpsl-abstract-c7x0-specifics-from-corgi-ssp.patch
+sharpsl-add-cxx00-support-to-the-corgi-lcd-driver.patch
+sharpsl-abstract-c7x0-specifics-from-corgi.patch
+sharpsl-abstract-model-specifics-from-corgi.patch
+sharpsl-add-new-arm-pxa-machines-spitz-and-borzoi.patch

Zaurus updates

+rapidio-message-interface-updates.patch
+rapidio-support-net-driver-fixes.patch

rapidio driver updates

+dvb-email-address-update.patch
+dvb-remove-versionh-dependencies.patch
+dvb-avoid-building-empty-built-ino.patch
+dvb-core-glue-code-for-dmx_get_caps-and-dmx_set_source.patch
+dvb-core-dvb_demux-fix-continuity-counter-error-handling.patch
+dvb-core-dvb_demux-remove-unused-cruft.patch
+dvb-core-dvb_demux-remove-unsused-descramble-callbacks.patch
+dvb-core-dvb_demux-remove-more-unused-cruft.patch
+dvb-core-dvb_demux-use-init_list_head.patch
+dvb-core-dvb_demux-formatting-fixes.patch
+dvb-core-ci-timeout-fix.patch
+dvb-frontend-mt352-fix-signal-strength-reading.patch
+dvb-frontend-stv0299-pass-i2c-bus-to-pll-callback.patch
+dvb-frontend-s5h1420-fixes.patch
+dvb-frontend-stv0299-support-reading-both-ber-and-ucblocks.patch
+dvb-frontend-tda1004x-fix-snr-reading.patch
+dvb-frontend-ves1820-improve-tuning.patch
+dvb-frontend-cx24110-diseqc-fix.patch
+dvb-frontend-cx24110-another-diseqc-fix.patch
+dvb-frontend-cx24110-clean-up-timeout-handling.patch
+dvb-frontend-stv0297-qam128-tuning-improvement.patch
+dvb-frontend-or51132-remove-bogus-optimization-attempt.patch
+dvb-usb-add-twinhandtv-starbox-support.patch
+dvb-usb-dibusb-kworld-xpert-dvb-t-usb20-support.patch
+dvb-usb-removed-empty-module_init-exit-calls.patch
+dvb-usb-dtt200u-copy-frontend_ops-before-modifying.patch
+dvb-usb-dtt200u-add-proper-device-names.patch
+dvb-usb-core-change-dvb_usb_device_init-api.patch
+dvb-usb-digitv-support-for-nxt6000-demod.patch
+dvb-usb-white-space-cleanup.patch
+dvb-usb-cxusb-fixes-for-new-firmware.patch
+dvb-remove-noisy-debug-print.patch
+dvb-bt8xx-endianness-fix.patch
+dvb-bt8xx-cleanup.patch
+dvb-bt8xx-nebula-digitv-mt352-support.patch
+dvb-nebula-digitv-nxt6000-fix.patch
+dvb-dst-fix-symbol-rate-setting.patch
+dvb-dst-remove-unnecessary-code.patch
+dvb-dst-dprrintk-cleanup.patch
+dvb-dst-dprrintk-cleanup-gcc-29x-fix.patch
+dvb-dst-dprrintk-cleanup-gcc-295-fix.patch
+dvb-dst-identify-boards.patch
+dvb-dst-fix-dvb-c-tuning.patch
+dvb-dst-ci-doc-update.patch
+dvb-dst-updated-documentation.patch
+dvb-cinergyt2-remote-control-fixes.patch
+dvb-av7110-siemens-dvb-c-analog-video-input-support.patch
+dvb-budget-ci-add-support-for-tt-dvb-c-ci-card.patch
+dvb-budget-av-fixes-for-ci-interface.patch
+dvb-budget-av-enable-frontend-on-knc1-plus-cards.patch
+dvb-av7110-disable-superflous-firmware-handshake.patch
+dvb-av7110-conditionally-disable-workaround-for-broken-firmware.patch
+dvb-ttpci-av7110-rc5-remote-control-support.patch
+dvb-ttpci-add-pci-ids-for-old-siemens-tt-dvb-c-card.patch
+dvb-saa7146-i2c-vs-sysfs-fix.patch
+dvb-ttusb-budget-use-time_after_eq.patch

DVB updates

+pcmcia-avoid-macro-usage.patch
+pcmcia-tiny-yenta_socketc-cleanup.patch
+pcmcia-warn-on-ioctl-usage.patch
+pcmcia-new-suspend-core.patch
+pcmcia-new-suspend-core-dev_to_instance-fix.patch
+pcmcia-convert-drivers-to-use-new-suspend-mechanism.patch
+pcmcia-convert-drivers-to-use-new-suspend-mechanism-spectrum_cs.patch
+pcmcia-convert-serial_cs-to-use-new-suspend-mechanism.patch
+pcmcia-use-runtime-suspend-resume-support-to-unify-all-suspend-code-paths.patch
+pcmcia-unified-device-removal-code-path.patch
+pcmcia-convert-drivers-to-use-unified-removal-code-path.patch
+pcmcia-remove-old-two-step-removal-mechanism.patch
+pcmcia-remove-unused-dev_list-in-drivers.patch
+pcmcia-unified-probe-code-path.patch
+pcmcia-convert-drivers-to-use-new-probe-mechanism.patch
+pcmcia-yenta-dont-mess-with-bridge-control-register.patch
+yenta-auto-tune-ene-bridges-for-cb-cards.patch

Largeish pcmcia update

+nfsacl-solaris-vxfs-compatibility-fix.patch

NFS fix

+spinlock-consolidation-sparc64-fix.patch

Fix spinlock-consolidation-ia64-fix.patch

+scheduler-cache-hot-autodetect.patch

Bring this scheduler feature back (it does way too much printk()ing still)

+sched-use-cached-variable-in-sys_sched_yield.patch

scheduler microoptimisation

+m68k-introduce-task_thread_info.patch
+m68k-introduce-setup_thread_stack-end_of_stack.patch
+m68k-thread_info-header-cleanup.patch
+m68k-m68k-specific-thread_info-changes.patch
+m68k-convert-thread-flags-to-use-bit-fields.patch
+add-stack-field-to-task_struct.patch
+add-stack-field-to-task_struct-ia64-fix.patch
+rename-allocfree_thread_info-to-allocfree_thread_stack.patch
+use-end_of_stack.patch
+change-thread_info-access-to-stack.patch
+use-task_thread_info.patch

Replace task_struct.thread_info with task_struct.stack and do m68k fixes
sort-of in the middle.

+v4l-common-part-updates-and-tuner-additions.patch
+v4l-common-part-updates-and-tuner-additions-gcc-29x-fix.patch
+v4l-bttv-updates-and-card-additions.patch
+v4l-bttv-updates-and-card-additions-fix.patch
+v4l-cx88-updates-and-card-additions.patch
+v4l-cx88-updates-and-card-additions-gcc-295-fix.patch
+v4l-saa7134-updates-and-board-additions.patch
+v4l-changes-the-prefix-of-msp34xx-and-error-while.patch
+v4l-syncs-tveeprom-tuners-list-with-the-list-from.patch
+v4l-correct-lg-ntsc-taln-mini-tuner-takeover.patch
+v4l-add-saa713x-card-65-kworld-v-stream-studio-tv-terminator.patch
+v4l-add-saa713x-card-66-yuan-tun-900-saa7135.patch
+v4l-cx88-dvb-incorrectly-reporting-fixed-and.patch
+v4l-normalize-whitespace-and-comments-in-tuner.patch
+v4l-change-lg-tdvs-h062f-from-ntsc-to-atsc.patch
+v4l-some-error-treatment-implemented-at-resume.patch
+v4l-the-microtune-4049fm5-uses-an-if-frequency-of.patch
+v4l-include-linux-configh-no-longer-needed.patch
+v4l-correct-the-amux-for-composite-and-s-video.patch
+v4l-print-warning-if-pal=-or-secam=-argument-is.patch
+v4l-added-some-missing-parameter-descriptions-at.patch
+v4l-makes-the-input-event-device-for-ir-matchable.patch
+v4l-include-saa6588-compiler-option-and-files.patch
+v4l-removed-kernel-version-dependency-from.patch
+v4l-tvaudio-cleanup-and-better-degug-messages.patch
+v4l-tvaudio-cleanup-and-better-degug-messages-gcc-29c-fix.patch
+v4l-tveeprom-improved-to-support-newer-hauppage-cards.patch
+v4l-tveeprom-improved-to-support-newer-hauppage-cards-gcc-29x-fix.patch

v4l updates

+fix-kernel-oops-with-cf-cards.patch

Fix compact-flash bug

+fbdev-geode-updates-fix.patch

Fix fbdev-geode-updates.patch

+sisfb-update-resurrect-makefile.patch
+sisfb-update-makefile.patch

Fix sisfb-update.patch

+fbdev-add-vesa-coordinated-video-timings-cvt-support.patch
+nvidiafb-use-cvt-to-get-mode-for-digital-displays.patch
+savagefb-make-mode_option-available-when-compiled-as.patch
+fbcon-stop-cursor-timer-if-console-is-inactive.patch
+nvidiafb-fixed-mirrored-characters-in-big-endian-machines.patch
+fbdev-initialize-var-structure-in-calc_mode_timings.patch
+pxafb-add-hsync-time-reporting-hook.patch
+fbcon-break-up-bit_putcs-into-its-component-functions.patch
+fbcon-break-up-bit_putcs-into-its-component-functions-fix.patch
+i810fb-add-i2c-ddc-support.patch
+i810fb-add-i2c-ddc-support-fix.patch
+i810fb-add-i2c-ddc-support-fix-fix.patch
+i810fb-add-i2c-ddc-support-Makefile-fix.patch
+i810fb-stop-lcd-displays-from-flickering.patch
+quiet-non-x86-option-rom-warnings.patch
+s3c2410fb-arm-s3c2410-framebuffer-driver.patch
+s3c2410fb-platform-support-for-arm-s3c2410-framebuffer.patch

fbdev driver updates

+drivers-md-raid1c-make-a-function-static.patch
+md-choose-better-default-offset-for-bitmap.patch
+md-use-queue_hardsect_size-instead-of-block_size-for-md-superblock-size-calc.patch
+md-add-information-about-superblock-version-to-proc-mdstat.patch
+md-report-spare-drives-in-proc-mdstat.patch
+md-make-sure-the-new-sb_size-is-set-properly-device-added-without-pre-existing-superblock.patch
+md-really-get-sb_size-setting-right-in-all-cases.patch
+md-fix-raid10-assembly-when-too-many-devices-are-missing.patch
+md-fix-bug-when-raid10-rebuilds-without-enough-drives.patch

RAID updates

+documentation-sparse-snapshot-url.patch

Documentation fix

+fuse-more-flexible-caching.patch

fuse update

+mm-filemapc-make-two-functions-static.patch
+mm-filemapc-make-sync_page_range_nolock-static.patch
+mm-filemapc-make-generic_file_direct_io-static.patch

scoping fixes

+lib-sortc-small-cleanups.patch
+drivers-net-wan-possible-cleanups.patch
+remove-acpi-s4bios-support.patch
+fs-cramfs-uncompressc-should-include-linux-cramfs_fsh.patch
+i386-x86_64-make-get_cpu_vendor-static.patch

cleanuplets



All 874 patches:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/patch-list



2005-09-08 13:14:26

by Benoit Boissinot

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On 9/8/05, Andrew Morton <[email protected]> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
>

> git-cifs.patch

it adds a new compilation warning with gcc-4:
fs/cifs/cifsglob.h:335: warning: type qualifiers ignored on function
return type

The following patch fixes it (removes the const qualifier)

Signed-off-by: Benoit Boissinot <[email protected]>


--- ./fs/cifs/cifsglob.h 2005-09-08 14:50:34.000000000 +0200
+++ ./fs/cifs/cifsglob.h.new 2005-09-08 15:02:50.000000000 +0200
@@ -331,7 +331,7 @@ CIFS_SB(struct super_block *sb)
return sb->s_fs_info;
}

-static inline const char CIFS_DIR_SEP(const struct cifs_sb_info *cifs_sb)
+static inline char CIFS_DIR_SEP(const struct cifs_sb_info *cifs_sb)
{
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS)
return '/';

2005-09-08 13:49:00

by Christoph Hellwig

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Thu, Sep 08, 2005 at 05:30:42AM -0700, Andrew Morton wrote:
> -ocfs2-prep.patch
>
> Dropped this - maintaining the
> move-truncate_inode_pages-into-delete_inode.patch patch separately was a
> pita. Simply pull it in from git-ocfs2.patch

Could you please just send the move truncate_inode_pages into delete_inode
patch to Linus ASAP instead? It's useful without OCFS2, I have some changes
that need it pending, and the reiser4 folks also need it to clean some
of their mess up (if they're still interested..)

2005-09-08 14:30:01

by Martin Bligh

[permalink] [raw]
Subject: Re: 2.6.13-mm2


> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
>
> (kernel.org propagation is slow. There's a temp copy at
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
>
>
>
> - Added Andi's x86_64 tree, as separate patches
>
> - Added a driver for TI acx1xx cardbus wireless NICs
>
> - Large revamp of pcmcia suspend handling
>
> - Largeish v4l and DVB updates
>
> - Significant parport rework
>
> - Many tty drivers still won't compile
>
> - Lots of framebuffer driver updates
>
> - There are still many patches here for 2.6.14. We're doing pretty well
> with merging up the subsystem trees. ia64 and CIFS are still pending.
> x86_64 and several of Greg's trees (especially USB) aren't merged yet.

Build fails on x86_64, at least, with this config:
http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/amd64

arch/x86_64/pci/built-in.o(.init.text+0xa88): In function `pci_acpi_scan_root':
: undefined reference to `pxm_to_node'
make: *** [.tmp_vmlinux1] Error 1
09/08/05-06:52:31 Build the kernel. Failed rc = 2
09/08/05-06:52:31 build: kernel build Failed rc = 1
09/08/05-06:52:31 command complete: (2) rc=126
Failed and terminated the run

2005-09-08 15:11:56

by Michal Piotrowski

[permalink] [raw]
Subject: Re: 2.6.13-mm2 high memory support borken?

Hi,

On 08/09/05, Andrew Morton <[email protected]> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/

michal@ng02:~$ cat /proc/meminfo
MemTotal: 893824 kB
[---cut---]
VmallocChunk: 110380 kB

something is wrong, I have got 1 gb ram on my box.

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.13-mm2
# Thu Sep 8 17:03:15 2005
#
CONFIG_X86=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_SYSCTL=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_CPUSETS is not set
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
CONFIG_MPENTIUM4=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HPET_TIMER is not set
CONFIG_SMP=y
CONFIG_NR_CPUS=2
CONFIG_SCHED_SMT=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=m
CONFIG_X86_MCE_P4THERMAL=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
CONFIG_MICROCODE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
# CONFIG_HIGHPTE is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_IRQBALANCE=y
CONFIG_HAVE_DEC_LOCK=y
# CONFIG_REGPARM is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_PHYSICAL_START=0x100000
CONFIG_KEXEC=y

#
# Performance-monitoring counters support
#
# CONFIG_PERFCTR is not set

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SOFTWARE_SUSPEND is not set

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
# CONFIG_ACPI_HOTKEY is not set
CONFIG_ACPI_FAN=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_IBM is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set
# CONFIG_ACPI_CONTAINER is not set

#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=m
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set

#
# CPUFreq processor drivers
#
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
CONFIG_X86_P4_CLOCKMOD=m
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY_PROC=y
# CONFIG_PCI_DEBUG is not set
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
# CONFIG_HOTPLUG_CPU is not set

#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=m
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_TUNNEL=m
CONFIG_IPV6_TUNNEL=m
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_BRIDGE_NETFILTER=y

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_CT_ACCT=y
CONFIG_IP_NF_CONNTRACK_MARK=y
# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
# CONFIG_IP_NF_NETBIOS_NS is not set
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
# CONFIG_IP_NF_MATCH_PHYSDEV is not set
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_REALM=m
CONFIG_IP_NF_MATCH_SCTP=m
# CONFIG_IP_NF_MATCH_DCCP is not set
CONFIG_IP_NF_MATCH_COMMENT=m
CONFIG_IP_NF_MATCH_CONNMARK=m
# CONFIG_IP_NF_MATCH_CONNBYTES is not set
CONFIG_IP_NF_MATCH_HASHLIMIT=m
# CONFIG_IP_NF_MATCH_STRING is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
# CONFIG_IP_NF_TARGET_TTL is not set
CONFIG_IP_NF_TARGET_CONNMARK=m
# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_TARGET_NOTRACK=m
CONFIG_IP_NF_ARPTABLES=m
# CONFIG_IP_NF_ARPFILTER is not set
# CONFIG_IP_NF_ARP_MANGLE is not set

#
# IPv6: Netfilter Configuration (EXPERIMENTAL)
#
# CONFIG_IP6_NF_QUEUE is not set
# CONFIG_IP6_NF_IPTABLES is not set

#
# Bridge: Netfilter Configuration
#
# CONFIG_BRIDGE_NF_EBTABLES is not set

#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
# CONFIG_ATM is not set
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
# CONFIG_DECNET is not set
CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
CONFIG_IPX_INTERN=y
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
CONFIG_NET_CLS_ROUTE=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NETFILTER_NETLINK is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
# CONFIG_DEBUG_DRIVER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_1284 is not set

#
# Plug and Play support
#
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_PNPACPI=y

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not set
CONFIG_BLK_DEV_RAM_COUNT=16
# CONFIG_LBD is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=m
CONFIG_IOSCHED_CFQ=m
# CONFIG_ATA_OVER_ETH is not set

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=m
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
CONFIG_IDE_TASK_IOCTL=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
CONFIG_SCSI_SATA=y
# CONFIG_SCSI_ATA_ADMA is not set
# CONFIG_SCSI_SATA_AHCI is not set
# CONFIG_SCSI_SATA_SVW is not set
CONFIG_SCSI_ATA_PIIX=y
# CONFIG_SCSI_SATA_MV is not set
# CONFIG_SCSI_SATA_NV is not set
# CONFIG_SCSI_SATA_PROMISE is not set
# CONFIG_SCSI_SATA_QSTOR is not set
# CONFIG_SCSI_SATA_SX4 is not set
# CONFIG_SCSI_SATA_SIL is not set
# CONFIG_SCSI_SATA_SIL24 is not set
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_ULI is not set
# CONFIG_SCSI_SATA_VIA is not set
# CONFIG_SCSI_SATA_VITESSE is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA24XX is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_NET_SB1000 is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# PHY device support
#

#
# Ethernet (10 or 100Mbit)
#
# CONFIG_NET_ETHERNET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
CONFIG_SK98LIN=m
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_CHELSIO_T1 is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_KGDBOE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
# CONFIG_NET_POLL_CONTROLLER is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=m
# CONFIG_SERIAL_8250_ACPI is not set
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=m
CONFIG_NVRAM=m
CONFIG_RTC=m
CONFIG_GEN_RTC=m
CONFIG_GEN_RTC_X=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# Ftape, the floppy tape device driver
#
CONFIG_AGP=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set

#
# TPM devices
#
# CONFIG_TCG_TPM is not set

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_I801=m
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_ISA=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Hardware Monitoring support
#
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
CONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia Capabilities Port drivers
#

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
# CONFIG_FB is not set
# CONFIG_VIDEO_SELECT is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y

#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_AC97_BUS=m

#
# PCI devices
#
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_HDA_INTEL is not set

#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=m
# CONFIG_USB_EHCI_SPLIT_ISO is not set
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_UHCI_HCD=m
# CONFIG_USB_SL811_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be
needed; see USB_STORAGE Help for more information
#
# CONFIG_USB_STORAGE is not set

#
# USB Input Devices
#
# CONFIG_USB_HID is not set

#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_ACECAD is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_ITMTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set

#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set

#
# Video4Linux support is needed for USB Multimedia device support
#

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_MON is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=m
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_AIRPRIME is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OMNINET is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_GOTEMP is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TEST is not set

#
# USB DSL modem support
#

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# MMC/SD Card support
#
# CONFIG_MMC is not set

#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set

#
# SN Devices
#

#
# Distributed Lock Manager
#
CONFIG_DLM=m
CONFIG_DLM_DEVICE=m
# CONFIG_DLM_DEBUG is not set

#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y

#
# XFS support
#
CONFIG_XFS_FS=m
# CONFIG_XFS_RT is not set
CONFIG_XFS_QUOTA=y
CONFIG_XFS_SECURITY=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=m

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=m
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
CONFIG_RELAYFS_FS=m
CONFIG_CONFIGFS_FS=m

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ASFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
CONFIG_NLS=m
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
CONFIG_NLS_CODEPAGE_852=m
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
CONFIG_NLS_CODEPAGE_1250=m
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=15
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_SCHEDSTATS=y
CONFIG_DEBUG_SLAB=y
CONFIG_DEBUG_PREEMPT=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_KOBJECT=y
CONFIG_DEBUG_HIGHMEM=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
CONFIG_PAGE_OWNER=y
CONFIG_DEBUG_FS=y
CONFIG_FRAME_POINTER=y
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_KPROBES=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_4KSTACKS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_CAPABILITIES=m
CONFIG_SECURITY_ROOTPLUG=m
CONFIG_SECURITY_SECLVL=m
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_TEST=m

#
# Hardware crypto devices
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC32=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_PC=y


Regards,
Michal Piotrowski

2005-09-08 17:20:05

by Michael Thonke

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Hello Andrew,

I found a problem regarding to multi device support (Linux software Raid).

The problem first appears now in 2.6.13-mm2, that the kernel didn't initialize the md devices.

2.6.13-mm1 works very well, and everything is okay.

Also one strange thing I found was that my SATA devices were initialized a-sync/disordered e.g

SATA1 with one hdd then something like USB and IPv4 and such and at least SATA3: with 2nd hdd.
That I've never seen this order init order before. Seems to be mixed all around.

I tried irqpoll,pci=routeirq with no success.

I can't provide some logs, because I can't grep the dmesg since it doesn't boot.

There are changes in libata driver for sata_nv? Or md driver changes that cause that?


Thanks

Best regards

--
Michael Thonke

2005-09-08 19:40:17

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Michael Thonke <[email protected]> wrote:
>
> Hello Andrew,
>
> I found a problem regarding to multi device support (Linux software Raid).
>
> The problem first appears now in 2.6.13-mm2, that the kernel didn't initialize the md devices.
>
> 2.6.13-mm1 works very well, and everything is okay.
>
> Also one strange thing I found was that my SATA devices were initialized a-sync/disordered e.g
>
> SATA1 with one hdd then something like USB and IPv4 and such and at least SATA3: with 2nd hdd.
> That I've never seen this order init order before. Seems to be mixed all around.
>
> I tried irqpoll,pci=routeirq with no success.
>
> I can't provide some logs, because I can't grep the dmesg since it doesn't boot.
>
> There are changes in libata driver for sata_nv? Or md driver changes that cause that?
>

There are changes to both sata_nv and to md in 2.6.13-mm2. To isolate them
it would be great of you could apply

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/broken-out/linus.patch

to 2.6.13 and see if the problem still happens. That will separate out the
md changes which are still in -mm.

Thanks.

2005-09-08 23:24:25

by Ronny V. Vindenes

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Andrew Morton <[email protected]> writes:

> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
>
> (kernel.org propagation is slow. There's a temp copy at
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
>
>
>
> - Added Andi's x86_64 tree, as separate patches
>
> - Added a driver for TI acx1xx cardbus wireless NICs
>
> - Large revamp of pcmcia suspend handling
>
> - Largeish v4l and DVB updates
>
> - Significant parport rework
>
> - Many tty drivers still won't compile
>
> - Lots of framebuffer driver updates
>
> - There are still many patches here for 2.6.14. We're doing pretty well
> with merging up the subsystem trees. ia64 and CIFS are still pending.
> x86_64 and several of Greg's trees (especially USB) aren't merged yet.
>

x86-64-ptrace-ia32-bp-fix.patch breaks all 32bit apps for me on Athlon64

--
Ronny V. Vindenes <[email protected]>

2005-09-08 23:35:04

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2

[email protected] (Ronny V. Vindenes) wrote:
>
> x86-64-ptrace-ia32-bp-fix.patch breaks all 32bit apps for me on Athlon64

Great, thanks muchly for working that out.

Parag, perhaps you could confirm that reverting that patch fixes things up?

2005-09-09 00:26:54

by Parag Warudkar

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Andrew Morton wrote:

> Parag, perhaps you could confirm that reverting that patch fixes
> things up?

Sure - reverting the x86-64-ptrace-ia32-bp-fix patch fixes it.

Roland - if seeing backtraces and register info for the failing programs
is going to help you, please
see the thread "2.6.13-mm1 X86_64: All 32bit programs segfault"

Thanks
Parag

2005-09-09 00:39:49

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Thu, Sep 08, 2005 at 07:30:01AM -0700, Martin J. Bligh wrote:
>
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> >
> > (kernel.org propagation is slow. There's a temp copy at
> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
> >
> >
> >
> > - Added Andi's x86_64 tree, as separate patches
> >
> > - Added a driver for TI acx1xx cardbus wireless NICs
> >
> > - Large revamp of pcmcia suspend handling
> >
> > - Largeish v4l and DVB updates
> >
> > - Significant parport rework
> >
> > - Many tty drivers still won't compile
> >
> > - Lots of framebuffer driver updates
> >
> > - There are still many patches here for 2.6.14. We're doing pretty well
> > with merging up the subsystem trees. ia64 and CIFS are still pending.
> > x86_64 and several of Greg's trees (especially USB) aren't merged yet.
>
> Build fails on x86_64, at least, with this config:
> http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/amd64
>
> arch/x86_64/pci/built-in.o(.init.text+0xa88): In function `pci_acpi_scan_root':
> : undefined reference to `pxm_to_node'
> make: *** [.tmp_vmlinux1] Error 1
> 09/08/05-06:52:31 Build the kernel. Failed rc = 2
> 09/08/05-06:52:31 build: kernel build Failed rc = 1
> 09/08/05-06:52:31 command complete: (2) rc=126
> Failed and terminated the run

I tried the config in my (non mm) tree and it compiled just fine.
Must be some bad interaction with another patch in -mm* or a bad
merge.

The original patch that introduces it is
ftp://ftp.firstfloor.org/pub/ak/x86_64/x86_64-2.6.13-1/patches/pci-pxm

pxm_to_node for x86-64 is supposed to be declared in arch/x86_64/mm/srat.c

Andrew?

-Andi

2005-09-09 00:55:25

by Roland McGrath

[permalink] [raw]
Subject: Re: 2.6.13-mm2

I guess something else has changed since I tested the patch. I haven't
tried -mm2, but the current Linus tree I'm having trouble getting to boot
on my x86_64 machine atm ("soft lockup" in the e1000 driver setup).


Thanks,
Roland

2005-09-09 01:48:13

by Grant Coady

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Thu, 8 Sep 2005 05:30:42 -0700, Andrew Morton <[email protected]> wrote:

>
>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/

Hi Andrew,

After this error:

CC drivers/parport/parport_pc.o
drivers/parport/parport_pc.c:2511: error: via_686a_data causes a section type conflict
drivers/parport/parport_pc.c:2520: error: via_8231_data causes a section type conflict
drivers/parport/parport_pc.c:2705: error: parport_pc_superio_info causes a section type conflict
drivers/parport/parport_pc.c:2782: error: cards causes a section type conflict
make[2]: *** [drivers/parport/parport_pc.o] Error 1
make[1]: *** [drivers/parport] Error 2
make: *** [drivers] Error 2

got this:

grant@sempro:/opt/linux/linux-2.6.13-mm2a$ make menuconfig
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kxgettext.o
HOSTCC scripts/kconfig/mconf.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/mconf
HOSTCC scripts/lxdialog/checklist.o
HOSTCC scripts/lxdialog/inputbox.o
HOSTCC scripts/lxdialog/lxdialog.o
HOSTCC scripts/lxdialog/menubox.o
HOSTCC scripts/lxdialog/msgbox.o
HOSTCC scripts/lxdialog/textbox.o
HOSTCC scripts/lxdialog/util.o
HOSTCC scripts/lxdialog/yesno.o
HOSTLD scripts/lxdialog/lxdialog
scripts/kconfig/mconf arch/i386/Kconfig
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP IEEE80211_CRYPT_WEP CRYPTO CRYPTO_ANUBIS
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP IEEE80211_CRYPT_WEP CRYPTO CRYPTO_MD4
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP IEEE80211_CRYPT_WEP CRYPTO CRYPTO_MD5
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP IEEE80211_CRYPT_WEP CRYPTO CRYPTO_AES_X86_64
Warning! Found recursive dependency: NET_RADIO HOSTAP IEEE80211 NET_RADIO HERMES TMD_HERMES
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP HOSTAP_PCI
Warning! Found recursive dependency: NET_RADIO HOSTAP IEEE80211 NET_RADIO WAVELAN
#
# using defaults found in .config
#
from this: http://bugsplatter.mine.nu/test/boxen/sempro/config-2.6.13-mm2a.gz
and: http://bugsplatter.mine.nu/test/boxen/sempro/config-2.6.13-mm2b.gz
when I tried again, slightly different config. I don't do wireless networking,
clueless ;-)

Grant.

2005-09-09 02:55:06

by Damir Perisa

[permalink] [raw]
Subject: 2.6.13-mm2 - drivers/char/speakup/speakup doesn't compile (+warnings from other things)

Le Thursday 08 September 2005 14:30, Andrew Morton a ?crit?:
| - Many tty drivers still won't compile

indeed ... here one of them:

CC [M] drivers/char/speakup/speakup.o
drivers/char/speakup/speakup.c: In function 'speakup_paste_selection':
drivers/char/speakup/speakup.c:491: error: 'struct tty_ldisc' has no member named 'receive_room'
drivers/char/speakup/speakup.c:491: error: 'struct tty_ldisc' has no member named 'receive_room'
make[3]: *** [drivers/char/speakup/speakup.o] Error 1
make[2]: *** [drivers/char/speakup] Error 2
make[1]: *** [drivers/char] Error 2

warnings from compile (gcc 4.0.1) till this error can be found in
attachement 'build-log-$kernelver-processed'.

the xfs trouble with '"__BIG_ENDIAN" is not defined' is now happening since rc6-mm1.

config can be found here:

http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/kernels/kernel26mm/config?rev=1.34&cvsroot=Extra&content-type=text/vnd.viewcvs-markup

hope this info is usable to somebody out there,

greetings,
Damir

--
Customer: "I'm sorry. I think I just deleted the Internet!"
Tech Support: "That's ok. We have it backed up here on tape somewhere."


Attachments:
(No filename) (0.00 B)
(No filename) (189.00 B)
Download all attachments

2005-09-09 09:30:09

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2 high memory support borken?

Michal Piotrowski <[email protected]> wrote:
>
> On 08/09/05, Andrew Morton <[email protected]> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
>
> michal@ng02:~$ cat /proc/meminfo
> MemTotal: 893824 kB
> [---cut---]
> VmallocChunk: 110380 kB
>
> something is wrong, I have got 1 gb ram on my box.

Me too. It's some bug in memory-hotplug-i386-addition-functions.patch.


btw, Dave, if you see something like this:

--- devel/arch/i386/mm/discontig.c
+++ devel-akpm/arch/i386/mm/discontig.c
@@ -98,7 +98,7 @@ unsigned long node_memmap_size_bytes(int

extern unsigned long find_max_low_pfn(void);
extern void find_max_pfn(void);
-extern void one_highpage_init(struct page *, int, int);
+extern void add_one_highpage_init(struct page *, int, int);

Please take the opportunity to dtrt and move the thing into a header file
rather than letting such dreck continue to live, thanks.

And please don't send bugs either.

2005-09-09 09:44:13

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Grant Coady <[email protected]> wrote:
>
> On Thu, 8 Sep 2005 05:30:42 -0700, Andrew Morton <[email protected]> wrote:
>
> >
> >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
>
> Hi Andrew,
>
> After this error:
>
> CC drivers/parport/parport_pc.o
> drivers/parport/parport_pc.c:2511: error: via_686a_data causes a section type conflict
> drivers/parport/parport_pc.c:2520: error: via_8231_data causes a section type conflict
> drivers/parport/parport_pc.c:2705: error: parport_pc_superio_info causes a section type conflict
> drivers/parport/parport_pc.c:2782: error: cards causes a section type conflict
> make[2]: *** [drivers/parport/parport_pc.o] Error 1
> make[1]: *** [drivers/parport] Error 2
> make: *** [drivers] Error 2

Yes, gcc 4.x doesn't like the consts for some reason.


diff -puN drivers/parport/parport_pc.c~a drivers/parport/parport_pc.c
--- devel/drivers/parport/parport_pc.c~a 2005-09-09 02:32:49.000000000 -0700
+++ devel-akpm/drivers/parport/parport_pc.c 2005-09-09 02:33:35.000000000 -0700
@@ -2509,7 +2509,7 @@ static int __devinit sio_ite_8872_probe
static int __devinitdata parport_init_mode = 0;

/* Data for two known VIA chips */
-static const struct parport_pc_via_data via_686a_data __devinitdata = {
+static struct parport_pc_via_data via_686a_data __devinitdata = {
0x51,
0x50,
0x85,
@@ -2518,7 +2518,7 @@ static const struct parport_pc_via_data
0xF0,
0xE6
};
-static const struct parport_pc_via_data via_8231_data __devinitdata = {
+static struct parport_pc_via_data via_8231_data __devinitdata = {
0x45,
0x44,
0x50,
@@ -2699,7 +2699,7 @@ enum parport_pc_sio_types {
};

/* each element directly indexed from enum list, above */
-static const struct parport_pc_superio {
+static struct parport_pc_superio {
int (*probe) (struct pci_dev *pdev, int autoirq, int autodma,
const struct parport_pc_via_data *via);
const struct parport_pc_via_data *via;
@@ -2763,7 +2763,7 @@ enum parport_pc_pci_cards {

/* each element directly indexed from enum list, above
* (but offset by last_sio) */
-static const struct parport_pc_pci {
+static struct parport_pc_pci {
int numports;
struct { /* BAR (base address registers) numbers in the config
space header */
_



> Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP IEEE80211_CRYPT_WEP CRYPTO CRYPTO_ANUBIS
> Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP IEEE80211_CRYPT_WEP CRYPTO CRYPTO_MD4
> Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP IEEE80211_CRYPT_WEP CRYPTO CRYPTO_MD5
> Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP IEEE80211_CRYPT_WEP CRYPTO CRYPTO_AES_X86_64
> Warning! Found recursive dependency: NET_RADIO HOSTAP IEEE80211 NET_RADIO HERMES TMD_HERMES
> Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP HOSTAP_PCI
> Warning! Found recursive dependency: NET_RADIO HOSTAP IEEE80211 NET_RADIO WAVELAN

Yup, Jeff knows about that..

2005-09-09 10:42:23

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Andi Kleen <[email protected]> wrote:
>
> > arch/x86_64/pci/built-in.o(.init.text+0xa88): In function `pci_acpi_scan_root':
> > : undefined reference to `pxm_to_node'
> > make: *** [.tmp_vmlinux1] Error 1
> > 09/08/05-06:52:31 Build the kernel. Failed rc = 2
> > 09/08/05-06:52:31 build: kernel build Failed rc = 1
> > 09/08/05-06:52:31 command complete: (2) rc=126
> > Failed and terminated the run
>
> I tried the config in my (non mm) tree and it compiled just fine.

You must have mucked it up.

> Must be some bad interaction with another patch in -mm* or a bad
> merge.

Nope.

> The original patch that introduces it is
> ftp://ftp.firstfloor.org/pub/ak/x86_64/x86_64-2.6.13-1/patches/pci-pxm
>
> pxm_to_node for x86-64 is supposed to be declared in arch/x86_64/mm/srat.c

pxm_to_node is *defined* in arch/x86_64/mm/srat.c, which is enabled by
CONFIG_ACPI_NUMA.

pxm_to_node is declared in include/asm-x86_64/numa.h

pxm_to_node is referenced in arch/i386/pci/acpi.c, under CONFIG_NUMA.

Consequently CONFIG_ACPI_NUMA=n, CONFIG_NUMA=y will fail to link.

Also x86 compilation of arch/i386/pci/acpi.c with CONFIG_NUMA=y will
generate an `implicit declaration of function' warning and will fail to
link.



Also, x86_64-srat-overlap-error.patch adds this forward decl in
arch/x86_64/mm/srat.c:

int node_to_pxm(int n);

Please, either give it static scope or, if it really needs global scope (it
doesn't), put the declaration in the right place?

2005-09-09 10:46:41

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Friday 09 September 2005 12:41, Andrew Morton wrote:
> Andi Kleen <[email protected]> wrote:
> > > arch/x86_64/pci/built-in.o(.init.text+0xa88): In function
`pci_acpi_scan_root':
> > > : undefined reference to `pxm_to_node'
> > >
> > > make: *** [.tmp_vmlinux1] Error 1
> > > 09/08/05-06:52:31 Build the kernel. Failed rc = 2
> > > 09/08/05-06:52:31 build: kernel build Failed rc = 1
> > > 09/08/05-06:52:31 command complete: (2) rc=126
> > > Failed and terminated the run
> >
> > I tried the config in my (non mm) tree and it compiled just fine.
>
> You must have mucked it up.

Martin put up the wrong .config. I fixed it now in my tree.
The problem was that he didn't enable ACPI_NUMA, just NUMA
and the acpi.c code only checked _NUMA

>
>
> Also, x86_64-srat-overlap-error.patch adds this forward decl in
> arch/x86_64/mm/srat.c:
>
> int node_to_pxm(int n);
>
> Please, either give it static scope or, if it really needs global scope (it
> doesn't), put the declaration in the right place?

I'll make it static.

-Andi

2005-09-09 12:18:47

by Alan Cox

[permalink] [raw]
Subject: Re: 2.6.13-mm2 - drivers/char/speakup/speakup doesn't compile (+warnings from other things)

On Fri, Sep 09, 2005 at 04:52:12AM +0200, Damir Perisa wrote:
> drivers/char/speakup/speakup.c:491: error: 'struct tty_ldisc' has no member named 'receive_room'
> drivers/char/speakup/speakup.c:491: error: 'struct tty_ldisc' has no member named 'receive_room'
> make[3]: *** [drivers/char/speakup/speakup.o] Error 1
> make[2]: *** [drivers/char/speakup] Error 2

Builds in my tree, may be short a diff with Linus or it may have misapplied.
I'll doublecheck when I resync.

2005-09-09 13:45:50

by Grant Coady

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Hi Andrew, Marko,
On Fri, 9 Sep 2005 02:43:36 -0700, Andrew Morton <[email protected]> wrote:

>Grant Coady <[email protected]> wrote:
>>
>> On Thu, 8 Sep 2005 05:30:42 -0700, Andrew Morton <[email protected]> wrote:
>>
>> >
>> >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
>>
>> Hi Andrew,
>>
>> After this error:
>>
>> CC drivers/parport/parport_pc.o
>> drivers/parport/parport_pc.c:2511: error: via_686a_data causes a section type conflict
>> drivers/parport/parport_pc.c:2520: error: via_8231_data causes a section type conflict
>> drivers/parport/parport_pc.c:2705: error: parport_pc_superio_info causes a section type conflict
>> drivers/parport/parport_pc.c:2782: error: cards causes a section type conflict
>> make[2]: *** [drivers/parport/parport_pc.o] Error 1
>> make[1]: *** [drivers/parport] Error 2
>> make: *** [drivers] Error 2
>
>Yes, gcc 4.x doesn't like the consts for some reason.

Not using gcc 4.x, Slackware-10.1+ with Gnu C 3.3.6
>
>diff -puN drivers/parport/parport_pc.c~a drivers/parport/parport_pc.c
[...]
Thank you, compile completed :o) Bonus! It booted too.

Grant.

2005-09-09 20:53:52

by Dominik Karall

[permalink] [raw]
Subject: Re: 2.6.13-mm2 (general protection fault)

On Thursday 08 September 2005 14:30, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13
>-mm2/

Hi Andrew,
here is the log from my problem with an usb device (kernel hangs when
switching the external hdd on). I hope this log provides useful information.
This bug was already in 2.6.13-mm1.

hth,
dominik


Attachments:
(No filename) (0.00 B)
(No filename) (316.00 B)
Download all attachments

2005-09-10 06:33:24

by Marko Kohtala

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On 9/9/05, Grant Coady <[email protected]> wrote:
> Hi Andrew, Marko,
> On Fri, 9 Sep 2005 02:43:36 -0700, Andrew Morton <[email protected]> wrote:
> >Grant Coady <[email protected]> wrote:
> >> On Thu, 8 Sep 2005 05:30:42 -0700, Andrew Morton <[email protected]> wrote:
> >>
> >> >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> >>
> >> Hi Andrew,
> >>
> >> After this error:
> >>
> >> CC drivers/parport/parport_pc.o
> >> drivers/parport/parport_pc.c:2511: error: via_686a_data causes a section type conflict
> >> drivers/parport/parport_pc.c:2520: error: via_8231_data causes a section type conflict
> >> drivers/parport/parport_pc.c:2705: error: parport_pc_superio_info causes a section type conflict
> >> drivers/parport/parport_pc.c:2782: error: cards causes a section type conflict
> >> make[2]: *** [drivers/parport/parport_pc.o] Error 1
> >> make[1]: *** [drivers/parport] Error 2
> >> make: *** [drivers] Error 2
> >
> >Yes, gcc 4.x doesn't like the consts for some reason.

And this was documented in linux/init.h: __devinitdata can not be
const. My mistake. Thanks for fixing it.

2005-09-10 07:02:30

by Michael Thonke

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Hello Andrew,

>There are changes to both sata_nv and to md in 2.6.13-mm2. To isolate them
>
>it would be great of you could apply
>
>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/broken-out/linus.patch
>
I applied and tested it with 2.6.13 vanilla kernel + linux.patch as suggested, but so far no problem as with 2.6.13-mm2.

I also played with the git-snapshots 2.6.13-git[1-9] no problem here. I think the problem is

somewhere else we have to pay attention, too. MD Raidlevels [0,1] failed to start with 2.6.13-mm2.

Raid0 config:

2x 20GB Partitiontype 0xFD "Linux Raid autodetect"

64k Chunksize, persistent superblock.

little output from mdadm

/dev/md2:

Version : 00.90.02

Creation Time : Sun Jun 26 19:14:45 2005

Raid Level : raid0

Array Size : 40001536 (38.15 GiB 40.96 GB)

Raid Devices : 2

Total Devices : 2

Preferred Minor : 2

Persistence : Superblock is persistent

Update Time : Sun Jun 26 19:14:45 2005

State : clean

Active Devices : 2

Working Devices : 2

Failed Devices : 0

Spare Devices : 0

Chunk Size : 64K

UUID : c53fa0d8:9d85875b:efb82dde:11c6617c

Events : 0.1

Number Major Minor RaidDevice State

0 8 23 0 active sync /dev/sdb7

1 8 6 1 active sync /dev/sda6



Raid1 config.

2x 15GB Partitiontype 0xFD "Linux Raid autodetect"

chunksize 128k.


I have no idea where I should look, to resolve this behavior.


>to 2.6.13 and see if the problem still happens. That will separate out the
>md changes which are still in -mm.
>
>Thanks.
>
>
>
As for all the time, I'm willing to test to glue the problem out.

Thanks

Best regards

--
Michael Thonke

2005-09-10 11:45:11

by Manuel Lauss

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Hello,

Andrew Morton wrote:

> +i810fb-add-i2c-ddc-support.patch
> +i810fb-add-i2c-ddc-support-fix.patch
> +i810fb-add-i2c-ddc-support-fix-fix.patch
> +i810fb-add-i2c-ddc-support-Makefile-fix.patch

compiled with CONFIG_FB_I810_I2C = n and CONFIG_FB_I810 = y
it oopses at boot in file drivers/video/i810/i810_main.c:1884

...
Kernel command line: root=/dev/hda7 video=i810fb:xres:1024,yres:768,bpp:8,hsync1:40,hsync2:80,vsync1:60,vsync2:60,extvga,vram:4,accel,mtrr
...
Unable to handle kernel NULL pointer dereference at virtual address 00000054
printing eip:
c02543c0
*pde = 00000000
Oops: 0000 [#1]
last sysfs file:
Modules linked in:
CPU: 0
EIP: 0060:[<c02543c0>] Not tainted VLI
EFLAGS: 00010286 (2.6.13-mm2)
EIP is at i810fb_find_init_mode+0x53/0x93
eax: c113ddd4 ebx: c1194000 ecx: c04be2dd edx: c1194000
esi: c1194008 edi: c113ddd4 ebp: c1194240 esp: c113ddcc
ds: 007b es: 007b ss: 0068
Process swapper (pid: 1, threadinfo=c113c000 task=c7cd6a30)
Stack: 00000000 00000008 00000400 00000300 00000000 00001000 00000000 00000000
00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Call Trace:
[<c01ecb01>] fb_alloc_cmap+0x8d/0xa0
[<c025491b>] i810fb_init_pci+0x10a/0x23c
[<c026dd9e>] __driver_attach+0x0/0x33
[<c01e1198>] pci_call_probe+0xa/0xc
[<c01e11c8>] __pci_device_probe+0x2e/0x3f
[<c01e11f7>] pci_device_probe+0x1e/0x30
[<c026dcfb>] driver_probe_device+0x31/0x82
[<c026ddc1>] __driver_attach+0x23/0x33
[<c026d60f>] bus_for_each_dev+0x35/0x59
[<c026dde2>] driver_attach+0x11/0x13
[<c026dd9e>] __driver_attach+0x0/0x33
[<c026d993>] bus_add_driver+0x52/0x92
[<c026e0a2>] driver_register+0x2f/0x34
[<c01e1394>] pci_register_driver+0x64/0x74
[<c0254b51>] i810fb_init+0x2f/0x36
[<c049a676>] do_initcalls+0x49/0x8e
[<c0100269>] init+0x0/0x107
[<c010028b>] init+0x22/0x107
[<c0101281>] kernel_thread_helper+0x5/0xb
Code: 02 00 00 f3 ab 8d 73 08 b9 a0 00 00 00 89 f2 89 e0 89 e7 e8 5f 8a f8 ff 8b 0d 78 8e 4f c0 85 c9 74 1d ff 73 20 89 da 89 f8 6a 00 <ff> 35 54 00 00 00 ff 35 20 00 00 00 e8 37
<0>Kernel panic - not syncing: Attempted to kill init!


A few debug printks suggest the pointer "specs" is NULL.

with CONFIG_FB_I810_I2C = y it survives boot, but does not work, i.e. on
this laptop there is no EDID and bios table seems borked/missing;
the driver also does no longer honour the commandline parameters
(xres/yres v/hsync1/2) and simply defaults to 640x480.

Built with CONFIG_I810_FB = m, it does _nothing_ when insmod'ded, not even
print the i810fb banner in dmesg; lsmod shows the module is there.

Unapplying the above mentioned patches makes it work again

Thanks,

--
Manuel Lauss

2005-09-10 12:43:32

by Antonino A. Daplas

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Manuel Lauss wrote:
> Hello,
>
> Andrew Morton wrote:
>
>> +i810fb-add-i2c-ddc-support.patch
>> +i810fb-add-i2c-ddc-support-fix.patch
>> +i810fb-add-i2c-ddc-support-fix-fix.patch
>> +i810fb-add-i2c-ddc-support-Makefile-fix.patch
>
> compiled with CONFIG_FB_I810_I2C = n and CONFIG_FB_I810 = y
> it oopses at boot in file drivers/video/i810/i810_main.c:1884
>
> ...
> Kernel command line: root=/dev/hda7
> video=i810fb:xres:1024,yres:768,bpp:8,hsync1:40,hsync2:80,vsync1:60,vsync2:60,extvga,vram:4,accel,mtrr
>
> ...
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000054
> printing eip:
> c02543c0
> *pde = 00000000
> Oops: 0000 [#1]
> last sysfs file:
> Modules linked in:
> CPU: 0
> EIP: 0060:[<c02543c0>] Not tainted VLI
> EFLAGS: 00010286 (2.6.13-mm2)
> EIP is at i810fb_find_init_mode+0x53/0x93
> eax: c113ddd4 ebx: c1194000 ecx: c04be2dd edx: c1194000
> esi: c1194008 edi: c113ddd4 ebp: c1194240 esp: c113ddcc
> ds: 007b es: 007b ss: 0068
> Process swapper (pid: 1, threadinfo=c113c000 task=c7cd6a30)
> Stack: 00000000 00000008 00000400 00000300 00000000 00001000 00000000
> 00000000
> 00000008 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000
> 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000
> Call Trace:
> [<c01ecb01>] fb_alloc_cmap+0x8d/0xa0
> [<c025491b>] i810fb_init_pci+0x10a/0x23c
> [<c026dd9e>] __driver_attach+0x0/0x33
> [<c01e1198>] pci_call_probe+0xa/0xc
> [<c01e11c8>] __pci_device_probe+0x2e/0x3f
> [<c01e11f7>] pci_device_probe+0x1e/0x30
> [<c026dcfb>] driver_probe_device+0x31/0x82
> [<c026ddc1>] __driver_attach+0x23/0x33
> [<c026d60f>] bus_for_each_dev+0x35/0x59
> [<c026dde2>] driver_attach+0x11/0x13
> [<c026dd9e>] __driver_attach+0x0/0x33
> [<c026d993>] bus_add_driver+0x52/0x92
> [<c026e0a2>] driver_register+0x2f/0x34
> [<c01e1394>] pci_register_driver+0x64/0x74
> [<c0254b51>] i810fb_init+0x2f/0x36
> [<c049a676>] do_initcalls+0x49/0x8e
> [<c0100269>] init+0x0/0x107
> [<c010028b>] init+0x22/0x107
> [<c0101281>] kernel_thread_helper+0x5/0xb
> Code: 02 00 00 f3 ab 8d 73 08 b9 a0 00 00 00 89 f2 89 e0 89 e7 e8 5f 8a
> f8 ff 8b 0d 78 8e 4f c0 85 c9 74 1d ff 73 20 89 da 89 f8 6a 00 <ff> 35
> 54 00 00 00 ff 35 20 00 00 00 e8 37
> <0>Kernel panic - not syncing: Attempted to kill init!
>
>
> A few debug printks suggest the pointer "specs" is NULL.
>

Ah, yes, sorry about that. Can you try this patch?

Fix kernel oops when CONFIG_FB_I810_I2C is set to 'n'.

Signed-off-by: Antonino Daplas <[email protected]>

diff --git a/drivers/video/i810/i810_main.c b/drivers/video/i810/i810_main.c
--- a/drivers/video/i810/i810_main.c
+++ b/drivers/video/i810/i810_main.c
@@ -1830,7 +1830,7 @@ static void __devinit i810fb_find_init_m
{
struct fb_videomode mode;
struct fb_var_screeninfo var;
- struct fb_monspecs *specs = NULL;
+ struct fb_monspecs *specs = &info->monspecs;
int found = 0;
#ifdef CONFIG_FB_I810_I2C
int i;
@@ -1853,12 +1853,11 @@ static void __devinit i810fb_find_init_m
if (!err)
printk("i810fb_init_pci: DDC probe successful\n");

- fb_edid_to_monspecs(par->edid, &info->monspecs);
+ fb_edid_to_monspecs(par->edid, specs);

- if (info->monspecs.modedb == NULL)
+ if (specs->modedb == NULL)
printk("i810fb_init_pci: Unable to get Mode Database\n");

- specs = &info->monspecs;
fb_videomode_to_modelist(specs->modedb, specs->modedb_len,
&info->modelist);
if (specs->modedb != NULL) {

2005-09-10 13:46:18

by Manuel Lauss

[permalink] [raw]
Subject: Re: 2.6.13-mm2


> Ah, yes, sorry about that. Can you try this patch?
>
> Fix kernel oops when CONFIG_FB_I810_I2C is set to 'n'.
>
> Signed-off-by: Antonino Daplas <[email protected]>
>
> diff --git a/drivers/video/i810/i810_main.c b/drivers/video/i810/i810_main.c
> --- a/drivers/video/i810/i810_main.c
> +++ b/drivers/video/i810/i810_main.c
> @@ -1830,7 +1830,7 @@ static void __devinit i810fb_find_init_m
> {
> struct fb_videomode mode;
> struct fb_var_screeninfo var;
> - struct fb_monspecs *specs = NULL;
> + struct fb_monspecs *specs = &info->monspecs;
> int found = 0;
> #ifdef CONFIG_FB_I810_I2C
> int i;
> @@ -1853,12 +1853,11 @@ static void __devinit i810fb_find_init_m
> if (!err)
> printk("i810fb_init_pci: DDC probe successful\n");
>
> - fb_edid_to_monspecs(par->edid, &info->monspecs);
> + fb_edid_to_monspecs(par->edid, specs);
>
> - if (info->monspecs.modedb == NULL)
> + if (specs->modedb == NULL)
> printk("i810fb_init_pci: Unable to get Mode Database\n");
>
> - specs = &info->monspecs;
> fb_videomode_to_modelist(specs->modedb, specs->modedb_len,
> &info->modelist);
> if (specs->modedb != NULL) {

Thanks, it boots now, but doesnt set video mode. Spews
a bunch of "i810fb: invalid video mode" lines and defaults
to 640x480.

With I2C enabled:
i810-i2c: Probe DDC1 Bus
i810-i2c: Unable to read EDID block.
i810-i2c: Unable to read EDID block.
i810-i2c: Unable to read EDID block.
i810-i2c: Probe DDC2 Bus
i810-i2c: Unable to read EDID block.
i810-i2c: Unable to read EDID block.
i810-i2c: Unable to read EDID block.
i810-i2c: Probe DDC3 Bus
i810-i2c: Getting EDID from BIOS
i810fb_init_pci: DDC probe successful
i810fb_init_pci: Unable to get Mode Database
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
i810fb: invalid video mode
ringbuffer lockup!!!
IIR : 0x0000
EIR : 0x0000
PGTBL_ER: 0x0000
IPEIR : 0x0001
IPEHR : 0x0000
Console: switching to colour frame buffer device 80x25
I810FB: fb0 : Intel(R) 815 (Internal Graphics with AGP) Framebuffer Device v0.9.0
I810FB: Video RAM : 4096K
I810FB: Monitor : H: 40-80 KHz V: 60-60 Hz
I810FB: Mode : 640x400-8bpp@69Hz

--
Manuel Lauss

2005-09-10 18:39:01

by Dominik Karall

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Thursday 08 September 2005 14:30, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13
>-mm2/

I have problems using NFS with 2.6.13-mm2, it failes to start, but works with
2.6.13-ck1 (so pure 2.6.13 should work too, as there are no nfs related
changes in -ck, I think).
Following messages appear in /var/log/messages:

Installing knfsd (copyright (C) 1996 [email protected]).
rpc.statd[15041]: Version 1.0.7 Starting
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: recovery directory /var/lib/nfs/v4recovery doesn't exist
NFSD: starting 90-second grace period
portmap[15048]: connect from 127.0.0.1 to set(nfs): request from unprivileged
port
nfsd[15046]: nfssvc: Permission denied


with 2.6.13-ck1:

Installing knfsd (copyright (C) 1996 [email protected]).
rpc.statd[16126]: Version 1.0.7 Starting
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: starting 90-second grace period

hth,
dominik


Attachments:
(No filename) (0.99 kB)
(No filename) (316.00 B)
Download all attachments

2005-09-10 20:22:48

by Antonino A. Daplas

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Manuel Lauss wrote:
>
>> Ah, yes, sorry about that. Can you try this patch?
>>
>> Fix kernel oops when CONFIG_FB_I810_I2C is set to 'n'.
>>
>> Signed-off-by: Antonino Daplas <[email protected]>
>>
>> diff --git a/drivers/video/i810/i810_main.c
>> b/drivers/video/i810/i810_main.c
>> --- a/drivers/video/i810/i810_main.c
>> +++ b/drivers/video/i810/i810_main.c
>> @@ -1830,7 +1830,7 @@ static void __devinit i810fb_find_init_m
>> {
>> struct fb_videomode mode;
>> struct fb_var_screeninfo var;
>> - struct fb_monspecs *specs = NULL;
>> + struct fb_monspecs *specs = &info->monspecs;
>> int found = 0;
>> #ifdef CONFIG_FB_I810_I2C
>> int i;
>> @@ -1853,12 +1853,11 @@ static void __devinit i810fb_find_init_m
>> if (!err)
>> printk("i810fb_init_pci: DDC probe successful\n");
>>
>> - fb_edid_to_monspecs(par->edid, &info->monspecs);
>> + fb_edid_to_monspecs(par->edid, specs);
>>
>> - if (info->monspecs.modedb == NULL)
>> + if (specs->modedb == NULL)
>> printk("i810fb_init_pci: Unable to get Mode Database\n");
>>
>> - specs = &info->monspecs;
>> fb_videomode_to_modelist(specs->modedb, specs->modedb_len,
>> &info->modelist);
>> if (specs->modedb != NULL) {
>
> Thanks, it boots now, but doesnt set video mode. Spews
> a bunch of "i810fb: invalid video mode" lines and defaults
> to 640x480.

Set CONFIG_FB_I810_I2C to n. Your display does not have an EDID block.
Even getting the EDID from the BIOS failed.

Tony

2005-09-10 21:27:40

by Antonino A. Daplas

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Manuel Lauss wrote:
> Console: switching to colour frame buffer device 80x25
> I810FB: fb0 : Intel(R) 815 (Internal Graphics with AGP)
> Framebuffer Device v0.9.0
> I810FB: Video RAM : 4096K
> I810FB: Monitor : H: 40-80 KHz V: 60-60 Hz
> I810FB: Mode : 640x400-8bpp@69Hz
>

One more thing, vfmin and vfmax are set to 60 and 60. This does
not give a lot of room for the calculation. It's possible that
the GTF might calculate for 59.9 Hz, but since calculation are done
in integers it returns as 59.

So, give a little room for vfmin and vfmax, such as 59 and 60.

Tony

2005-09-10 22:13:03

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Dominik Karall <[email protected]> wrote:
>
> On Thursday 08 September 2005 14:30, Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13
> >-mm2/
>
> I have problems using NFS with 2.6.13-mm2, it failes to start, but works with
> 2.6.13-ck1 (so pure 2.6.13 should work too, as there are no nfs related
> changes in -ck, I think).
> Following messages appear in /var/log/messages:
>
> Installing knfsd (copyright (C) 1996 [email protected]).
> rpc.statd[15041]: Version 1.0.7 Starting
> NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
> NFSD: recovery directory /var/lib/nfs/v4recovery doesn't exist
> NFSD: starting 90-second grace period
> portmap[15048]: connect from 127.0.0.1 to set(nfs): request from unprivileged
> port
> nfsd[15046]: nfssvc: Permission denied
>
>
> with 2.6.13-ck1:
>
> Installing knfsd (copyright (C) 1996 [email protected]).
> rpc.statd[16126]: Version 1.0.7 Starting
> NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
> NFSD: starting 90-second grace period

OK. We don't have many nfsd patches at all in 2.6.13-mm2. But there are
quite a few sunrpc changes. Plus I have a few random nfs patches which
should be merged up or dropped.

In short: dunno. Relevant people cc'ed ;)

2005-09-10 23:46:58

by J.A. Magallon

[permalink] [raw]
Subject: Re: 2.6.13-mm2


On 09.08, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
>
> (kernel.org propagation is slow. There's a temp copy at
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
>
>

I can not ifup an interface while iptables is using it.
Is this expected behaviour ?
There is a possible bug (IMHO) in Mandrake initscripts, that start iptables
before network interfaces, but this had always worked.

Any ideas ?

--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.0 (Cooker) for i586
Linux 2.6.13-jam3 (gcc 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0))


2005-09-10 23:57:29

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2

"J.A. Magallon" <[email protected]> wrote:
>
>
> On 09.08, Andrew Morton wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> >
> > (kernel.org propagation is slow. There's a temp copy at
> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
> >
> >
>
> I can not ifup an interface while iptables is using it.
> Is this expected behaviour ?

Maybe it's expected, but breaking existing userspace is a serious issue.

> There is a possible bug (IMHO) in Mandrake initscripts, that start iptables
> before network interfaces, but this had always worked.
>
> Any ideas ?

Please always cc [email protected] on networking matters.

2005-09-11 00:07:34

by Patrick McHardy

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Andrew Morton wrote:
> "J.A. Magallon" <[email protected]> wrote:
>
>>I can not ifup an interface while iptables is using it.
>>Is this expected behaviour ?
>
> Maybe it's expected, but breaking existing userspace is a serious issue.

No, its not expected.

>>There is a possible bug (IMHO) in Mandrake initscripts, that start iptables
>>before network interfaces, but this had always worked.
>>
>>Any ideas ?

What's happening when you try to set the interface up? Please
provide output of ifup and strace of the failing command. Thanks.

2005-09-11 00:49:40

by J.A. Magallon

[permalink] [raw]
Subject: Re: 2.6.13-mm2


On 09.11, Patrick McHardy wrote:
> Andrew Morton wrote:
> > "J.A. Magallon" <[email protected]> wrote:
> >
> >>I can not ifup an interface while iptables is using it.
> >>Is this expected behaviour ?
> >
> > Maybe it's expected, but breaking existing userspace is a serious issue.
>
> No, its not expected.
>
> >>There is a possible bug (IMHO) in Mandrake initscripts, that start iptables
> >>before network interfaces, but this had always worked.
> >>
> >>Any ideas ?
>
> What's happening when you try to set the interface up? Please
> provide output of ifup and strace of the failing command. Thanks.

werewolf:~# ifdown eth0
werewolf:~# service iptables start
Applying iptables firewall rules:
[ OK ]
werewolf:~# iptables -v -t nat -L
Chain PREROUTING (policy ACCEPT 2 packets, 156 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 5 packets, 300 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- any eth0 anywhere anywhere

Chain OUTPUT (policy ACCEPT 5 packets, 300 bytes)
pkts bytes target prot opt in out source destination
werewolf:~# iptables -v -t filter -L
Chain INPUT (policy ACCEPT 257 packets, 51631 bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 eth1 anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT all -- eth1 eth0 anywhere anywhere

Chain OUTPUT (policy ACCEPT 251 packets, 51163 bytes)
pkts bytes target prot opt in out source destination

werewolf:~# ifup eth0

Determining IP information for eth0...Operation failed.
failed.

I traced the problem to pump, and I did a diff between strace of pump
when it works and when it doesnt (witout and with iptables started):

socket(PF_FILE, SOCK_STREAM, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/pump.sock"}, 20) = 0
write(3, "\0\0\0\0eth0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\300"..., 4280) = 4280
-read(3, "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4280) = 4280
-exit_group(0) = ?
-Process 7931 detached
+read(3, "\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4280) = 4280
+socket(PF_FILE, SOCK_STREAM, 0) = 4
+connect(4, {sa_family=AF_FILE, path="/var/run/pump.sock"}, 20) = 0
+write(4, "\0\0\0\0eth0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\300"..., 4280) = 4280
+read(4, "\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4280) = 4280
+write(2, "Operation failed.\n", 18Operation failed.
+) = 18
+exit_group(1) = ?
+Process 7822 detached

pump seems to write something in the socket, try to read it again and gets
different results.

Note, my iptables are modular and I did not unload the modules, just stopped
them with 'service iptables stop'. Digging further, if I just do
iptables -t nat -F, pump works again.

Hope this helps.

--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.0 (Cooker) for i586
Linux 2.6.13-jam3 (gcc 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0))


2005-09-11 00:58:40

by J.A. Magallon

[permalink] [raw]
Subject: Re: 2.6.13-mm2


On 09.11, J.A. Magallon wrote:
>
> On 09.11, Patrick McHardy wrote:
> > Andrew Morton wrote:
> > > "J.A. Magallon" <[email protected]> wrote:
> > >
> > >>I can not ifup an interface while iptables is using it.
> > >>Is this expected behaviour ?
> > >
> > > Maybe it's expected, but breaking existing userspace is a serious issue.
> >
> > No, its not expected.
> >
> > >>There is a possible bug (IMHO) in Mandrake initscripts, that start iptables
> > >>before network interfaces, but this had always worked.
> > >>
> > >>Any ideas ?
> >
> > What's happening when you try to set the interface up? Please
> > provide output of ifup and strace of the failing command. Thanks.
>
> werewolf:~# ifdown eth0
> werewolf:~# service iptables start
> Applying iptables firewall rules:
> [ OK ]
> werewolf:~# iptables -v -t nat -L
> Chain PREROUTING (policy ACCEPT 2 packets, 156 bytes)
> pkts bytes target prot opt in out source destination
>
> Chain POSTROUTING (policy ACCEPT 5 packets, 300 bytes)
> pkts bytes target prot opt in out source destination
> 0 0 MASQUERADE all -- any eth0 anywhere anywhere
>
> Chain OUTPUT (policy ACCEPT 5 packets, 300 bytes)
> pkts bytes target prot opt in out source destination
> werewolf:~# iptables -v -t filter -L
> Chain INPUT (policy ACCEPT 257 packets, 51631 bytes)
> pkts bytes target prot opt in out source destination
>
> Chain FORWARD (policy DROP 0 packets, 0 bytes)
> pkts bytes target prot opt in out source destination
> 0 0 ACCEPT all -- eth0 eth1 anywhere anywhere state RELATED,ESTABLISHED
> 0 0 ACCEPT all -- eth1 eth0 anywhere anywhere
>
> Chain OUTPUT (policy ACCEPT 251 packets, 51163 bytes)
> pkts bytes target prot opt in out source destination
>
> werewolf:~# ifup eth0
>
> Determining IP information for eth0...Operation failed.
> failed.
>
> I traced the problem to pump, and I did a diff between strace of pump
> when it works and when it doesnt (witout and with iptables started):
>
> socket(PF_FILE, SOCK_STREAM, 0) = 3
> connect(3, {sa_family=AF_FILE, path="/var/run/pump.sock"}, 20) = 0
> write(3, "\0\0\0\0eth0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\300"..., 4280) = 4280
> -read(3, "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4280) = 4280
> -exit_group(0) = ?
> -Process 7931 detached
> +read(3, "\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4280) = 4280
> +socket(PF_FILE, SOCK_STREAM, 0) = 4
> +connect(4, {sa_family=AF_FILE, path="/var/run/pump.sock"}, 20) = 0
> +write(4, "\0\0\0\0eth0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\300"..., 4280) = 4280
> +read(4, "\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4280) = 4280
> +write(2, "Operation failed.\n", 18Operation failed.
> +) = 18
> +exit_group(1) = ?
> +Process 7822 detached
>
> pump seems to write something in the socket, try to read it again and gets
> different results.
>
> Note, my iptables are modular and I did not unload the modules, just stopped
> them with 'service iptables stop'. Digging further, if I just do
> iptables -t nat -F, pump works again.
>
> Hope this helps.
>

And I also get this on syslog:

Sep 11 02:56:58 werewolf kernel: MASQUERADE: eth0 ate my IP address
Sep 11 02:56:58 werewolf kernel: MASQUERADE: eth0 ate my IP address


--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.0 (Cooker) for i586
Linux 2.6.13-jam3 (gcc 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0))


2005-09-11 01:03:23

by Patrick McHardy

[permalink] [raw]
Subject: Re: 2.6.13-mm2

[NETFILTER]: Don't exclude local packets from MASQUERADING

Increases consistency in source-address selection.

Signed-off-by: Patrick McHardy <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

---
commit 9baa5c67ff4ce57b6b9f68c90714a1bb876fccd7
tree 27f2c48e12e1bb5e3e6d5f8320651c213892ed20
parent fb13ab2849074244a51ae5147483610529a29ced
author Patrick McHardy <[email protected]> Sun, 14 Aug 2005 17:32:50 -0700
committer David S. Miller <[email protected]> Mon, 29 Aug 2005 15:58:36 -0700

net/ipv4/netfilter/ipt_MASQUERADE.c | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/net/ipv4/netfilter/ipt_MASQUERADE.c b/net/ipv4/netfilter/ipt_MASQUERADE.c
--- a/net/ipv4/netfilter/ipt_MASQUERADE.c
+++ b/net/ipv4/netfilter/ipt_MASQUERADE.c
@@ -86,11 +86,6 @@ masquerade_target(struct sk_buff **pskb,

IP_NF_ASSERT(hooknum == NF_IP_POST_ROUTING);

- /* FIXME: For the moment, don't do local packets, breaks
- testsuite for 2.3.49 --RR */
- if ((*pskb)->sk)
- return NF_ACCEPT;
-
ct = ip_conntrack_get(*pskb, &ctinfo);
IP_NF_ASSERT(ct && (ctinfo == IP_CT_NEW || ctinfo == IP_CT_RELATED
|| ctinfo == IP_CT_RELATED + IP_CT_IS_REPLY));


Attachments:
x (1.19 kB)

2005-09-11 01:22:40

by J.A. Magallon

[permalink] [raw]
Subject: Re: 2.6.13-mm2


On 09.11, Patrick McHardy wrote:
> J.A. Magallon wrote:
> > And I also get this on syslog:
> >
> > Sep 11 02:56:58 werewolf kernel: MASQUERADE: eth0 ate my IP address
> > Sep 11 02:56:58 werewolf kernel: MASQUERADE: eth0 ate my IP address
>
> Thanks, I'm pretty sure its caused by this patch. The problem is that
> pump uses a regular UDP socket (some other dhcp clients use AF_PACKET
> sockets), and packet sent by it are also handled by iptables. The
> MASQUERADE rule can't find a local IP address and drops the packet.
> I'm not sure how to fix it yet, reverting the patch is not a good
> option.
>
>

> [NETFILTER]: Don't exclude local packets from MASQUERADING
>
> Increases consistency in source-address selection.
>
> Signed-off-by: Patrick McHardy <[email protected]>
> Signed-off-by: David S. Miller <[email protected]>
>
> ---
> commit 9baa5c67ff4ce57b6b9f68c90714a1bb876fccd7
> tree 27f2c48e12e1bb5e3e6d5f8320651c213892ed20
> parent fb13ab2849074244a51ae5147483610529a29ced
> author Patrick McHardy <[email protected]> Sun, 14 Aug 2005 17:32:50 -0700
> committer David S. Miller <[email protected]> Mon, 29 Aug 2005 15:58:36 -0700
>
> net/ipv4/netfilter/ipt_MASQUERADE.c | 5 -----
> 1 files changed, 0 insertions(+), 5 deletions(-)
>
> diff --git a/net/ipv4/netfilter/ipt_MASQUERADE.c b/net/ipv4/netfilter/ipt_MASQUERADE.c
> --- a/net/ipv4/netfilter/ipt_MASQUERADE.c
> +++ b/net/ipv4/netfilter/ipt_MASQUERADE.c
> @@ -86,11 +86,6 @@ masquerade_target(struct sk_buff **pskb,
>
> IP_NF_ASSERT(hooknum == NF_IP_POST_ROUTING);
>
> - /* FIXME: For the moment, don't do local packets, breaks
> - testsuite for 2.3.49 --RR */
> - if ((*pskb)->sk)
> - return NF_ACCEPT;
> -
> ct = ip_conntrack_get(*pskb, &ctinfo);
> IP_NF_ASSERT(ct && (ctinfo == IP_CT_NEW || ctinfo == IP_CT_RELATED
> || ctinfo == IP_CT_RELATED + IP_CT_IS_REPLY));
>

Thanks, reverting this made things work again.

Are you confident in fixing this shortly, or should I just drop pump ?

--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandriva Linux release 2006.0 (Cooker) for i586
Linux 2.6.13-jam3 (gcc 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0))


2005-09-11 01:25:18

by Patrick McHardy

[permalink] [raw]
Subject: Re: 2.6.13-mm2

J.A. Magallon wrote:
> On 09.11, Patrick McHardy wrote:
>
>>[NETFILTER]: Don't exclude local packets from MASQUERADING
>>
> Thanks, reverting this made things work again.
>
> Are you confident in fixing this shortly, or should I just drop pump ?

I should have a fix within the next couple of days.

2005-09-11 17:03:48

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Thursday, 8 of September 2005 14:30, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
>
> (kernel.org propagation is slow. There's a temp copy at
> http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)

Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
into -mm? My box does not resume from disk without it.

Greetings,
Rafael


--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"


Attachments:
(No filename) (607.00 B)
yenta-free_irq-on-suspend.patch (1.33 kB)
Download all attachments

2005-09-11 19:37:07

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2

"Rafael J. Wysocki" <[email protected]> wrote:
>
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> >
> > (kernel.org propagation is slow. There's a temp copy at
> > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
>
> Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
> into -mm? My box does not resume from disk without it.

No probs.

Daniel, do you remember why we decided to drop it? What should we do about
this? Thanks.

2005-09-11 20:03:47

by Hugh Dickins

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Sun, 11 Sep 2005, Andrew Morton wrote:
> "Rafael J. Wysocki" <[email protected]> wrote:
> >
> > Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
> > into -mm? My box does not resume from disk without it.
>
> No probs.
>
> Daniel, do you remember why we decided to drop it? What should we do about
> this? Thanks.

I remember well. My laptop does not APM resume from RAM with it.
I've just rechecked and that's still the case. I did try various patches
from Rafael to help him work it out, but it remained a puzzle.
And I admit, it is his turn to resume this month.

Hugh

2005-09-11 20:08:45

by Daniel Ritz

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Sunday 11 September 2005 21.36, Andrew Morton wrote:
> "Rafael J. Wysocki" <[email protected]> wrote:
> >
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> > >
> > > (kernel.org propagation is slow. There's a temp copy at
> > > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
> >
> > Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
> > into -mm? My box does not resume from disk without it.
>
> No probs.
>
> Daniel, do you remember why we decided to drop it? What should we do about
> this? Thanks.
>

yeah, there was a long discussion about it. see:
http://marc.theaimsgroup.com/?t=112275164900002&r=1&w=4
the reason being that it breaks APM suspend on Hugh Dickins' (added to cc:) laptop.
Linus was quite clear about why reverting...
http://marc.theaimsgroup.com/?l=linux-kernel&m=112278810115252&w=4

we should look at both problems in detail:
- with APM it seems to break because the bridge gives interrupt before the
handler is installed.
- with ACPI i think some _other_ device gives the interrupts too early. but
when all devices on the interrupt unregister the irq is disabled and the
problem is hidden.

i don't think we can do mutch about the APM case...

so Rafael, your /proc/interrupts, lspci -vvv and dmesg, please.

rgds
-daniel

2005-09-12 03:07:27

by Martin Bligh

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Finally got my damned x440 box back - won't build -mm2 (-mm1 is fine)

arch/i386/kernel/srat.c:141: #error "MAX_NR_ZONES != 3, chunk_to_zone requires review"
make[1]: *** [arch/i386/kernel/srat.o] Error 1
make: *** [arch/i386/kernel] Error 2
09/11/05-00:57:13 Build the kernel. Failed rc = 2
09/11/05-00:57:13 build: kernel build Failed rc = 1
09/11/05-00:57:13 command complete: (2) rc=126

x86_64-dma32.patch:-#define MAX_NR_ZONES 3 /* Sync this wi
h ZONES_SHIFT */
x86_64-dma32.patch:-#define ZONES_SHIFT 2 /* ceil(log2(MAX_NR_ZON
S)) */
x86_64-dma32.patch:+#define MAX_NR_ZONES 4 /* Sync this wi
h ZONES_SHIFT */
x86_64-dma32.patch:+#define ZONES_SHIFT 3 /* ceil(log2(MAX_NR_ZON
S)) */

Andi, does that need changing on ia32 as well as x86_64, or are you
just missing some ifdefs? Looks to me like the rest of the patch is
specific to x86_64.

M.


2005-09-12 03:10:31

by Martin Bligh

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Looks like the non-fixed version of Ingo's patch is back.

http://test.kernel.org/12554/debug/console.log

Hangs after the cpu cache auto-detect thing again on NUMA-Q.
I thought Dave Wilder debugged and fixed this? Something to do with
restoring the flags on a different CPU to that on which they were saved.



2005-09-12 05:01:29

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Sun, Sep 11, 2005 at 08:07:25PM -0700, Martin J. Bligh wrote:
> Finally got my damned x440 box back - won't build -mm2 (-mm1 is fine)
>
> arch/i386/kernel/srat.c:141: #error "MAX_NR_ZONES != 3, chunk_to_zone requires review"
> make[1]: *** [arch/i386/kernel/srat.o] Error 1
> make: *** [arch/i386/kernel] Error 2
> 09/11/05-00:57:13 Build the kernel. Failed rc = 2
> 09/11/05-00:57:13 build: kernel build Failed rc = 1
> 09/11/05-00:57:13 command complete: (2) rc=126
>
> x86_64-dma32.patch:-#define MAX_NR_ZONES 3 /* Sync this wi
> h ZONES_SHIFT */
> x86_64-dma32.patch:-#define ZONES_SHIFT 2 /* ceil(log2(MAX_NR_ZON
> S)) */
> x86_64-dma32.patch:+#define MAX_NR_ZONES 4 /* Sync this wi
> h ZONES_SHIFT */
> x86_64-dma32.patch:+#define ZONES_SHIFT 3 /* ceil(log2(MAX_NR_ZON
> S)) */
>
> Andi, does that need changing on ia32 as well as x86_64, or are you
> just missing some ifdefs? Looks to me like the rest of the patch is
> specific to x86_64.

It should be a straight forward fix - the new zone is empty on i386.
Ok I reviewed chunk_to_zone and it should be ok with the new empty
zone. So just the appended patch should work. Can you test?

-AndI

Make i386 compile again with fourth DMA32 zone

The code should deal with an additiona empty zone, so fix up the
#error.

Signed-off-by: Andi Kleen <[email protected]>

Index: linux/arch/i386/kernel/srat.c
===================================================================
--- linux.orig/arch/i386/kernel/srat.c
+++ linux/arch/i386/kernel/srat.c
@@ -137,8 +137,8 @@ static void __init parse_memory_affinity
"enabled and removable" : "enabled" ) );
}

-#if MAX_NR_ZONES != 3
-#error "MAX_NR_ZONES != 3, chunk_to_zone requires review"
+#if MAX_NR_ZONES != 4
+#error "MAX_NR_ZONES != 4, chunk_to_zone requires review"
#endif
/* Take a chunk of pages from page frame cstart to cend and count the number
* of pages in each zone, returned via zones[].



2005-09-12 06:09:57

by Martin Bligh

[permalink] [raw]
Subject: Re: 2.6.13-mm2

>> Andi, does that need changing on ia32 as well as x86_64, or are you
>> just missing some ifdefs? Looks to me like the rest of the patch is
>> specific to x86_64.
>
> It should be a straight forward fix - the new zone is empty on i386.
> Ok I reviewed chunk_to_zone and it should be ok with the new empty
> zone. So just the appended patch should work. Can you test?

Will do. but did you actually mean to enable it on both arches? didn't
look like it, but maybe you did.

> -AndI
>
> Make i386 compile again with fourth DMA32 zone
>
> The code should deal with an additiona empty zone, so fix up the
># error.
>
> Signed-off-by: Andi Kleen <[email protected]>
>
> Index: linux/arch/i386/kernel/srat.c
> ===================================================================
> --- linux.orig/arch/i386/kernel/srat.c
> +++ linux/arch/i386/kernel/srat.c
> @@ -137,8 +137,8 @@ static void __init parse_memory_affinity
> "enabled and removable" : "enabled" ) );
> }
>
> -#if MAX_NR_ZONES != 3
> -#error "MAX_NR_ZONES != 3, chunk_to_zone requires review"
> +#if MAX_NR_ZONES != 4
> +#error "MAX_NR_ZONES != 4, chunk_to_zone requires review"
> #endif
> /* Take a chunk of pages from page frame cstart to cend and count the number
> * of pages in each zone, returned via zones[].
>
>
>
>
>


2005-09-12 07:16:55

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Sun, Sep 11, 2005 at 11:09:59PM -0700, Martin J. Bligh wrote:
> >> Andi, does that need changing on ia32 as well as x86_64, or are you
> >> just missing some ifdefs? Looks to me like the rest of the patch is
> >> specific to x86_64.
> >
> > It should be a straight forward fix - the new zone is empty on i386.
> > Ok I reviewed chunk_to_zone and it should be ok with the new empty
> > zone. So just the appended patch should work. Can you test?
>
> Will do. but did you actually mean to enable it on both arches? didn't
> look like it, but maybe you did.

The zone is just empty on i386. That could have been avoided
with some ifdefs, but I didn't see any sense because an empty
zone shouldn't hurt anybody.

-Andi

2005-09-12 10:04:14

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Hi,

On Sunday, 11 of September 2005 22:08, Daniel Ritz wrote:
> On Sunday 11 September 2005 21.36, Andrew Morton wrote:
> > "Rafael J. Wysocki" <[email protected]> wrote:
> > >
> > > >
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> > > >
> > > > (kernel.org propagation is slow. There's a temp copy at
> > > > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
> > >
> > > Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
> > > into -mm? My box does not resume from disk without it.
> >
> > No probs.
> >
> > Daniel, do you remember why we decided to drop it? What should we do about
> > this? Thanks.
> >
>
> yeah, there was a long discussion about it. see:
> http://marc.theaimsgroup.com/?t=112275164900002&r=1&w=4
> the reason being that it breaks APM suspend on Hugh Dickins' (added to cc:) laptop.
> Linus was quite clear about why reverting...
> http://marc.theaimsgroup.com/?l=linux-kernel&m=112278810115252&w=4
>
> we should look at both problems in detail:
> - with APM it seems to break because the bridge gives interrupt before the
> handler is installed.
> - with ACPI i think some _other_ device gives the interrupts too early. but
> when all devices on the interrupt unregister the irq is disabled and the
> problem is hidden.
>
> i don't think we can do mutch about the APM case...
>
> so Rafael, your /proc/interrupts, lspci -vvv and dmesg, please.

rafael@albercik:~> cat /proc/interrupts


>
> rgds
> -daniel
>
>

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

2005-09-12 10:06:09

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Hi,

(continuing the unfinished message)

On Sunday, 11 of September 2005 22:08, Daniel Ritz wrote:
> On Sunday 11 September 2005 21.36, Andrew Morton wrote:
> > "Rafael J. Wysocki" <[email protected]> wrote:
> > >
> > > >
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> > > >
> > > > (kernel.org propagation is slow. There's a temp copy at
> > > > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
> > >
> > > Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
> > > into -mm? My box does not resume from disk without it.
> >
> > No probs.
> >
> > Daniel, do you remember why we decided to drop it? What should we do about
> > this? Thanks.
> >
>
> yeah, there was a long discussion about it. see:
> http://marc.theaimsgroup.com/?t=112275164900002&r=1&w=4
> the reason being that it breaks APM suspend on Hugh Dickins' (added to cc:) laptop.
> Linus was quite clear about why reverting...
> http://marc.theaimsgroup.com/?l=linux-kernel&m=112278810115252&w=4
>
> we should look at both problems in detail:
> - with APM it seems to break because the bridge gives interrupt before the
> handler is installed.
> - with ACPI i think some _other_ device gives the interrupts too early. but
> when all devices on the interrupt unregister the irq is disabled and the
> problem is hidden.
>
> i don't think we can do mutch about the APM case...
>
> so Rafael, your /proc/interrupts, lspci -vvv and dmesg, please.

rafael@albercik:~> cat /proc/interrupts
CPU0
0: 2549476 XT-PIC timer
1: 3841 XT-PIC i8042
2: 0 XT-PIC cascade
5: 10 XT-PIC ehci_hcd:usb3
8: 0 XT-PIC rtc
9: 13808 XT-PIC acpi
10: 120111 XT-PIC NVidia nForce3, SysKonnect SK-98xx
11: 74195 XT-PIC ohci_hcd:usb1, ohci_hcd:usb2, yenta, yenta
12: 4733 XT-PIC i8042
14: 90733 XT-PIC ide0
15: 144590 XT-PIC ide1
NMI: 879
LOC: 2549489
ERR: 6
MIS: 0

rafael@albercik:~> /sbin/lspci -vvv
0000:00:00.0 Host bridge: nVidia Corporation nForce3 Host Bridge (rev a4)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80c5
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Region 0: Memory at e8000000 (32-bit, prefetchable) [size=128M]
Capabilities: <available only to root>

0000:00:01.0 ISA bridge: nVidia Corporation nForce3 LPC Bridge (rev f6)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80c5
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0

0000:00:01.1 SMBus: nVidia Corporation nForce3 SMBus (rev a4)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80c5
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 0
Region 4: I/O ports at 5000 [size=64]
Region 5: I/O ports at 5040 [size=64]
Capabilities: <available only to root>

0000:00:02.0 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1858
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at febfb000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>

0000:00:02.1 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1858
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin B routed to IRQ 11
Region 0: Memory at febfc000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>

0000:00:02.2 USB Controller: nVidia Corporation nForce3 USB 2.0 (rev a2) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1859
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin C routed to IRQ 5
Region 0: Memory at febfdc00 (32-bit, non-prefetchable) [size=256]
Capabilities: <available only to root>

0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce3 Audio (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1853
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (500ns min, 1250ns max)
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at e800 [size=256]
Region 1: I/O ports at ec00 [size=128]
Region 2: Memory at febff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>

0000:00:08.0 IDE interface: nVidia Corporation nForce3 IDE (rev a5) (prog-if 8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc.: Unknown device 185a
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Region 4: I/O ports at ffa0 [size=16]
Capabilities: <available only to root>

0000:00:0a.0 PCI bridge: nVidia Corporation nForce3 PCI Bridge (rev a2) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR+ <PERR-
Latency: 0
Bus: primary=00, secondary=02, subordinate=0a, sec-latency=128
I/O behind bridge: 0000b000-0000dfff
Memory behind bridge: f8a00000-feafffff
Prefetchable memory behind bridge: 30000000-33ffffff
BridgeCtl: Parity+ SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

0000:00:0b.0 PCI bridge: nVidia Corporation nForce3 AGP Bridge (rev a4) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: f6900000-f89fffff
Prefetchable memory behind bridge: c6800000-e67fffff
BridgeCtl: Parity+ SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-

0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Capabilities: <available only to root>

0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

0000:01:00.0 VGA compatible controller: nVidia Corporation NV31M [GeForce FX Go5650] (rev a1) (prog-if 00 [VGA])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1852
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f7000000 (32-bit, non-prefetchable) [size=16M]
Region 1: Memory at d0000000 (32-bit, prefetchable) [size=256M]
Expansion ROM at f89e0000 [disabled] [size=128K]
Capabilities: <available only to root>

0000:02:00.0 Ethernet controller: Marvell Technology Group Ltd. Gigabit Ethernet Controller (rev 13)
Subsystem: ASUSTeK Computer Inc. Marvell 88E8001 Gigabit Ethernet Controller (Asus)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (5750ns min, 7750ns max), cache line size 40
Interrupt: pin A routed to IRQ 10
Region 0: Memory at feaf8000 (32-bit, non-prefetchable) [size=16K]
Region 1: I/O ports at d800 [size=256]
Expansion ROM at feac0000 [disabled] [size=128K]
Capabilities: <available only to root>

0000:02:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1854
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 168
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fd200000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
Memory window 0: 30000000-31fff000 (prefetchable)
Memory window 1: fc600000-fd1ff000
I/O window 0: 0000b000-0000bfff
I/O window 1: 0000c000-0000cfff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
16-bit legacy interface ports at 0001

0000:02:01.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1854
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 168
Interrupt: pin B routed to IRQ 11
Region 0: Memory at fa200000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=02, secondary=07, subordinate=0a, sec-latency=176
Memory window 0: 32000000-33fff000 (prefetchable)
Memory window 1: f9600000-fa1ff000
I/O window 0: 0000d000-0000d1ff
I/O window 1: 0000d400-0000d5ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
16-bit legacy interface ports at 0001

0000:02:01.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 03) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1857
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (500ns min, 1000ns max)
Interrupt: pin C routed to IRQ 10
Region 0: Memory at feafd000 (32-bit, non-prefetchable) [size=2K]
Capabilities: <available only to root>

0000:02:01.3 System peripheral: Ricoh Co Ltd: Unknown device 0576 (rev 01)
Subsystem: ASUSTeK Computer Inc.: Unknown device 185b
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin D routed to IRQ 11
Region 0: Memory at feafd800 (32-bit, non-prefetchable) [size=256]
Capabilities: <available only to root>

0000:02:01.4 System peripheral: Ricoh Co Ltd: Unknown device 0592
Subsystem: ASUSTeK Computer Inc.: Unknown device 185c
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin D routed to IRQ 11
Region 0: Memory at feafdc00 (32-bit, non-prefetchable) [size=256]
Capabilities: <available only to root>

0000:02:02.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
Subsystem: ASUSTeK Computer Inc.: Unknown device 120f
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Interrupt: pin A routed to IRQ 11
Region 0: Memory at feafe000 (32-bit, non-prefetchable) [size=8K]
Capabilities: <available only to root>

Greetings,
Rafael


--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"

2005-09-12 10:09:49

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Monday, 12 of September 2005 12:06, Rafael J. Wysocki wrote:
> Hi,
>
> (continuing the unfinished message)
>
> On Sunday, 11 of September 2005 22:08, Daniel Ritz wrote:
> > On Sunday 11 September 2005 21.36, Andrew Morton wrote:
> > > "Rafael J. Wysocki" <[email protected]> wrote:
> > > >
> > > > >
> > > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> > > > >
> > > > > (kernel.org propagation is slow. There's a temp copy at
> > > > > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
> > > >
> > > > Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
> > > > into -mm? My box does not resume from disk without it.
> > >
> > > No probs.
> > >
> > > Daniel, do you remember why we decided to drop it? What should we do about
> > > this? Thanks.
> > >
> >
> > yeah, there was a long discussion about it. see:
> > http://marc.theaimsgroup.com/?t=112275164900002&r=1&w=4
> > the reason being that it breaks APM suspend on Hugh Dickins' (added to cc:) laptop.
> > Linus was quite clear about why reverting...
> > http://marc.theaimsgroup.com/?l=linux-kernel&m=112278810115252&w=4
> >
> > we should look at both problems in detail:
> > - with APM it seems to break because the bridge gives interrupt before the
> > handler is installed.
> > - with ACPI i think some _other_ device gives the interrupts too early. but
> > when all devices on the interrupt unregister the irq is disabled and the
> > problem is hidden.
> >
> > i don't think we can do mutch about the APM case...
> >
> > so Rafael, your /proc/interrupts, lspci -vvv and dmesg, please.
>
> rafael@albercik:~> cat /proc/interrupts
]-- snip --[

BTW, please have a look at:
http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
and
http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37

Greetings,
Rafael


--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"

2005-09-12 18:06:54

by Martin Bligh

[permalink] [raw]
Subject: Re: 2.6.13-mm2



--On Monday, September 12, 2005 07:01:22 +0200 Andi Kleen <[email protected]> wrote:

> On Sun, Sep 11, 2005 at 08:07:25PM -0700, Martin J. Bligh wrote:
>> Finally got my damned x440 box back - won't build -mm2 (-mm1 is fine)
>>
>> arch/i386/kernel/srat.c:141: #error "MAX_NR_ZONES != 3, chunk_to_zone requires review"
>> make[1]: *** [arch/i386/kernel/srat.o] Error 1
>> make: *** [arch/i386/kernel] Error 2
>> 09/11/05-00:57:13 Build the kernel. Failed rc = 2
>> 09/11/05-00:57:13 build: kernel build Failed rc = 1
>> 09/11/05-00:57:13 command complete: (2) rc=126
>>
>> x86_64-dma32.patch:-#define MAX_NR_ZONES 3 /* Sync this wi
>> h ZONES_SHIFT */
>> x86_64-dma32.patch:-#define ZONES_SHIFT 2 /* ceil(log2(MAX_NR_ZON
>> S)) */
>> x86_64-dma32.patch:+#define MAX_NR_ZONES 4 /* Sync this wi
>> h ZONES_SHIFT */
>> x86_64-dma32.patch:+#define ZONES_SHIFT 3 /* ceil(log2(MAX_NR_ZON
>> S)) */
>>
>> Andi, does that need changing on ia32 as well as x86_64, or are you
>> just missing some ifdefs? Looks to me like the rest of the patch is
>> specific to x86_64.
>
> It should be a straight forward fix - the new zone is empty on i386.
> Ok I reviewed chunk_to_zone and it should be ok with the new empty
> zone. So just the appended patch should work. Can you test?
>
> -AndI
>
> Make i386 compile again with fourth DMA32 zone
>
> The code should deal with an additiona empty zone, so fix up the
># error.
>
> Signed-off-by: Andi Kleen <[email protected]>
>
> Index: linux/arch/i386/kernel/srat.c
> ===================================================================
> --- linux.orig/arch/i386/kernel/srat.c
> +++ linux/arch/i386/kernel/srat.c
> @@ -137,8 +137,8 @@ static void __init parse_memory_affinity
> "enabled and removable" : "enabled" ) );
> }
>
> -#if MAX_NR_ZONES != 3
> -#error "MAX_NR_ZONES != 3, chunk_to_zone requires review"
> +#if MAX_NR_ZONES != 4
> +#error "MAX_NR_ZONES != 4, chunk_to_zone requires review"
> #endif
> /* Take a chunk of pages from page frame cstart to cend and count the number
> * of pages in each zone, returned via zones[].
>
>
>
>
>

Crashes on boot

http://test.kernel.org/12589/debug/console.log

May or may not be anything to do with what you were doing.

M.

2005-09-12 18:20:06

by Dave Hansen

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Mon, 2005-09-12 at 11:06 -0700, Martin J. Bligh wrote:
> Crashes on boot
>
> http://test.kernel.org/12589/debug/console.log
>
> May or may not be anything to do with what you were doing.

diff -puN arch/i386/mm/init.c~highmem-debug arch/i386/mm/init.c
--- memhotplug/arch/i386/mm/init.c~highmem-debug 2005-09-09 08:50:15.000000000 -0700
+++ memhotplug-dave/arch/i386/mm/init.c 2005-09-09 08:50:15.000000000 -0700
@@ -278,6 +278,7 @@ void __init add_one_highpage_init(struct
{
if (page_is_ram(pfn) && !(bad_ppro && page_kills_ppro(pfn))) {
ClearPageReserved(page);
+ free_new_highpage(page);
} else
SetPageReserved(page);
}
_


-- Dave

2005-09-12 18:51:25

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.13-mm2

> Crashes on boot
>
> http://test.kernel.org/12589/debug/console.log
>
> May or may not be anything to do with what you were doing.

Easily tested by reverting dma32*. Does it help?

-Andi

2005-09-12 19:19:22

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Sunday, 11 of September 2005 22:03, Hugh Dickins wrote:
> On Sun, 11 Sep 2005, Andrew Morton wrote:
> > "Rafael J. Wysocki" <[email protected]> wrote:
> > >
> > > Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
> > > into -mm? My box does not resume from disk without it.
> >
> > No probs.
> >
> > Daniel, do you remember why we decided to drop it? What should we do about
> > this? Thanks.
>
> I remember well. My laptop does not APM resume from RAM with it.
> I've just rechecked and that's still the case. I did try various patches
> from Rafael to help him work it out, but it remained a puzzle.

Still the observations are sort of interesting (just for the record):
1) The problem is due to interrupt sharing. The IRQ is shared between
yenta and 3c59x.
2) Without the yenta driver the box resumes.
3) Without the 3c59x driver the box resumes.
4) If yenta is woken up _before_ 3c59x, the box resumes.
5) If yenta is woken up _after_ 3c59x, the box hangs. Unfortunately,
this is the default, because of the PCI device numbers.

> And I admit, it is his turn to resume this month.

Thanks. ;-)

Greetings,
Rafael


--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"

2005-09-12 22:46:18

by Martin Bligh

[permalink] [raw]
Subject: Re: 2.6.13-mm2



--On Monday, September 12, 2005 20:51:20 +0200 Andi Kleen <[email protected]> wrote:

>> Crashes on boot
>>
>> http://test.kernel.org/12589/debug/console.log
>>
>> May or may not be anything to do with what you were doing.
>
> Easily tested by reverting dma32*. Does it help?

No. Yet *another* bug. Sigh.

M.

2005-09-13 00:08:59

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.13-mm2

"Martin J. Bligh" <[email protected]> wrote:
>
>
>
> --On Monday, September 12, 2005 20:51:20 +0200 Andi Kleen <[email protected]> wrote:
>
> >> Crashes on boot
> >>
> >> http://test.kernel.org/12589/debug/console.log
> >>
> >> May or may not be anything to do with what you were doing.
> >
> > Easily tested by reverting dma32*. Does it help?
>
> No. Yet *another* bug. Sigh.
>

You should see all the ones I fixed.

Suggest you skip -mm2 altogether. We already know that
scheduler-cache-hot-autodetect.patch is bad, and that was dropped from mm3.

2005-09-13 04:00:34

by Martin Bligh

[permalink] [raw]
Subject: Re: 2.6.13-mm2

--Andrew Morton <[email protected]> wrote (on Monday, September 12, 2005 17:08:52 -0700):

> "Martin J. Bligh" <[email protected]> wrote:
>>
>>
>>
>> --On Monday, September 12, 2005 20:51:20 +0200 Andi Kleen <[email protected]> wrote:
>>
>> >> Crashes on boot
>> >>
>> >> http://test.kernel.org/12589/debug/console.log
>> >>
>> >> May or may not be anything to do with what you were doing.
>> >
>> > Easily tested by reverting dma32*. Does it help?
>>
>> No. Yet *another* bug. Sigh.
>>
>
> You should see all the ones I fixed.

Yeah, sorry, I know. Don't know how you cope at all.

> Suggest you skip -mm2 altogether. We already know that
> scheduler-cache-hot-autodetect.patch is bad, and that was dropped from mm3.

-mm3 looks much better, seems to work on ia32 and x86_64 at least.

PPC64 is still broken by the tty cleanup stuff. there were some fixes
going back and forth ... hopefully someone will gather them and push
to you soon, would nice to be testing that again.

drivers/char/hvc_console.c: In function `hvc_poll':
drivers/char/hvc_console.c:600: error: `count' undeclared (first use in this function)
drivers/char/hvc_console.c:600: error: (Each undeclared identifier is reported only once
drivers/char/hvc_console.c:600: error: for each function it appears in.)
drivers/char/hvc_console.c:636: error: structure has no member named `flip'

Thanks for everything ... testing just makes one bitter ;-)

M.

2005-09-17 00:40:16

by Chuck Ebbert

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Thu, 08 Sep 2005 at 20:26:51 -0400, Parag Warudkar wrote:

> Andrew Morton wrote:
>
> > Parag, perhaps you could confirm that reverting that patch fixes
> > things up?
>
> Sure - reverting the x86-64-ptrace-ia32-bp-fix patch fixes it.

It looks to me like that patch corrupts ebp.

This one works for me, though ebp still appears wrong to a 32-bit
debugger on syscall exit trace. Maybe that doesn't matter so much.

Test program follows (it will create a file named "__ptfile__"), then patch.

================================================================================

/* ptrace test program
*
* Tests if ptrace can modify syscall arg6 (ebp) in ia32 mode.
*/
#define _GNU_SOURCE
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ptrace.h>
#include <sys/wait.h>
#include <sys/mman.h>
#include <asm/user.h>

int parent, child, status, traces;
struct user_regs_struct regs;
char zero = '0', one = '1';

void dump_regs(struct user_regs_struct *regs)
{
printf("eax = %08X (%d), orig_eax = %08X (%d)\n",
(unsigned int)regs->eax,
(unsigned int)regs->eax,
(unsigned int)regs->orig_eax,
(unsigned int)regs->orig_eax);
printf("ebx = %08X, ecx = %08X, edx = %08X\n",
(unsigned int)regs->ebx,
(unsigned int)regs->ecx,
(unsigned int)regs->edx);
printf("esi = %08X, edi = %08X, ebp = %08X\n",
(unsigned int)regs->esi,
(unsigned int)regs->edi,
(unsigned int)regs->ebp);
}

void do_parent()
{
again:
waitpid(child, &status, 0);
if (WIFSTOPPED(status)) {
if (traces && traces <= 2 ) { /* skip first, then do two */
puts("child stopped");
ptrace(PTRACE_GETREGS, child, 0, &regs);
dump_regs(&regs);
if (regs.orig_eax == 192 && traces == 1) { /* mmap2 */
if (regs.ebp != 0)
puts("tracer: arg6 was not 0: "
"ptrace is broken!");
else {
regs.ebp = 1; /* change arg 6 */
ptrace(PTRACE_SETREGS, child, 0, &regs);
}
} else if (traces == 1) /* first syscall wasn't mmap2 */
puts("unexpected problem, ignore the result!");
}
ptrace(PTRACE_SYSCALL, child, 0, 0);
traces++;
}
if (!WIFEXITED(status))
goto again;
}

void do_child()
{
int f, i;
void *a;
int works = 1;

f = open("__ptfile__", O_RDWR | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE);
for (i = 0; i < 4096; i++) /* a page of '0' */
write(f, &zero, 1);
for (i = 0; i < 4096; i++) /* a page of '1' */
write(f, &one, 1);
close(f);

f = open("__ptfile__", O_RDONLY);
ptrace(PTRACE_TRACEME, 0, 0, 0);
kill(getpid(), SIGUSR1);
a = mmap(0, 4096, PROT_READ, MAP_SHARED, f, 0); /* map first page */
if (*(char *)a != one)
works = 0; /* got first page: arg6 was unchanged */
munmap(a, 4096);
close(f);
remove("__ptfile__");

if (works)
puts("ptrace works");
else
puts("mmap args didn't change: ptrace is broken!");
}

int main(int argc, char * const argv[])
{
parent = getpid();
child = fork();

if (child)
do_parent();
else
do_child();

return 0;
}
================================================================================

Signed-off-by: Chuck Ebbert <[email protected]>
Original-Patch-By: Roland McGrath <[email protected]>

When the 32-bit vDSO is used to make a system call, the %ebp register for
the 6th syscall arg has to be loaded from the user stack (where it's pushed
by the vDSO user code). The native i386 kernel always does this before
stopping for syscall tracing, so %ebp can be seen and modified via ptrace
to access the 6th syscall argument. The x86-64 kernel fails to do this,
presenting the stack address to ptrace instead. This makes the %rbp value
seen by 64-bit ptrace of a 32-bit process, and the %ebp value seen by a
32-bit caller of ptrace, both differ from the native i386 behavior.

This patch fixes the problem by putting the word loaded from the user stack
into %rbp before calling syscall_trace_enter, and reloading the 6th syscall
argument from there afterwards (so ptrace can change it). This makes the
behavior match that of i386 kernels.

arch/x86_64/ia32/ia32entry.S | 19 ++++++-------------
1 files changed, 6 insertions(+), 13 deletions(-)

--- 2.6.13-64.orig/arch/x86_64/ia32/ia32entry.S
+++ 2.6.13-64/arch/x86_64/ia32/ia32entry.S
@@ -102,20 +102,16 @@ sysenter_do_call:
.byte 0xf, 0x35

sysenter_tracesys:
+ xchgl %r9d,%ebp
SAVE_REST
CLEAR_RREGS
+ movq %r9,R9(%rsp)
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi /* &pt_regs -> arg1 */
call syscall_trace_enter
LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */
RESTORE_REST
- movl %ebp, %ebp
- /* no need to do an access_ok check here because rbp has been
- 32bit zero extended */
-1: movl (%rbp),%r9d
- .section __ex_table,"a"
- .quad 1b,ia32_badarg
- .previous
+ xchgl %ebp,%r9d
jmp sysenter_do_call
CFI_ENDPROC

@@ -183,20 +179,17 @@ cstar_do_call:
sysretl

cstar_tracesys:
+ xchgl %r9d,%ebp
SAVE_REST
CLEAR_RREGS
+ movq %r9,R9(%rsp)
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi /* &pt_regs -> arg1 */
call syscall_trace_enter
LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */
RESTORE_REST
+ xchgl %ebp,%r9d
movl RSP-ARGOFFSET(%rsp), %r8d
- /* no need to do an access_ok check here because r8 has been
- 32bit zero extended */
-1: movl (%r8),%r9d
- .section __ex_table,"a"
- .quad 1b,ia32_badarg
- .previous
jmp cstar_do_call

ia32_badarg:
__
Chuck

2005-09-17 04:17:56

by Parag Warudkar

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Fri, 2005-09-16 at 20:36 -0400, Chuck Ebbert wrote:
> It looks to me like that patch corrupts ebp.
>
> This one works for me, though ebp still appears wrong to a 32-bit
> debugger on syscall exit trace. Maybe that doesn't matter so much.

Did you compile the program under a x86_64 kernel, distro? I ask because
it doesn't compile for me. On my machine asm-i386/user.h and
asm-x86_64/user.h both do not contain a user_regs_struct definition with
x86 registers.

Another thing I noticed was that with the patch %eax was zero for the
failing program although I didn't see how the patch affects %eax.

Parag

2005-09-17 04:30:47

by Parag Warudkar

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Sat, 2005-09-17 at 00:17 -0400, Parag Warudkar wrote:
> On my machine asm-i386/user.h and
> asm-x86_64/user.h both do not contain a user_regs_struct definition
> with
> x86 registers.

Never mind - Ubuntu seems to have broken compat headers. (Kernel version
of asm-i386/user.h is appropriate.)

P

2005-09-18 21:49:19

by Daniel Ritz

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Monday 12 September 2005 12.09, Rafael J. Wysocki wrote:
> On Monday, 12 of September 2005 12:06, Rafael J. Wysocki wrote:
> > Hi,
> >
> > (continuing the unfinished message)
> >
> > On Sunday, 11 of September 2005 22:08, Daniel Ritz wrote:
> > > On Sunday 11 September 2005 21.36, Andrew Morton wrote:
> > > > "Rafael J. Wysocki" <[email protected]> wrote:
> > > > >
> > > > > >
> > > > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm2/
> > > > > >
> > > > > > (kernel.org propagation is slow. There's a temp copy at
> > > > > > http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-mm2.bz2)
> > > > >
> > > > > Could you please reintroduce the yenta-free_irq-on-suspend.patch (attached)
> > > > > into -mm? My box does not resume from disk without it.
> > > >
> > > > No probs.
> > > >
> > > > Daniel, do you remember why we decided to drop it? What should we do about
> > > > this? Thanks.
> > > >
> > >
> > > yeah, there was a long discussion about it. see:
> > > http://marc.theaimsgroup.com/?t=112275164900002&r=1&w=4
> > > the reason being that it breaks APM suspend on Hugh Dickins' (added to cc:) laptop.
> > > Linus was quite clear about why reverting...
> > > http://marc.theaimsgroup.com/?l=linux-kernel&m=112278810115252&w=4
> > >
> > > we should look at both problems in detail:
> > > - with APM it seems to break because the bridge gives interrupt before the
> > > handler is installed.
> > > - with ACPI i think some _other_ device gives the interrupts too early. but
> > > when all devices on the interrupt unregister the irq is disabled and the
> > > problem is hidden.
> > >
> > > i don't think we can do mutch about the APM case...
> > >
> > > so Rafael, your /proc/interrupts, lspci -vvv and dmesg, please.
> >
> > rafael@albercik:~> cat /proc/interrupts
> ]-- snip --[
>
> BTW, please have a look at:
> http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
> and
> http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37
>

interesting. i'd say we get interrupt storms from usb which then hurt when
yenta has it's handler installed but usb has not. usb/hcd-pci.c frees the
irq on suspend...so it may be enough not to do that (survives suspend-to-ram
and suspend-to-disk here. yes, restore too :)

could you give that a tree w/o any free_irq-patches for yenta and co?

rgds
-daniel

diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -242,7 +242,9 @@ int usb_hcd_pci_suspend (struct pci_dev
case HC_STATE_SUSPENDED:
/* no DMA or IRQs except when HC is active */
if (dev->current_state == PCI_D0) {
+#if 0
free_irq (hcd->irq, hcd);
+#endif
pci_save_state (dev);
pci_disable_device (dev);
}
@@ -374,6 +376,7 @@ int usb_hcd_pci_resume (struct pci_dev *

hcd->state = HC_STATE_RESUMING;
hcd->saw_irq = 0;
+#if 0
retval = request_irq (dev->irq, usb_hcd_irq, SA_SHIRQ,
hcd->irq_descr, hcd);
if (retval < 0) {
@@ -382,6 +385,7 @@ int usb_hcd_pci_resume (struct pci_dev *
usb_hc_died (hcd);
return retval;
}
+#endif

retval = hcd->driver->resume (hcd);
if (!HC_IS_RUNNING (hcd->state)) {

2005-09-19 03:07:33

by Hugh Dickins

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Sun, 18 Sep 2005, Daniel Ritz wrote:
>
> interesting. i'd say we get interrupt storms from usb which then hurt when
> yenta has it's handler installed but usb has not. usb/hcd-pci.c frees the
> irq on suspend...so it may be enough not to do that (survives suspend-to-ram
> and suspend-to-disk here. yes, restore too :)

Will make no difference to my case: I have no USB,
so don't even build drivers/usb/core/hcd-pci.o.

Hugh

2005-09-19 15:56:16

by Daniel Ritz

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Monday 19 September 2005 05.07, Hugh Dickins wrote:
> On Sun, 18 Sep 2005, Daniel Ritz wrote:
> >
> > interesting. i'd say we get interrupt storms from usb which then hurt when
> > yenta has it's handler installed but usb has not. usb/hcd-pci.c frees the
> > irq on suspend...so it may be enough not to do that (survives suspend-to-ram
> > and suspend-to-disk here. yes, restore too :)
>
> Will make no difference to my case: I have no USB,
> so don't even build drivers/usb/core/hcd-pci.o.

well, it's not supposed to do anything in your case. but maybe it
fixes rafaels case w/o this crappy yenta free_irq thing :)

-daniel

2005-09-23 16:52:00

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.13-mm2

Hi,

[sorry for the delay]

On Sunday, 18 of September 2005 23:49, Daniel Ritz wrote:
]--snip--[
> >
> > BTW, please have a look at:
> > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
> > and
> > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37
> >
>
> interesting. i'd say we get interrupt storms from usb which then hurt when
> yenta has it's handler installed but usb has not. usb/hcd-pci.c frees the
> irq on suspend...so it may be enough not to do that (survives suspend-to-ram
> and suspend-to-disk here. yes, restore too :)
>
> could you give that a tree w/o any free_irq-patches for yenta and co?

I've tried and it apparently works provided that _none_ of the IRQ-sharing
devices drops the IRQ on suspend.

I think that's the whole point: Either all of the devices should drop/request
IRQs on suspend/resume, or none of them should do this. IMHO we need to
chose one of these options and call it "the right way" or there always
will be problems with this.

Greetings,
Rafael


> diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
> --- a/drivers/usb/core/hcd-pci.c
> +++ b/drivers/usb/core/hcd-pci.c
> @@ -242,7 +242,9 @@ int usb_hcd_pci_suspend (struct pci_dev
> case HC_STATE_SUSPENDED:
> /* no DMA or IRQs except when HC is active */
> if (dev->current_state == PCI_D0) {
> +#if 0
> free_irq (hcd->irq, hcd);
> +#endif
> pci_save_state (dev);
> pci_disable_device (dev);
> }
> @@ -374,6 +376,7 @@ int usb_hcd_pci_resume (struct pci_dev *
>
> hcd->state = HC_STATE_RESUMING;
> hcd->saw_irq = 0;
> +#if 0
> retval = request_irq (dev->irq, usb_hcd_irq, SA_SHIRQ,
> hcd->irq_descr, hcd);
> if (retval < 0) {
> @@ -382,6 +385,7 @@ int usb_hcd_pci_resume (struct pci_dev *
> usb_hc_died (hcd);
> return retval;
> }
> +#endif
>
> retval = hcd->driver->resume (hcd);
> if (!HC_IS_RUNNING (hcd->state)) {
>
>

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

2005-09-28 20:05:47

by Daniel Ritz

[permalink] [raw]
Subject: Re: 2.6.13-mm2

On Friday 23 September 2005 18.52, Rafael J. Wysocki wrote:
> Hi,
>
> [sorry for the delay]

[same :]

>
> On Sunday, 18 of September 2005 23:49, Daniel Ritz wrote:
> ]--snip--[
> > >
> > > BTW, please have a look at:
> > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
> > > and
> > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37
> > >
> >
> > interesting. i'd say we get interrupt storms from usb which then hurt when
> > yenta has it's handler installed but usb has not. usb/hcd-pci.c frees the
> > irq on suspend...so it may be enough not to do that (survives suspend-to-ram
> > and suspend-to-disk here. yes, restore too :)
> >
> > could you give that a tree w/o any free_irq-patches for yenta and co?
>
> I've tried and it apparently works provided that _none_ of the IRQ-sharing
> devices drops the IRQ on suspend.

ok. i didn't look too close, but i think ohci-hcd does not fully disable interrupts
in it's suspend callback...needs a closer look. cc:ing linux-usb-devel...

>
> I think that's the whole point: Either all of the devices should drop/request
> IRQs on suspend/resume, or none of them should do this. IMHO we need to
> chose one of these options and call it "the right way" or there always
> will be problems with this.
>

cc:ing linus since he seems to have a strong opinion about that free_irq-in-suspend
thing...not doing it for USB fixes the problem for both cases: APM suspend and ACPI
suspend...

> Greetings,
> Rafael

rgds
-daniel

>
>
> > diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
> > --- a/drivers/usb/core/hcd-pci.c
> > +++ b/drivers/usb/core/hcd-pci.c
> > @@ -242,7 +242,9 @@ int usb_hcd_pci_suspend (struct pci_dev
> > case HC_STATE_SUSPENDED:
> > /* no DMA or IRQs except when HC is active */
> > if (dev->current_state == PCI_D0) {
> > +#if 0
> > free_irq (hcd->irq, hcd);
> > +#endif
> > pci_save_state (dev);
> > pci_disable_device (dev);
> > }
> > @@ -374,6 +376,7 @@ int usb_hcd_pci_resume (struct pci_dev *
> >
> > hcd->state = HC_STATE_RESUMING;
> > hcd->saw_irq = 0;
> > +#if 0
> > retval = request_irq (dev->irq, usb_hcd_irq, SA_SHIRQ,
> > hcd->irq_descr, hcd);
> > if (retval < 0) {
> > @@ -382,6 +385,7 @@ int usb_hcd_pci_resume (struct pci_dev *
> > usb_hc_died (hcd);
> > return retval;
> > }
> > +#endif
> >
> > retval = hcd->driver->resume (hcd);
> > if (!HC_IS_RUNNING (hcd->state)) {
> >
> >
>

2005-09-28 20:23:27

by David Brownell

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

> > > > BTW, please have a look at:
> > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
> > > > and
> > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37

What's with the bogus dates in those reports ... claiming some of you
were testing 2.6.13-rc2-mm2 more than two months ago, mid-July ?????


> > > interesting. i'd say we get interrupt storms from usb which then hurt when
> > > yenta has it's handler installed but usb has not. usb/hcd-pci.c frees the
> > > irq on suspend...so it may be enough not to do that (survives suspend-to-ram
> > > and suspend-to-disk here. yes, restore too :)
> > >
> > > could you give that a tree w/o any free_irq-patches for yenta and co?
> >
> > I've tried and it apparently works provided that _none_ of the IRQ-sharing
> > devices drops the IRQ on suspend.
>
> ok. i didn't look too close, but i think ohci-hcd does not fully disable
> interrupts in it's suspend callback...needs a closer look.
> cc:ing linux-usb-devel...

It's handled in hcd-pci.c ... All PCI based HCDs release their IRQs
when they suspend. Including OHCI. Your diagnosis is incorrect.

- Dave


2005-09-28 20:36:50

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

Hi,

On Wednesday, 28 of September 2005 22:23, David Brownell wrote:
> > > > > BTW, please have a look at:
> > > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
> > > > > and
> > > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37
>
> What's with the bogus dates in those reports ... claiming some of you
> were testing 2.6.13-rc2-mm2 more than two months ago, mid-July ?????

Nothing. :-) 2.6.13-rc2-mm2 was out exactly on July 12, and that's when
I tested it (please see: http://www.ussg.iu.edu/hypermail/linux/kernel/0507.1/1177.html).

Greetings,
Rafael

2005-09-28 20:45:28

by Daniel Ritz

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

On Wednesday 28 September 2005 22.23, David Brownell wrote:
> > > > > BTW, please have a look at:
> > > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
> > > > > and
> > > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37
>
> What's with the bogus dates in those reports ... claiming some of you
> were testing 2.6.13-rc2-mm2 more than two months ago, mid-July ?????

hu? your point is?

>
>
> > > > interesting. i'd say we get interrupt storms from usb which then hurt when
> > > > yenta has it's handler installed but usb has not. usb/hcd-pci.c frees the
> > > > irq on suspend...so it may be enough not to do that (survives suspend-to-ram
> > > > and suspend-to-disk here. yes, restore too :)
> > > >
> > > > could you give that a tree w/o any free_irq-patches for yenta and co?
> > >
> > > I've tried and it apparently works provided that _none_ of the IRQ-sharing
> > > devices drops the IRQ on suspend.
> >
> > ok. i didn't look too close, but i think ohci-hcd does not fully disable
> > interrupts in it's suspend callback...needs a closer look.
> > cc:ing linux-usb-devel...
>
> It's handled in hcd-pci.c ... All PCI based HCDs release their IRQs
> when they suspend. Including OHCI. Your diagnosis is incorrect.

would you be kind enough to tell me where?

my point is: the test patch i sent to rafael which comments out the
free_irq-on-suspend thing in hcd-pci.c shows that something is wrong with
USB (i think only OHCI. UHCI looks ok and about EHCI i have no data).

>
> - Dave
>

rgds
-daniel

2005-09-28 20:56:43

by David Brownell

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

> On Wednesday, 28 of September 2005 22:23, David Brownell wrote:
> > > > > > BTW, please have a look at:
> > > > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
> > > > > > and
> > > > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37
> >
> > What's with the bogus dates in those reports ... claiming some of you
> > were testing 2.6.13-rc2-mm2 more than two months ago, mid-July ?????
>
> Nothing. :-) 2.6.13-rc2-mm2 was out exactly on July 12, and that's when
> I tested it ...

OK, sorry; pardon me! Then the right question to ask is more like
"So does this still happen in **2.6.14-rc2** ??". 2.6.13-rc is
marginally more recent than 2.4.20, but it still feels old. :)


My other point still stands though. The IRQ for all HCDs _are_ freed
on suspend, and re-requested on resume ... so lack of such free/request
calls can't possibly be an issue.

The old rule of thumb with USB does still apply though: be sure to
test with BIOS support for it disabled.

- Dave


2005-09-28 21:07:38

by David Brownell

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

> > > ok. i didn't look too close, but i think ohci-hcd does not fully disable
> > > interrupts in it's suspend callback...needs a closer look.
> > > cc:ing linux-usb-devel...
> >
> > It's handled in hcd-pci.c ... All PCI based HCDs release their IRQs
> > when they suspend. Including OHCI. Your diagnosis is incorrect.
>
> would you be kind enough to tell me where?

There's only one free_irq() line, and it gets called the first time
through usb_hcd_pci_suspend(). QED.


> my point is: the test patch i sent to rafael which comments out the
> free_irq-on-suspend thing in hcd-pci.c shows that something is wrong with
> USB (i think only OHCI. UHCI looks ok and about EHCI i have no data).

Your logic escapes me, since your patch affected all three PCI HCDs.
If that's wrong for one, its wrong for all three.

And as I just commented to Rafael, here are two better things to try
instead of believing a diagnosis that's clearly wrong:

- 2.6.14-rc2
- disabling USB keyboard/mouse/... support in your BIOS

I know there are bugs in the "usb-handoff" PCI quirk code; the folk who've
collected those code fragments didn't bother to match the code in the HCDs,
and the differences can matter [1]. The best way to avoid such stuff is
still to make sure that your BIOS just ignores USB.

- Dave

[1] http://marc.theaimsgroup.com/?l=linux-usb-devel&m=112745488924651&w=2

2005-09-28 21:10:44

by Alan Stern

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

On Wed, 28 Sep 2005, Daniel Ritz wrote:

> > It's handled in hcd-pci.c ... All PCI based HCDs release their IRQs
> > when they suspend. Including OHCI. Your diagnosis is incorrect.
>
> would you be kind enough to tell me where?
>
> my point is: the test patch i sent to rafael which comments out the
> free_irq-on-suspend thing in hcd-pci.c shows that something is wrong with
> USB (i think only OHCI. UHCI looks ok and about EHCI i have no data).

There are two issues here: freeing the IRQ handler and preventing the
device from generating interrupt requests in the first place. Dave and I
discussed this some time ago and agreed it was vital to stop interrupt
generation at the source, before releasing the handler, whenever the
device is suspended.

So the real question becomes, is your OHCI controller somehow generating
interrupt requests at a time when it shouldn't be? Adding debugging
printk's to the driver's interrupt handler could answer this.

If it isn't, then the problem you see has some other cause. ACPI often
turns out to be the culprit.

Alan Stern

2005-09-28 21:34:37

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

Hi,

On Wednesday, 28 of September 2005 22:56, David Brownell wrote:
> > On Wednesday, 28 of September 2005 22:23, David Brownell wrote:
> > > > > > > BTW, please have a look at:
> > > > > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c36
> > > > > > > and
> > > > > > > http://bugzilla.kernel.org/show_bug.cgi?id=4416#c37
> > >
> > > What's with the bogus dates in those reports ... claiming some of you
> > > were testing 2.6.13-rc2-mm2 more than two months ago, mid-July ?????
> >
> > Nothing. :-) 2.6.13-rc2-mm2 was out exactly on July 12, and that's when
> > I tested it ...
>
> OK, sorry; pardon me! Then the right question to ask is more like
> "So does this still happen in **2.6.14-rc2** ??". 2.6.13-rc is
> marginally more recent than 2.4.20, but it still feels old. :)
>
>
> My other point still stands though. The IRQ for all HCDs _are_ freed
> on suspend, and re-requested on resume ... so lack of such free/request
> calls can't possibly be an issue.

Yes it can. Apparently on my box the call to request_irq() from a USB HCD
driver (OHCI or EHCI) causes a screaming interrupt to be generated,
which kills any other driver that shares the IRQ with the USB and has not
called free_irq() on suspend. Of course this only happens with the patch
at http://www.ussg.iu.edu/hypermail/linux/kernel/0507.3/2234.html
unapplied, as it masks the problem. Actually it also depends on the
order in which the drivers' resume routines are called, but unfortunately
on my box the USB drivers' are called first.

Still, if _none_ of the drivers (including USB HCD) calls request_irq() on resume,
the box survives _even_ _without_ the above-mentioned patch.

> The old rule of thumb with USB does still apply though: be sure to
> test with BIOS support for it disabled.

AFAICT, in this particular case it doesn't matter.

Greetings,
Rafael

2005-09-28 21:47:08

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

Hi,

On Wednesday, 28 of September 2005 23:07, David Brownell wrote:
> > > > ok. i didn't look too close, but i think ohci-hcd does not fully disable
> > > > interrupts in it's suspend callback...needs a closer look.
> > > > cc:ing linux-usb-devel...
> > >
> > > It's handled in hcd-pci.c ... All PCI based HCDs release their IRQs
> > > when they suspend. Including OHCI. Your diagnosis is incorrect.
> >
> > would you be kind enough to tell me where?
>
> There's only one free_irq() line, and it gets called the first time
> through usb_hcd_pci_suspend(). QED.
>
>
> > my point is: the test patch i sent to rafael which comments out the
> > free_irq-on-suspend thing in hcd-pci.c shows that something is wrong with
> > USB (i think only OHCI. UHCI looks ok and about EHCI i have no data).
>
> Your logic escapes me, since your patch affected all three PCI HCDs.
> If that's wrong for one, its wrong for all three.
>
> And as I just commented to Rafael, here are two better things to try
> instead of believing a diagnosis that's clearly wrong:
>
> - 2.6.14-rc2

This one works obviously, as it contains the patch that adds acpi_pci_link_resume()
(http://www.ussg.iu.edu/hypermail/linux/kernel/0507.3/2234.html). The patch is
not present in -mm though, AFAIK, so I can test the latest one, if you want me to,
but I think it won't work.

Greetings,
Rafael

2005-09-28 22:04:24

by David Brownell

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

> > My other point still stands though. The IRQ for all HCDs _are_ freed
> > on suspend, and re-requested on resume ... so lack of such free/request
> > calls can't possibly be an issue.
>
> Yes it can. Apparently on my box the call to request_irq() from a USB HCD
> driver (OHCI or EHCI) causes a screaming interrupt to be generated,
> which kills any other driver that shares the IRQ with the USB and has not
> called free_irq() on suspend.

So it's as I said: _lack_ of such calls can't be an issue.

So _which_ device is generating this IRQ??


> Of course this only happens with the patch
> at http://www.ussg.iu.edu/hypermail/linux/kernel/0507.3/2234.html
> unapplied, as it masks the problem.

Hmm, an ACPI patch. With tabs completely trashed; that
mail archive needs to learn about <pre>...</pre. :(


> Actually it also depends on the
> order in which the drivers' resume routines are called, but unfortunately
> on my box the USB drivers' are called first.

Suggesting that the issue comes from the non-USB driver
sharing that IRQ line...

- Dave

2005-09-28 22:07:30

by Daniel Ritz

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

On Wednesday 28 September 2005 23.07, David Brownell wrote:
> > > > ok. i didn't look too close, but i think ohci-hcd does not fully disable
> > > > interrupts in it's suspend callback...needs a closer look.
> > > > cc:ing linux-usb-devel...
> > >
> > > It's handled in hcd-pci.c ... All PCI based HCDs release their IRQs
> > > when they suspend. Including OHCI. Your diagnosis is incorrect.
> >
> > would you be kind enough to tell me where?
>
> There's only one free_irq() line, and it gets called the first time
> through usb_hcd_pci_suspend(). QED.

errm yes. that's the one my test patch commented out. but that was really
not what i was asking/telling. so again:
to me it looks like ohci-hcd does not fully disable interrupts on suspend.
disable (read: tell the hardware not to generate interrupts anymore), not
releasing the handler.

>
>
> > my point is: the test patch i sent to rafael which comments out the
> > free_irq-on-suspend thing in hcd-pci.c shows that something is wrong with
> > USB (i think only OHCI. UHCI looks ok and about EHCI i have no data).
>
> Your logic escapes me, since your patch affected all three PCI HCDs.
> If that's wrong for one, its wrong for all three.

to me it seems there is code in uhci-hcd that tells the hardware not
to generate interrupts anymore. for ohci i think this is missing and
for ehci i simply didn't bother to check at all.

>
> And as I just commented to Rafael, here are two better things to try
> instead of believing a diagnosis that's clearly wrong:
>
> - 2.6.14-rc2
> - disabling USB keyboard/mouse/... support in your BIOS
>
> I know there are bugs in the "usb-handoff" PCI quirk code; the folk who've
> collected those code fragments didn't bother to match the code in the HCDs,
> and the differences can matter [1]. The best way to avoid such stuff is
> still to make sure that your BIOS just ignores USB.
>
> - Dave
>
> [1] http://marc.theaimsgroup.com/?l=linux-usb-devel&m=112745488924651&w=2
>
>
rgds
-daniel

2005-09-28 22:32:43

by Daniel Ritz

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

On Thursday 29 September 2005 00.04, David Brownell wrote:
> > > My other point still stands though. The IRQ for all HCDs _are_ freed
> > > on suspend, and re-requested on resume ... so lack of such free/request
> > > calls can't possibly be an issue.
> >
> > Yes it can. Apparently on my box the call to request_irq() from a USB HCD
> > driver (OHCI or EHCI) causes a screaming interrupt to be generated,
> > which kills any other driver that shares the IRQ with the USB and has not
> > called free_irq() on suspend.
>
> So it's as I said: _lack_ of such calls can't be an issue.

yep, but doing the free_irq() on suspend can be. and is in some cases.

>
> So _which_ device is generating this IRQ??

USB ohci controller having no handler. yenta shares the line, has the
correct handler installer, sees the interrupt, does not handle it since
it was not the cardbus bridge generating the interrupt but ohci.
nobody cares about the interrupt, nobody tells the hardware to stop.
hello interrupt storm. and during reesume...boom.

and yes, doing the free_irq() in yenta works _around_ the problem but
breaks resume with APM where the BIOS is getting in the way. we had
that change, it was a regression (for Hugh), Linus backed it out.

nice reading:
http://marc.theaimsgroup.com/?t=112275164900002&r=1&w=4

>
>
> > Of course this only happens with the patch
> > at http://www.ussg.iu.edu/hypermail/linux/kernel/0507.3/2234.html
> > unapplied, as it masks the problem.
>
> Hmm, an ACPI patch. With tabs completely trashed; that
> mail archive needs to learn about <pre>...</pre. :(
>
>
> > Actually it also depends on the
> > order in which the drivers' resume routines are called, but unfortunately
> > on my box the USB drivers' are called first.
>
> Suggesting that the issue comes from the non-USB driver
> sharing that IRQ line...

nope, other way around.

>
> - Dave
>

btw. i'm still suggesting not doing that free_irq() thing in suspend, at
least not short-term. i was thinking that it is a good idea in the beginning,
but Linus changed my mind...[ patch for usb ready ]

rgds
-daniel

2005-09-29 00:09:35

by David Brownell

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

> > So it's as I said: _lack_ of such calls can't be an issue.
>
> yep, but doing the free_irq() on suspend can be. and is in some cases.

Your other theory is more interesting:


> > So _which_ device is generating this IRQ??
>
> USB ohci controller having no handler. yenta shares the line, has the
> correct handler installer, sees the interrupt, does not handle it since
> it was not the cardbus bridge generating the interrupt but ohci.

You could try adding

ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);

near the end of ohci_pci_suspend().

- Dave

2005-09-29 02:54:58

by Alan Stern

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

On Thu, 29 Sep 2005, Daniel Ritz wrote:

> USB ohci controller having no handler. yenta shares the line, has the
> correct handler installer, sees the interrupt, does not handle it since
> it was not the cardbus bridge generating the interrupt but ohci.
> nobody cares about the interrupt, nobody tells the hardware to stop.
> hello interrupt storm. and during reesume...boom.

Does this occur during resume from disk? Most likely the controller was
enabled by the BIOS. Try passing the "usb-handoff" parameter to the boot
kernel when you resume.

> btw. i'm still suggesting not doing that free_irq() thing in suspend, at
> least not short-term. i was thinking that it is a good idea in the beginning,
> but Linus changed my mind...[ patch for usb ready ]

I think that calling free_irq during suspend is a good thing in general,
for the reason Adam Belay mentioned: It reduces interrupt overhead for
runtime power management, where a few devices may be suspended while the
rest of the system stays awake.

Of course, that doesn't mean I advocate going around right away and adding
those free_irq/request_irq pairs to every driver.

Alan Stern

2005-09-29 15:22:26

by Linus Torvalds

[permalink] [raw]
Subject: Re: 2.6.13-mm2



On Wed, 28 Sep 2005, Daniel Ritz wrote:
>
> cc:ing linus since he seems to have a strong opinion about that free_irq-in-suspend
> thing...not doing it for USB fixes the problem for both cases: APM suspend and ACPI
> suspend...

Trivial decision: if not freeing the irq fixes the problem, then please
send a tested patch that does just that. It's what we used to do anyway,

Linus

2005-09-29 15:37:19

by Linus Torvalds

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2



On Wed, 28 Sep 2005, David Brownell wrote:
>
> You could try adding
>
> ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
>
> near the end of ohci_pci_suspend().

Give it up.

The right thing is to not free and re-aquire the damn interrupt in the
first place. It was a MISTAKE. We undid the ACPI braindamage that made it
be required a month ago, because sane people REALIZED it was a mistake.

It's not just "random luck" that not releasing the interrupt over suspend
fixes the problem. The problem is _due_ to drivers releasing the
interrupt in the first place.

IT DOESN'T MATTER what we do before the suspend, because we don't control
the wakeup sequence. If the BIOS wakeup enables the devices again, the
fact that we disabled them on suspend makes zero difference.

And yes, we can always "fix" things by selecting the right order to
re-aquire the interrupts, but the thing is, the "right order" will be
machine-dependent and in general depend on the phase of the moon and BIOS
version, and ACPI quirks.

The _only_ sane thing to do is to not drop the interrupts in the first
place. So that if you start getting interrupts before you expect them, you
can still handle them.

Linus

2005-09-29 16:32:04

by David Brownell

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

On Thu Sep 29 2005 Our Fearless Leader <[email protected]> wrote:

> > You could try adding
> >
> > ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
> >
> > near the end of ohci_pci_suspend().
>
> Give it up.

Actually the notion of doing _that_ predated that "recent" ACPI stuff,
since from time to time people with OHCI in ASICs (and without ACPI)
have said they need to run with a patch doing just that.

Which is why regardless of that other ACPI-ish issue, I'd like to
hear test results on this one. I suspect they'll be "OHCI resume
breaks for other reasons", unfortunately, but that's one reason we
have a 2.6.15 cycle upcoming. (And such reports would put a rather
different complexion on this whole recent thread too ... ;)


> The right thing is to not free and re-aquire the damn interrupt in the
> first place. It was a MISTAKE. We undid the ACPI braindamage that made it
> be required a month ago, because sane people REALIZED it was a mistake.
>
> It's not just "random luck" that not releasing the interrupt over suspend
> fixes the problem. The problem is _due_ to drivers releasing the
> interrupt in the first place.

The patch above would be orthogonal to that issue, though ...


If we change how usbcore does this stuff -- so hcd-pci.c won't release
and later re-allocate the IRQ -- I don't think I'd object. But I'd
rather do it in the 2.6.15 cycle, since as I understand things the
bug that restores that "ACPI braindamage" is only in the MM tree, and
there have been _no failures at all_ reported using mainstream kernels.

- Dave


> IT DOESN'T MATTER what we do before the suspend, because we don't control
> the wakeup sequence. If the BIOS wakeup enables the devices again, the
> fact that we disabled them on suspend makes zero difference.
>
> And yes, we can always "fix" things by selecting the right order to
> re-aquire the interrupts, but the thing is, the "right order" will be
> machine-dependent and in general depend on the phase of the moon and BIOS
> version, and ACPI quirks.
>
> The _only_ sane thing to do is to not drop the interrupts in the first
> place. So that if you start getting interrupts before you expect them, you
> can still handle them.
>
> Linus
>

2005-09-29 19:39:31

by Daniel Ritz

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

On Thursday 29 September 2005 17.36, Linus Torvalds wrote:
>
> On Wed, 28 Sep 2005, David Brownell wrote:
> >
> > You could try adding
> >
> > ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
> >
> > near the end of ohci_pci_suspend().

that's what i meant with "i think ohci-hcd does not fully disable
interrupts in it's suspend callback"...

>
> Give it up.

i'd say: yes put that line there to shut up the controller during suspend
and nuke the free_irq() in suspend to avoid problems during restore (attached).

>
> The right thing is to not free and re-aquire the damn interrupt in the
> first place. It was a MISTAKE. We undid the ACPI braindamage that made it
> be required a month ago, because sane people REALIZED it was a mistake.
>
> It's not just "random luck" that not releasing the interrupt over suspend
> fixes the problem. The problem is _due_ to drivers releasing the
> interrupt in the first place.
>
> IT DOESN'T MATTER what we do before the suspend, because we don't control
> the wakeup sequence. If the BIOS wakeup enables the devices again, the
> fact that we disabled them on suspend makes zero difference.
>
> And yes, we can always "fix" things by selecting the right order to
> re-aquire the interrupts, but the thing is, the "right order" will be
> machine-dependent and in general depend on the phase of the moon and BIOS
> version, and ACPI quirks.
>
> The _only_ sane thing to do is to not drop the interrupts in the first
> place. So that if you start getting interrupts before you expect them, you
> can still handle them.
>

fully agreed.

> Linus
>

attached the patch that kills the free_irq()/request_irq() pair in USB.
one round in -mm?

rgds
-daniel

----

[PATCH] usb/core/hcd-pci.c: don't free_irq() on suspend

the free_irq() in USB suspend breaks resume on some setups where USB
(ohci/ehci) shares the interrupt with an other device.

Signed-off-by: Daniel Ritz <[email protected]>

diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -242,7 +242,6 @@ int usb_hcd_pci_suspend (struct pci_dev
case HC_STATE_SUSPENDED:
/* no DMA or IRQs except when HC is active */
if (dev->current_state == PCI_D0) {
- free_irq (hcd->irq, hcd);
pci_save_state (dev);
pci_disable_device (dev);
}
@@ -374,14 +373,6 @@ int usb_hcd_pci_resume (struct pci_dev *

hcd->state = HC_STATE_RESUMING;
hcd->saw_irq = 0;
- retval = request_irq (dev->irq, usb_hcd_irq, SA_SHIRQ,
- hcd->irq_descr, hcd);
- if (retval < 0) {
- dev_err (hcd->self.controller,
- "can't restore IRQ after resume!\n");
- usb_hc_died (hcd);
- return retval;
- }

retval = hcd->driver->resume (hcd);
if (!HC_IS_RUNNING (hcd->state)) {

2005-09-30 16:33:31

by Linus Torvalds

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2



On Wed, 28 Sep 2005, David Brownell wrote:
>
> You could try adding
>
> ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
>
> near the end of ohci_pci_suspend().

Btw, wouldn't this make more sense in ohci_hub_suspend()? That would pair
up with the resume, and there seems to be nothing PCI-specific about this?

There are other callers of suspend than just the PCI bus suspend.

Just wondering..

Linus

2005-09-30 17:49:13

by David Brownell

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: 2.6.13-mm2

> Date: Fri, 30 Sep 2005 09:33:13 -0700 (PDT)
> From: Linus Torvalds <[email protected]>
>
> On Wed, 28 Sep 2005, David Brownell wrote:
> >
> > You could try adding
> >
> > ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
> >
> > near the end of ohci_pci_suspend().
>
> Btw, wouldn't this make more sense in ohci_hub_suspend()? That would pair
> up with the resume, and there seems to be nothing PCI-specific about this?
>
> There are other callers of suspend than just the PCI bus suspend.
>
> Just wondering..

Actually, no it wouldn't make sense.

Think of the OHCI driver as being in two parts: (a) downstream links,
the guts of OHCI which I'll summarize here as being the root hub;
and (b) the upstream link, a PCI or SOC bus. Both parts have their
own power management rules.

Now the OHCI controller itself supports four internal states, one of
which is called SUSPEND. It's the lowest power state that all OHCI
silicon supports. It's the state the controller enters whenever the
root hub suspends.

The OHCI driver keeps the controller in that OHCI_USB_SUSPEND state
whenever it can ... like when no devices are connected, or when all
connected devices have been suspended. At this very second, most
OHCIs running Linux are probably in this state.

And the way the controller leaves the SUSPEND state is to issue an IRQ
when someone connects a new USB device, or a suspended device (like a
USB keyboard or mouse) issues a wakeup signal.

You can see what that means. Disabling IRQs in ohci_hub_suspend()
would mean the controller couldn't wake up for new devices etc.
USB would just "not work".

It might not be appropriate to disable that in the PCI glue either;
I came across a comment from Benjamin Herrenschmidt a while back,
that some "legacy" PCI systems drive system wakeup through normal
IRQs rather than through PME#. That dovetails nicely with your
comments about disabling IRQs during suspend being ungood. :)

- Dave