Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

2.6.13-rc6-mm1

1 view
Skip to first unread message

Andrew Morton

unread,
Aug 19, 2005, 7:37:48 AM8/19/05
to linux-...@vger.kernel.org

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

- Lots of fixes, updates and cleanups all over the place.

- If you have the right debugging options set, this kernel will generate
a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.
It is being worked on.


Changes since 2.6.13-rc5-mm1:

linus.patch
git-acpi.patch
git-acpi-ia64-fixes.patch
git-alsa.patch
git-cpufreq.patch
git-cryptodev.patch
git-drm.patch
git-ia64.patch
git-audit.patch
git-input.patch
git-kbuild.patch
git-libata-all.patch
git-mtd.patch
git-netdev-all.patch
git-net.patch
git-ocfs2.patch
git-serial.patch
git-scsi-block.patch
git-scsi-iscsi.patch
git-scsi-iscsi-vs-git-net.patch
git-net-vs-iscsi-fix.patch
git-scsi-misc.patch
git-watchdog.patch

Subsystem trees

-x86_64-ignore-machine-checks-from-boot-time.patch
-__bio_clone-dead-comment.patch
-make-visws-compile-again.patch
-visws-linkage-fix.patch
-remove-linux-pagemaph-from-linux-swaph.patch
-namespacec-fix-bind-mount-from-foreign-namespace.patch
-8xx-convert-fec-driver-to-use-work_struct.patch
-8xx-using-dma_alloc_coherent-instead-consistent_alloc.patch
-8xx-fec-fix-interrupt-handler-prototypes.patch
-ppc32-8xx-fix-cpm-ethernet-description.patch
-ppc32-8xx-restrict-enet_big_buffers-option.patch
-ppc32-8xx-kill-unused-variable-in-commproc.patch
-ppc32-8xx-commproc-avoid-direct-pte-manipulation-use-dma-coherent-api-instead.patch
-move-the-fix-to-align-node_end_pfns-to-a-proper-location.patch
-crc32c-typo-fix.patch
-acpi-videoc-properly-remove-notify-handlers.patch
-ns558-list-handling-fix.patch
-git-net-ddcp-fixes.patch
-git-net-svcsock-build-fix.patch
-time-conversion-error-in-net-sunrpc-svcsockc.patch
-aic79xx-needs-scsi_transport_spi.patch
-i6300esb-pci_match_device-fix.patch
-s2io-fix-a-compiler-warning-in-a-printk.patch
-s390-use-klist-in-qeth-driver.patch
-new-driver-for-yealink-usb-p1k-phone.patch
-new-driver-for-yealink-usb-p1k-phone-endianness-fix.patch
-kconfig-trivial-cleanup.patch
-xdr-input-validation.patch
-nfs-split-nfsi-flags-into-two-fields.patch
-nfs-use-atomic-bitops-to-manipulate-flags-in-nfsi-flags.patch
-nfs-introduce-the-use-of-inode-i_lock-to-protect-fields-in-nfsi.patch
-fbdev-dont-allow-softcursor-use-from-userland.patch
-fbdev-mach64-atari-patch.patch
-fbsysfs-remove-casts-from-void.patch
-drivers-char-ip2-i2libc-replace-direct-assignment-with-set_current_state.patch
-ide-add-support-for-netcell-revolution-to-pci-ide-generic-driver.patch

Merged

+tpm_infineon-bugfix-in-pnpacpi-handling.patch

TPM driver fix

+mobil-pentium-4-ht-and-the-nmi.patch

Mobile P4 NMI fix

+move-truncate_inode_pages-into-delete_inode.patch
+update-filesystems-for-new-delete_inode-behavior.patch

Broken out of the OCFS2 patch

+git-acpi-ia64-fixes.patch

Fix ACPI-vs-ia64

+gregkh-driver-driver-docs-whitespace.patch
+gregkh-driver-driver-docs-permissions.patch
+gregkh-driver-driver-handle-sysdev-suspend-failure.patch
+gregkh-driver-sysfs-strip_leading_trailing_whitespace.patch

Additions to Greg's driver tree

+seclvl-use-securityfs.patch
+seclvl-use-securityfs-tidy.patch
+seclvl-use-securityfs-fix.patch

Convert seclvl to use securityfs

+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-changed_default_netlink_group.patch
+gregkh-i2c-w1-fs9490-sync.patch
+gregkh-i2c-w1-01-hotplug.patch
+gregkh-i2c-w1-02-64bit.patch
+gregkh-i2c-w1-03.patch
+gregkh-i2c-w1-04.patch
+gregkh-i2c-w1-05.patch
+gregkh-i2c-w1-06.patch
+gregkh-i2c-w1-07.patch
+gregkh-i2c-w1-08.patch
+gregkh-i2c-w1-09.patch

i2c tree

+kbuild-fix-make-clean-damaging-hg-repos.patch

kbuild fix for Mercurial

-git-libata-adma-mwi.patch
-git-libata-chs-support.patch
-git-libata-passthru.patch
-git-libata-promise-sata-pata.patch
+git-libata-all.patch

Jeff has a consolidated libata tree now

-git-netdev-chelsio.patch
-git-netdev-e100.patch
-git-netdev-sis190.patch
-git-netdev-smc91x-eeprom.patch
-git-netdev-ieee80211-wifi.patch
-git-netdev-upstream.patch
+git-netdev-all.patch

And a consolidated netdev tree

+git-net-fixups.patch

Fix git-net.patch rejects

+sis190-must-select-mii.patch

sis190 Kconfig fix

+gregkh-pci-pci-io_remap_pfn_range.patch
+gregkh-pci-pci-hotplug-use-bus_slot-number-for-name.patch
+gregkh-pci-pci-restore-bar-values.patch
+gregkh-pci-pci-make-sparc64-use-setup-res.patch
+gregkh-pci-pci-cleanup-return-values.patch
+gregkh-pci-pci-cleanup-return-values-fix.patch
+gregkh-pci-pci-remove-pci_find_device-from-parport_pc.patch
+gregkh-pci-pci-sgi-hotplug-fixes.patch
+gregkh-pci-pci-pci_intx.patch
+gregkh-pci-pci-must_check-attributes.patch

PCI tre updates

+pci-pm-support-pm-cap-version-3.patch

PCI power management fix

+git-net-vs-iscsi-fix.patch

Fix iscsi for git-net changes

-gregkh-usb-usb-storage-rearrange-stuff.patch
-gregkh-usb-usb-storage-fix-something.patch
+gregkh-usb-usb-keyspan_remote-endian-fix.patch
+gregkh-usb-usb-pl2303hx-fix.patch
+gregkh-usb-usb-ftdi_sio-userspecified-vid.patch
+gregkh-usb-usb-ftdi_sio-new-ids.patch
+gregkh-usb-usb-hid-blacklist-apple-bluetooth.patch
+gregkh-usb-usb-real-nodes-instead-of-usbfs.patch
+gregkh-usb-usb-real-nodes-instead-of-usbfs-fix.patch
+gregkh-usb-usb-storage-unusual-devs-mitsumi.patch
+gregkh-usb-usb-ub-01.patch
+gregkh-usb-usb-ub-02.patch
+gregkh-usb-usb-ub-03.patch
+gregkh-usb-usb-ub-04.patch
+gregkh-usb-usb-usblp-rate-limit-error-messages.patch
+gregkh-usb-usb-usbnet-gfp_flags-fix.patch
+gregkh-usb-usb-isp116x-hcd-01.patch
+gregkh-usb-usb-isp116x-hcd-02.patch
+gregkh-usb-usb-isp116x-hcd-03.patch
+gregkh-usb-usb-isp116x-hcd-04.patch
+gregkh-usb-usb-isp116x-hcd-05.patch
+gregkh-usb-usb-isp116x-hcd-06.patch
+gregkh-usb-usb-storage-01.patch
+gregkh-usb-usb-storage-02.patch
+gregkh-usb-usb-storage-03.patch
+gregkh-usb-usb-storage-04.patch
+gregkh-usb-usb-storage-05.patch
+gregkh-usb-usb-remove-URB_ASYNC_UNLINK.patch
+gregkh-usb-usb-serial-async-fixup.patch
+gregkh-usb-usb-fix-hp8200.patch
+gregkh-usb-usb-hub-code-motion.patch
+gregkh-usb-usb-hub-disconnect-children.patch
+gregkh-usb-usb-s3c24xx-port-numbering-fix.patch
+gregkh-usb-usb-ohci-ppc-soc-fix.patch
+gregkh-usb-usb-usb_lock_device_for_reset-timeout.patch
+gregkh-usb-usb-unbind-usb_generic-driver.patch
+gregkh-usb-usb-tweak-highspeed-calculations.patch
+gregkh-usb-usb-remove-annoying-message.patch
+gregkh-usb-usb-ohci-ppc-soc-include.patch
+gregkh-usb-usb-schedule-oss-usb-drivers-removal.patch
+gregkh-usb-usb-ldusb-64-bit-warnings.patch
+gregkh-usb-usb-usbnet-01.patch
+gregkh-usb-usb-usbnet-02.patch
+gregkh-usb-usb-usbnet-03.patch
+gregkh-usb-usb-usbnet-04.patch
+gregkh-usb-usb-usbnet-05.patch
+gregkh-usb-usb-usbnet-06.patch
+gregkh-usb-usb-usbnet-07.patch
+gregkh-usb-usb-usbnet-08.patch
+gregkh-usb-usb-usbnet-09.patch
+gregkh-usb-usb-ehci-01.patch
+gregkh-usb-usb-ehci-02.patch
+gregkh-usb-usb-usbmon-dma-areas.patch
+gregkh-usb-usb-yealink.patch

USB tree updates

-make-usb-handoff-the-default-usb-no-handoff-turns-it-off.patch

This broke

+git-watchdog.patch
-bk-watchdog.patch

Wim has a git tree for the watchdog drivers

+use-mm_counter-macros-for-nr_pte-since-its-also-under-ptl.patch

mm accounting atomicity fix

sparsemem-extreme.patch
+sparsemem-extreme-implementation.patch
+sparsemem-extreme-hotplug-preparation.patch

Updates to sparsemem-extreme

+comment-typo-fix.patch
+vm-slabc-spelling-correction.patch
+shmem_populate-avoid-an-useless-check-and-some-comments.patch
+add-swap-cache-mapping-comment.patch
+remove-implied-vm_ops-check.patch
+remove-stale-comment-from-swapfilec.patch
+correct-_page_file-comment.patch

MM fixlets

-page-fault-patches-introduce-pte_xchg-and-pte_cmpxchg-fix.patch

Folded into page-fault-patches-introduce-pte_xchg-and-pte_cmpxchg.patch

-page-fault-patches-optional-page_lock-acquisition-in-tidy.patch
-page-fault-patches-optional-page_lock-acquisition-in-fix.patch
-page-fault-patches-optional-page_lock-acquisition-in-fix-2.patch

Folded into 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

Fix it for an earlier patch

-page-fault-patches-fix-highpte-in-do_anon_page.patch

Folded into page-fault-patches-no-pagetable-lock-in-do_anon_page.patch

+x86_64-ptep-clear-optimization.patch

mm speedup

+vm-add-page_state-info-to-per-node-meminfo.patch

Add page_state info to the per-node meminfo file in sysfs.

+ppp_mppe-add-ppp-mppe-encryption-module-update.patch

Fix ppp_mppe-add-ppp-mppe-encryption-module.patch

-ppp-handle-misaligned-accesses.patch
+ppp-handle-misaligned-accesses-2.patch

Updated version

-tulip-fixes-for-uli5261.patch

Dropped - not needed now.

+remove-warning-about-e1000_suspend.patch
+net-update-the-spider_net-driver.patch

net driver updates

+selinux-reduce-memory-use-by-avtab.patch

SELinux memory usage reduction

+selinux-endian-notations.patch

SELinux endianness notations

+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
+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 updates

+ppc64-large-initrd-causes-kernel-not-to-boot.patch
+ppc64-replace-schedule_timeout-with-msleep_interruptible.patch

ppc64 updates

+mips-remove-vr4181-support-fix.patch
+more-vr4181-removal.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-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 things

+arch-sh64-kconfig-doesnt-need-its-own-log_buf_shift.patch

superh cleanup

+x86-add-the-check-for-all-the-cores-in-a-package-in-cache-information.patch
+via-vt8237-apic-bypass-deassertion-quirk.patch

x86 updates

+i386--make-write-ldt-return-error-code.patch
+i386--remove-ugly-tls-code.patch
+i386--remove-unnecessary-tls-init.patch
+i386--clean-up-asm-and-volatile-keywords-in-desc.patch
+i386--use-early-clobber-to-eliminate-rotate-in-desc.patch
+i386--add-some-segment-convenience-functions.patch
+i386--add-some-descriptor-convenience-functions.patch
+i386--add-a-per-cpu-gdt-accessor.patch
+i386--typecheck-and-optimize-base-and-limit-accessors.patch
+i386--typecheck-and-optimize-base-and-limit-accessors-fix.patch
+i386--typecheck-and-optimize-base-and-limit-accessors-fix-tidy.patch
+i386--move-descriptor-accessors-into-desc-h.patch
+i386--eliminate-yet-another-redundant-accessor.patch
+i386--move-context-switch-inline.patch
+i386--introduce-hypervisor-ldt-hooks.patch
+i386--introduce-hypervisor-lazy-pinning-hooks.patch
+i386-virtualization-fix-uml-build.patch
+i386-virtualization-remove-some-dead-debugging-code.patch
+i386-virtualization-make-ldt-a-desc-struct.patch
+i386-virtualization-ldt-kprobes-bugfix.patch
+i386-virtualization-make-generic-set-wrprotect-a-macro.patch
+i386-virtualization-attempt-to-clean-up-pgtable-code-motion.patch
+i386-fix-desc-empty.patch

A bunch more x86 cleanups and abstractions for virtualisation

+i386-boottime-for_each_cpu-broken.patch
+i386-boottime-for_each_cpu-broken-fix.patch

Fix x86 early for_each_cpu() usage.

+reconfigure-msi-registers-after-resume.patch

x86 PM fix

+arch-cris-kconfigdebug-use-lib-kconfigdebug.patch

cris cleanup

+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 updates

+dell_rbu-new-dell-bios-update-driver-fix.patch

Fix dell_rbu-new-dell-bios-update-driver.patch

+parport-add-netmos-9805-support.patch

parport device support

+fs-kconfig-quota-help-text-updates.patch

Kconfig fixes

+jffs-jffs2-remove-wrong-function-prototypes.patch

cleanup

+i386-buildc-write-out-larger-system-size-to-bootsector.patch

Handle huge kernel images

+incorrect-permissions-on-parport-sysctls.patch

parport permission fix

+check_irq_per_cpu-to-avoid-dead-code-in-__do_irq.patch

cleanup

+fix-handling-in-parport_pc-init-code.patch

parport fix

+fix-function-macro-name-collision-on-i386-oprofile.patch

function naming fix

+remove-asm-hdregh.patch

cleanup

+3c59x-read-current-link-status-from-phy.patch

Might fix some 3com problems

+delete-unused-do_nanosleep-declaration.patch
+clean-up-missing-overflow-check-in-get_blkdev_list.patch

cleanups

+console-blanking-locking-fix.patch

console locking fix

+do_notify_parent_cldstop-cleanup.patch

cleanup

+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
+ipmi-use-dmi_find_device.patch

DMI updates

+driver-for-ibm-automatic-server-restart-watchdog.patch
+driver-for-ibm-automatic-server-restart-watchdog-fix.patch

New watchdog driver

+introduce-and-use-kzalloc-make-kcalloc-a-static-inline.patch

Make introduce-and-use-kzalloc.patch better

+ipmi-fix-panic-ipmb-response.patch

IPMI fix

+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-mmc-sd-scr-style-fixpatch.patch
+mmc-wbsd-secure-digital-support.patch
+mmc-multi-sector-writes.patch

Updates to Secure Digital drivers

+corgi-touchscreen-fix-a-pmu-bug.patch
-w100fb-update-corgi-platform-code-to-match-new-driver.patch
+w100fb-rewrite-for-platform-independence-fix.patch
+w100fb-update-corgi-platform-code-to-match-new.patch

Various Corgi updates

-pivot_root-circular-reference-fix-2.patch
+pivot_root-circular-reference-fix-3.patch

New version

+dlm-build-fix.patch
+configfs-export-config_group_find_obj.patch
+dlm-use-configfs.patch
+dlm-use-configfs-fix.patch
+dlm-remove-file.patch
+dlm-use-jhash.patch
+dlm-maintainer.patch

DLM updates

+indycam--vino-drivers.patch
+dvb-clarify-description-text-for-dvb-bt8xx-in-kconfig.patch
+dvb-lgdt330x-check-callback-fix.patch

DVB updates

+pcmcia-cs-fix-possible-missed-wakeup.patch
+fix-pcmcia_request_irq-for-multifunction-card.patch
+pcmcia-yenta-avoid-pci-write-posting-problem.patch

PCMCIA updates

+spinlock-consolidation-ia64-fix.patch

Fix spinlock-consolidation.patch

-slab-leak-detector-give-longer-traces.patch

Was buggy

-scheduler-cache-hot-autodetect.patch

Mabe Martin's machine crash

+sched-correct_smp_nice_bias-fix.patch

Fix sched-correct_smp_nice_bias.patch

+sched-dont-kick-alb-in-the-presence-of-pinned-task-fix.patch
+sched-allow-the-load-to-grow-upto-its-cpu_power.patch

CPU scheduler updates

+files-fix-rcu-initializers.patch
+files-rcuref-apis.patch
+files-break-up-files-struct.patch
+files-sparc64-fix-2.patch
+files-files-struct-with-rcu.patch
+files-lock-free-fd-look-up.patch
+files-files-locking-doc.patch

Bring these back - the reported failure was weird and may not have been real.

+fs-asfs-make-code-static.patch

Clean up asfs-filesystem-driver.patch

+8250-serial-console-locking-bug-spelling-fix.patch

Fix speling mistake

+fbdev-prevent-drivers-that-have-hardware-cursors-from-calling-software-cursor-code.patch
+fbdev-geode-updates.patch

fbdev updates

+md-dont-allow-new-md-bitmap-file-to-be-set-if-one-already-exists.patch
+md-improve-handling-of-bitmap-initialisation.patch
+md-all-hot-add-and-hot-remove-of-md-intent-logging-bitmaps.patch
+md-support-write-mostly-device-in-raid1.patch
+md-add-write-behind-support-for-md-raid1.patch

RAID updates

+isa-dma-api-documentation.patch

Document the ISA DMA API

+janitor-ide-min-max-macros-in-ide-timingh.patch
+janitor-net-ppp-generic-list_for_each_entry.patch
+janitor-jffs-intrep-list_for_each_entry.patch
+janitor-fs-namespacec-list_for_each_entry.patch
+janitor-fs-dcachec-list_for_each.patch
+janitor-ide-tape-replace-schedule_timeout-with-msleep.patch
+janitor-block-umem-replace-printk-with-pr_debug.patch
+janitor-tulip-de4x5-list_for_each.patch
+janitor-sh-bigsur-io-minmax-removal.patch
+janitor-sh-hd64465-minmax-removal.patch
+janitor-block-xd-replace-schedule_timeout-with-msleep-msleep_interruptible.patch
+janitor-ide-ide-cs-replace-schedule_timeout-with-msleep.patch
+janitor-reiserfs-superc-vfree-checking-cleanups.patch

Janitorial stuff

+drivers-net-sk98lin-possible-cleanups.patch

cleanup

+schedule_timeout_uninterruptible.patch

Add schedule_timeout_interruptible() and schedule_timeout_uninterruptible()

+include-update-jiffies-musecs-conversion-functions.patch
+timeh-remove-ifdefs.patch
+fs-fix-up-schedule_timeout-usage.patch
+kernel-fix-up-schedule_timeout-usage.patch
+mm-fix-up-schedule_timeout-usage.patch
+net-fix-up-schedule_timeout-usage.patch
+net-fix-up-schedule_timeout-usage-fix.patch
+net-fix-up-schedule_timeout-usage-fix-2.patch
+sound-fix-up-schedule_timeout-usage.patch
+alpha-fix-up-schedule_timeout-usage.patch
+i386-fix-up-schedule_timeout-usage.patch
+ia64-fix-up-schedule_timeout-usage.patch
+m68k-fix-up-schedule_timeout-usage.patch
+mips-fix-up-schedule_timeout-usage.patch
+ppc-fix-up-schedule_timeout-usage.patch
+um-fix-up-schedule_timeout-usage.patch
+drivers-acpi-fix-up-schedule_timeout-usage.patch
+drivers-block-fix-up-schedule_timeout-usage.patch
+drivers-cdrom-fix-up-schedule_timeout-usage.patch
+drivers-char-fix-up-schedule_timeout-usage.patch
+drivers-dlm-fix-up-schedule_timeout-usage.patch
+drivers-net-fix-up-schedule_timeout-usage.patch
+ieee1394-fix-up-schedule_timeout-usage.patch
+isdn-fix-up-schedule_timeout-usage.patch
+drivers-macintosh-fix-up-schedule_timeout-usage.patch
+drivers-md-fix-up-schedule_timeout-usage.patch
+drivers-media-fix-up-schedule_timeout-usage.patch
+message-fix-up-schedule_timeout-usage.patch
+parport-fix-up-schedule_timeout-usage.patch
+parport-fix-up-schedule_timeout-usage-fix.patch
+drivers-sbus-fix-up-schedule_timeout-usage.patch
+drivers-scsi-fix-up-schedule_timeout-usage.patch
+serial-fix-up-schedule_timeout-usage.patch
+telephony-fix-up-schedule_timeout-usage.patch
+drivers-usb-fix-up-schedule_timeout-usage.patch
+drivers-usb-fix-up-schedule_timeout-usage-fix.patch

Use them.


All 940 patches:

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


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Brice Goglin

unread,
Aug 19, 2005, 9:13:14 AM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
Hi Andrew,

Got this warning:
drivers/char/drm/drm_agpsupport.c:429:5: warning: "LINUX_VERSION_CODE"
is not defined

This test is for old 2.4 code. The attached patch simply removes it.

Signed-off-by: Brice Goglin <Brice....@ens-lyon.org>

Regards,
Brice

--- linux-mm/drivers/char/drm/drm_agpsupport.c.old 2005-08-19
15:07:01.000000000 +0200
+++ linux-mm/drivers/char/drm/drm_agpsupport.c 2005-08-19
15:07:14.000000000 +0200
@@ -426,13 +426,8 @@ drm_agp_head_t *drm_agp_init(drm_device_
return NULL;
}
head->memory = NULL;
-#if LINUX_VERSION_CODE <= 0x020408
- head->cant_use_aperture = 0;
- head->page_mask = ~(0xfff);
-#else
head->cant_use_aperture = head->agp_info.cant_use_aperture;
head->page_mask = head->agp_info.page_mask;
-#endif

return head;

Brice Goglin

unread,
Aug 19, 2005, 9:19:10 AM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
drivers/char/sysrq.c: In function 'sysrq_handle_showregs':
drivers/char/sysrq.c:186: warning: statement with no effect

This is caused by a smp call while CONFIG_SMP is not set.
The attached patch fixes this.

Signed-off-by: Brice Goglin <Brice....@ens-lyon.org>

Brice


--- linux-mm/drivers/char/sysrq.c.old 2005-08-19 15:14:53.000000000 +0200
+++ linux-mm/drivers/char/sysrq.c 2005-08-19 15:15:12.000000000 +0200
@@ -182,7 +182,7 @@ static void sysrq_handle_showregs(int ke
if (pt_regs)
show_regs(pt_regs);
bust_spinlocks(0);
-#if defined(__i386__) && defined(CONFIG_SMP)
+#ifdef __i386__
smp_nmi_call_function(smp_show_regs, NULL, 0);
#endif

Reuben Farrelly

unread,
Aug 19, 2005, 9:21:37 AM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
Hi,

On 19/08/2005 11:33 p.m., Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc6/2.6.13-rc6-mm1/
>
> - Lots of fixes, updates and cleanups all over the place.
>
> - If you have the right debugging options set, this kernel will generate
> a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.
> It is being worked on.

A few new problems cropped up with this kernel..

1. NFS seems to be unstable, oopsing when shutting down:

Aug 20 12:26:09 tornado shutdown: shutting down for system reboot
Aug 20 12:26:10 tornado init: Switching to runlevel: 6
Aug 20 12:26:10 tornado kernel: Device not ready.
Aug 20 12:26:10 tornado last message repeated 4 times
Aug 20 12:26:11 tornado smokeping[2524]: Got TERM signal, terminating.
Aug 20 12:26:16 tornado rpc.mountd: Caught signal 15, un-registering and exiting.
Aug 20 12:26:20 tornado kernel: ------------[ cut here ]------------
Aug 20 12:26:20 tornado kernel: kernel BUG at lib/kernel_lock.c:83!
Aug 20 12:26:20 tornado kernel: invalid operand: 0000 [#1]
Aug 20 12:26:20 tornado kernel: SMP
Aug 20 12:26:20 tornado kernel: last sysfs file:
/devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2.2/5-2.2.1/5-2.2.1.1/5-2.2.1.1:1.1/mod
alias
Aug 20 12:26:20 tornado kernel: Modules linked in: nfsd exportfs lockd eeprom
sunrpc ipv6 iptable_filter binfmt_misc reiser4 zlib_de
flate zlib_inflate dm_mod video thermal processor fan button ac i8xx_tco
i2c_i801 sky2 sr_mod
Aug 20 12:26:20 tornado kernel: CPU: 1
Aug 20 12:26:20 tornado kernel: EIP: 0060:[<c0310845>] Not tainted VLI
Aug 20 12:26:20 tornado kernel: EFLAGS: 00010286 (2.6.13-rc6-mm1)
Aug 20 12:26:20 tornado kernel: EIP is at unlock_kernel+0x28/0x32
Aug 20 12:26:20 tornado kernel: eax: ffffffff ebx: 00000009 ecx: f6a23f90
edx: f6adaa50
Aug 20 12:26:20 tornado kernel: esi: f6a23f54 edi: c191d2fc ebp: f6b3ffa8
esp: f6b3ffa8
Aug 20 12:26:20 tornado kernel: ds: 007b es: 007b ss: 0068
Aug 20 12:26:20 tornado kernel: Process nfsd (pid: 2034, threadinfo=f6b3e000
task=f6adaa50)
Aug 20 12:26:20 tornado kernel: Stack: f6b3ffe4 f8e0e4c2 f8e2d648 f6b3e000
f6f9103c 00100100 00200200 f6adaa50
Aug 20 12:26:20 tornado kernel: fffffeff ffffffff fffffef8 ffffffff
f8e0e231 00000000 00000000 00000000
Aug 20 12:26:20 tornado kernel: c01010b5 f6f9103c 00000000 00000000
5a5a5a5a a55a5a5a
Aug 20 12:26:20 tornado kernel: Call Trace:
Aug 20 12:26:20 tornado kernel: [<c01039c3>] show_stack+0x94/0xca
Aug 20 12:26:20 tornado kernel: [<c0103b6c>] show_registers+0x15a/0x1ea
Aug 20 12:26:20 tornado kernel: [<c0103d8a>] die+0x108/0x183
Aug 20 12:26:20 tornado kernel: [<c0310986>] do_trap+0x76/0xa1
Aug 20 12:26:20 tornado kernel: [<c0104090>] do_invalid_op+0x97/0xa1
Aug 20 12:26:20 tornado kernel: [<c0103693>] error_code+0x4f/0x54
Aug 20 12:26:20 tornado kernel: [<f8e0e4c2>] nfsd+0x291/0x341 [nfsd]
Aug 20 12:26:20 tornado kernel: [<c01010b5>] kernel_thread_helper+0x5/0xb
Aug 20 12:26:20 tornado kernel: Code: 5e 5d c3 55 89 e5 b8 00 e0 ff ff 21 e0
8b 10 8b 42 14 85 c0 78 15 83 e8 01 89 42 14 85 c0 79 0
9 f0 ff 05 40 e7 36 c0 7e 39 5d c3 <0f> 0b 53 00 37 e1 32 c0 eb e1 8d 05 40 e7
36 c0 e8 fe dd ff ff
Aug 20 12:26:20 tornado kernel: ------------[ cut here ]------------


2. That message on the third line of the trace above: "kernel: Device not
ready." is being logged every few mins or so, I believe it is my SCSI CDROM
that is causing it. It also logs something similar after the SCSI driver has
probed the device on boot:

Aug 20 12:24:36 tornado kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA
DRIVER, Rev 7.0
Aug 20 12:24:36 tornado kernel: <Adaptec 2940 Ultra SCSI adapter>
Aug 20 12:24:36 tornado kernel: aic7880: Ultra Wide Channel A, SCSI
Id=7, 16/253 SCBs
Aug 20 12:24:36 tornado kernel:
Aug 20 12:24:36 tornado kernel: Vendor: SONY Model: CD-RW CRX145S
Rev: 1.0b
Aug 20 12:24:36 tornado kernel: Type: CD-ROM
ANSI SCSI revision: 04
Aug 20 12:24:36 tornado kernel: target0:0:6: Beginning Domain Validation
Aug 20 12:24:36 tornado kernel: target0:0:6: Domain Validation skipping write
tests
Aug 20 12:24:36 tornado kernel: target0:0:6: FAST-10 SCSI 10.0 MB/s ST (100
ns, offset 15)
Aug 20 12:24:36 tornado kernel: target0:0:6: Ending Domain Validation
Aug 20 12:24:36 tornado kernel: Device not ready.

This has been a problem for quite a few weeks now, albeit I believe, only a
cosmetic one.

3. As I have a Marvell Yukon 2 chipset, I was _delighted_ to see a new driver
from Stephen Hemmingway appear in the netdev tree for it. However it seems to
be a bit broken, I get link up and a bit of traffic before it just stops
passing traffic of any sort and requires an rmmod/modprobe to get going again.
I've emailed him directly about this.

4. PAM is complaining about "PAM audit_open() failed: Protocol not suppor
ted" and I can't log in as any user including root. I would have picked this
was a userspace problem, but it doesn't break with -rc5-mm1, yet reproduceably
breaks with -rc6-mm1. Weird.

reuben

Brice Goglin

unread,
Aug 19, 2005, 9:23:23 AM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
Le 19.08.2005 15:18, Brice Goglin a écrit :
> drivers/char/sysrq.c: In function 'sysrq_handle_showregs':
> drivers/char/sysrq.c:186: warning: statement with no effect
>
> This is caused by a smp call while CONFIG_SMP is not set.
> The attached patch fixes this.

Oops, reverted by mistake. Good one attached.

Signed-off-by: Brice Goglin <Brice....@ens-lyon.org>


--- linux-mm/drivers/char/sysrq.c 2005-08-19 15:15:12.000000000 +0200
+++ linux-mm/drivers/char/sysrq.c.old 2005-08-19 15:14:53.000000000 +02
00
@@ -182,7 +182,7 @@
if (pt_regs)
show_regs(pt_regs);
bust_spinlocks(0);
+#if defined(__i386__) && defined(CONFIG_SMP)
-#ifdef __i386__

Brice Goglin

unread,
Aug 19, 2005, 9:27:04 AM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
arch/i386/kernel/traps.c: In function 'die_nmi':
arch/i386/kernel/traps.c:633: warning: statement with no effect

Another smp_nmi_call.

Signed-off-by: Brice Goglin <Brice....@ens-lyon.org>

Brice


--- linux-mm/arch/i386/kernel/traps.c.old 2005-08-19 15:19:14.000000000
+0200
+++ linux-mm/arch/i386/kernel/traps.c 2005-08-19 15:19:47.000000000 +0200
@@ -630,7 +630,9 @@ void die_nmi (struct pt_regs *regs, cons
printk(" on CPU%d, eip %08lx, registers:\n",
smp_processor_id(), regs->eip);
show_registers(regs);
+#ifdef CONFIG_SMP
smp_nmi_call_function(smp_show_regs, NULL, 1);
+#endif
bust_spinlocks(1);
printk("console shuts up ...\n");
console_silent();

Russell King

unread,
Aug 19, 2005, 9:28:15 AM8/19/05
to Brice Goglin, Andrew Morton, linux-...@vger.kernel.org
On Fri, Aug 19, 2005 at 03:25:19PM +0200, Brice Goglin wrote:
> arch/i386/kernel/traps.c: In function 'die_nmi':
> arch/i386/kernel/traps.c:633: warning: statement with no effect
>
> Another smp_nmi_call.
>
> Signed-off-by: Brice Goglin <Brice....@ens-lyon.org>

Since you're going to be adding #ifdef CONFIG_SMP...#endif around each
of these, why not fix where it's declared/defined to be empty?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core

Brice Goglin

unread,
Aug 19, 2005, 9:45:26 AM8/19/05
to Russell King, Andrew Morton, linux-...@vger.kernel.org
Le 19.08.2005 15:27, Russell King a écrit :
> Since you're going to be adding #ifdef CONFIG_SMP...#endif around eac
h
> of these, why not fix where it's declared/defined to be empty?

Probably because I'm too lazy to find a nice way to fix it :)

smp_nmi_call_function may return an error but I don't see any place
where the return value is actually checked. If the error case is
actually possible, we should check the return value, and the warning
would disappear.

Sorry but I'm not familiar enough with this code to know what's the
good solution :(

Regards,
Brice

Russell King

unread,
Aug 19, 2005, 9:50:52 AM8/19/05
to Brice Goglin, Andrew Morton, linux-...@vger.kernel.org
On Fri, Aug 19, 2005 at 03:41:29PM +0200, Brice Goglin wrote:
> Le 19.08.2005 15:27, Russell King a écrit :
> > Since you're going to be adding #ifdef CONFIG_SMP...#endif around e
ach
> > of these, why not fix where it's declared/defined to be empty?
>
> Probably because I'm too lazy to find a nice way to fix it :)
>
> smp_nmi_call_function may return an error but I don't see any place
> where the return value is actually checked. If the error case is
> actually possible, we should check the return value, and the warning
> would disappear.
>
> Sorry but I'm not familiar enough with this code to know what's the
> good solution :(

Well, I don't have access to the code you're looking at so I'll make
the following suggestion completely blind. You want the header file
which defines smp_nmi_call_function() to contain something like:

#ifdef CONFIG_SMP
extern int smp_nmi_call_function(void (*fn)(void *), void *priv, int wh
atever);
#else
static inline int smp_nmi_call_function(void (*fn)(void *), void *priv,
int whatever)
{
return 0;
}
#endif

Obviously I've probably got the arguments to smp_nmi_call_function()
wrong, so they'll need fixing. I'm sure the above will point you in
the right direction though.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core

Brice Goglin

unread,
Aug 19, 2005, 10:06:42 AM8/19/05
to Russell King, Andrew Morton, linux-...@vger.kernel.org
Le 19.08.2005 15:45, Russell King a écrit :
> #ifdef CONFIG_SMP
> extern int smp_nmi_call_function(void (*fn)(void *), void *priv, int
whatever);
> #else
> static inline int smp_nmi_call_function(void (*fn)(void *), void
*priv, int whatever)
> {
> return 0;
> }
> #endif
>
> Obviously I've probably got the arguments to smp_nmi_call_function()
> wrong, so they'll need fixing. I'm sure the above will point you in
> the right direction though.

Thanks, that worked.
Patch attached.
We might have to do the same for smp_call_function one day.

Brice


--- linux-mm/include/linux/smp.h.old 2005-08-19 15:55:03.000000000 +020
0
+++ linux-mm/include/linux/smp.h 2005-08-19 15:54:01.000000000 +0200
@@ -100,12 +100,16 @@ void smp_prepare_boot_cpu(void);
#define raw_smp_processor_id() 0
#define hard_smp_processor_id() 0
#define smp_call_function(func,info,retry,wait) ({ 0; })
-#define smp_nmi_call_function(func, info, wait) ({ 0; })
#define on_each_cpu(func,info,retry,wait) ({ func(info); 0; })
static inline void smp_send_reschedule(int cpu) { }
#define num_booting_cpus() 1
#define smp_prepare_boot_cpu() do {} while (0)

+static inline int smp_nmi_call_function (smp_nmi_function func,
+ void *info, int wait) {
+ return 0;
+}
+
#endif /* !SMP */

/*

Adrian Bunk

unread,
Aug 19, 2005, 11:02:33 AM8/19/05
to Andrew Morton, Raghavendra Koushik, jga...@pobox.com, linux-...@vger.kernel.org, net...@vger.kernel.org
On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc5-mm1:
>...

> -git-netdev-chelsio.patch
> -git-netdev-e100.patch
> -git-netdev-sis190.patch
> -git-netdev-smc91x-eeprom.patch
> -git-netdev-ieee80211-wifi.patch
> -git-netdev-upstream.patch
> +git-netdev-all.patch
>
> And a consolidated netdev tree
>...

This patch causes the following compile error with gcc 4.0:

<-- snip -->

..
CC drivers/net/s2io.o
In file included from drivers/net/s2io.c:65:
drivers/net/s2io.h: In function 'readq':
drivers/net/s2io.h:765: error: invalid lvalue in assignment
drivers/net/s2io.h:766: error: invalid lvalue in assignment
drivers/net/s2io.c: In function 'init_shared_mem':
drivers/net/s2io.c:541: warning: cast from pointer to integer of different size
drivers/net/s2io.c:544: warning: cast to pointer from integer of different size
drivers/net/s2io.c:550: warning: cast from pointer to integer of different size
drivers/net/s2io.c:553: warning: cast to pointer from integer of different size
make[2]: *** [drivers/net/s2io.o] Error 1

<-- snip -->

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

Yoichi Yuasa

unread,
Aug 19, 2005, 11:21:21 AM8/19/05
to Andrew Morton, yu...@hh.iij4u.or.jp, linux-...@vger.kernel.org
Hi,

This patch has added pcibios_select_root to MIPS.
Please apply.

Yoichi

Signed-off-by: Yoichi Yuasa <yu...@hh.iij4u.or.jp>

diff -urN -X dontdiff mm1-orig/include/asm-mips/pci.h mm1/include/asm-mips/pci.h
--- mm1-orig/include/asm-mips/pci.h 2005-08-20 00:04:18.000000000 +0900
+++ mm1/include/asm-mips/pci.h 2005-08-19 23:53:04.000000000 +0900
@@ -167,4 +167,17 @@
/* Do platform specific device initialization at pci_enable_device() time */
extern int pcibios_plat_dev_init(struct pci_dev *dev);

+static inline struct resource *
+pcibios_select_root(struct pci_dev *pdev, struct resource *res)
+{
+ struct resource *root = NULL;
+
+ if (res->flags & IORESOURCE_IO)
+ root = &ioport_resource;
+ if (res->flags & IORESOURCE_MEM)
+ root = &iomem_resource;
+
+ return root;
+}
+
#endif /* _ASM_PCI_H */

Ed Tomlinson

unread,
Aug 19, 2005, 11:44:49 AM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
On Friday 19 August 2005 07:33, Andrew Morton wrote:
> - Lots of fixes, updates and cleanups all over the place.
>
> - If you have the right debugging options set, this kernel will gener
ate
>   a storm of sleeping-in-atomic-code warnings at boot, from the scs
i code.
>   It is being worked on.
>
>
> Changes since 2.6.13-rc5-mm1:
>

Hi,

It does not compile here:

CC drivers/acpi/sleep/main.o
In file included from drivers/acpi/sleep/main.c:15:
include/linux/dmi.h:55: error: field 'list' has incomplete type
make[3]: *** [drivers/acpi/sleep/main.o] Error 1
make[2]: *** [drivers/acpi/sleep] Error 2
make[1]: *** [drivers/acpi] Error 2
make: *** [drivers] Error 2
ed@grover:/usr/src/13-6-1$

Probably a missing include? Note that this is a non smp x86_64 build.

Thanks
Ed Tomlinson

Benoit Boissinot

unread,
Aug 19, 2005, 12:05:39 PM8/19/05
to Ed Tomlinson, Andrew Morton, linux-...@vger.kernel.org
On 8/19/05, Ed Tomlinson <tom...@cam.org> wrote:
> On Friday 19 August 2005 07:33, Andrew Morton wrote:
> > - Lots of fixes, updates and cleanups all over the place.
> >
> > - If you have the right debugging options set, this kernel will generate
> > a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.

> > It is being worked on.
> >
> >
> > Changes since 2.6.13-rc5-mm1:
> >
>
> Hi,
>
> It does not compile here:
>
> CC drivers/acpi/sleep/main.o
> In file included from drivers/acpi/sleep/main.c:15:
> include/linux/dmi.h:55: error: field 'list' has incomplete type
> make[3]: *** [drivers/acpi/sleep/main.o] Error 1
> make[2]: *** [drivers/acpi/sleep] Error 2
> make[1]: *** [drivers/acpi] Error 2
> make: *** [drivers] Error 2
> ed@grover:/usr/src/13-6-1$
>
> Probably a missing include? Note that this is a non smp x86_64 build.
>
including <linux/list.h> in dmi.h should work

regards,

Benoit

Dave Kleikamp

unread,
Aug 19, 2005, 12:12:46 PM8/19/05
to Andrew Morton, Mark Fasheh, linux-...@vger.kernel.org
It seems that git-ocfs2.patch duplicates the
update-filesystems-for-new-delete_inode-behavior.patch. I noticed it
adds duplicate statements like:

diff -puN fs/ext2/inode.c~git-ocfs2 fs/ext2/inode.c
diff -puN fs/ext3/inode.c~git-ocfs2 fs/ext3/inode.c
--- devel/fs/ext3/inode.c~git-ocfs2 2005-08-18 22:00:35.000000000 -0700
+++ devel-akpm/fs/ext3/inode.c 2005-08-18 22:00:37.000000000 -0700
@@ -189,6 +189,8 @@ void ext3_delete_inode (struct inode * i

truncate_inode_pages(&inode->i_data, 0);

+ truncate_inode_pages(&inode->i_data, 0);
+
if (is_bad_inode(inode))
goto no_delete;

Thanks,
Shaggy
--
David Kleikamp
IBM Linux Technology Center

Adrian Bunk

unread,
Aug 19, 2005, 12:41:02 PM8/19/05
to Andrew Morton, James.B...@steeleye.com, linux-...@vger.kernel.org, linux...@vger.kernel.org
<-- snip -->

..
LD drivers/scsi/aic7xxx/built-in.o
drivers/scsi/aic7xxx/aic79xx.o: In function `aic_parse_brace_option':
: multiple definition of `aic_parse_brace_option'
drivers/scsi/aic7xxx/aic7xxx.o:: first defined here
make[3]: *** [drivers/scsi/aic7xxx/built-in.o] Error 1

<-- snip -->


#includ'ing .c files is considered harmful...


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-

Christoph Hellwig

unread,
Aug 19, 2005, 12:43:25 PM8/19/05
to Adrian Bunk, Andrew Morton, James.B...@steeleye.com, linux-...@vger.kernel.org, linux...@vger.kernel.org
On Fri, Aug 19, 2005 at 06:40:36PM +0200, Adrian Bunk wrote:
> <-- snip -->
>
> ...

> LD drivers/scsi/aic7xxx/built-in.o
> drivers/scsi/aic7xxx/aic79xx.o: In function `aic_parse_brace_option':
> : multiple definition of `aic_parse_brace_option'
> drivers/scsi/aic7xxx/aic7xxx.o:: first defined here
> make[3]: *** [drivers/scsi/aic7xxx/built-in.o] Error 1
>
> <-- snip -->
>
>
> #includ'ing .c files is considered harmful...

That code previously had a hack to rename those that I removed
accidentally. I think we should just kill aiclib.c and keep two
copies of the two functions it still has - they'll go away soon anyway.
I'll cook up a patch and sent it to James ASAP.

Avuton Olrich

unread,
Aug 19, 2005, 12:43:28 PM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
On 8/19/05, Andrew Morton <ak...@osdl.org> wrote:
> - Lots of fixes, updates and cleanups all over the place.

Problem: Badness during boot, seems to pertain to USB serial driver/gameport

Kernel Version: Linux version 2.6.13-rc6-mm1 (root@rocket) (gcc
version 3.4.4 (Gentoo 3.4.4, ssp-3.4.4-1.0, pie-8.7.8)) #1 PREEMPT Fri
Aug 19 09:14:10 PDT 2005

Could not duplicate this in 2.6.13-rc5-mm1

/proc/cpuinfo:
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 10
model name : AMD Athlon(tm) XP 2800+
stepping : 0
cpu MHz : 2088.048
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 4179.11

Dumps:
[4294679.199000] drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
[4294679.199000] Badness in kref_get at lib/kref.c:32
[4294679.199000] [<c023facc>] kref_get+0x3c/0x40
[4294679.199000] [<c023f0ff>] kobject_get+0xf/0x20
[4294679.199000] [<c02b07be>] get_bus+0xe/0x20
[4294679.199000] [<c02b065f>] bus_add_driver+0x1f/0xd0
[4294679.199000] [<c02b1015>] driver_register+0x25/0x30
[4294679.199000] [<c0348805>] gameport_handle_events+0x85/0x90
[4294679.199000] [<c0348929>] gameport_thread+0x19/0x100
[4294679.199000] [<c04045c9>] schedule+0x309/0x670
[4294679.199000] [<c0348910>] gameport_thread+0x0/0x100
[4294679.199000] [<c012fa75>] kthread+0x95/0xd0
[4294679.199000] [<c012f9e0>] kthread+0x0/0xd0
[4294679.199000] [<c0101375>] kernel_thread_helper+0x5/0x10
[4294679.199000] Badness in kref_get at lib/kref.c:32
[4294679.199000] [<c023facc>] kref_get+0x3c/0x40
[4294679.199000] [<c023f0ff>] kobject_get+0xf/0x20
[4294679.199000] [<c023ee15>] kobject_init+0x25/0x40
[4294679.200000] [<c023ef6b>] kobject_register+0x1b/0x70
[4294679.200000] [<c02b06ae>] bus_add_driver+0x6e/0xd0
[4294679.200000] [<c02b1015>] driver_register+0x25/0x30
[4294679.200000] [<c0348805>] gameport_handle_events+0x85/0x90
[4294679.200000] [<c0348929>] gameport_thread+0x19/0x100
[4294679.200000] [<c04045c9>] schedule+0x309/0x670
[4294679.200000] [<c0348910>] gameport_thread+0x0/0x100
[4294679.200000] [<c012fa75>] kthread+0x95/0xd0
[4294679.200000] [<c012f9e0>] kthread+0x0/0xd0
[4294679.200000] [<c0101375>] kernel_thread_helper+0x5/0x10
[4294679.200000] Unable to handle kernel NULL pointer dereference at
virtual address 00000000
[4294679.200000] printing eip:
[4294679.200000] c023eee5
[4294679.200000] *pde = 00000000
[4294679.200000] Oops: 0002 [#1]
[4294679.200000] PREEMPT
[4294679.200000] last sysfs file:
[4294679.200000] Modules linked in:
[4294679.200000] CPU: 0
[4294679.200000] EIP: 0060:[<c023eee5>] Not tainted VLI
[4294679.200000] EFLAGS: 00010292 (2.6.13-rc6-mm1)
[4294679.200000] EIP is at kobject_add+0x55/0xc0
[4294679.200000] eax: c0493920 ebx: c048b368 ecx: 00000000 edx: c048b384
[4294679.200000] esi: f7f82000 edi: c0493928 ebp: 00000000 esp: f7f83f0c
[4294679.200000] ds: 007b es: 007b ss: 0068
[4294679.200000] Process kgameportd (pid: 314, threadinfo=f7f82000
task=f7e885a0)
[4294679.200000] Stack: c048b368 ffffffea c04938c0 c023ef72 00000000
c048b354 c048b368 c048b354
[4294679.200000] c048b368 c02b06ae c048b368 c044026e c043b5eb
c048b354 f7f83f98 00000000
[4294679.200000] f7f82000 c02b1015 f7e885a0 00000296 f7f82000
f7f83f98 f7e9f3e0 c0348805
[4294679.200000] Call Trace:
[4294679.200000] [<c023ef72>] kobject_register+0x22/0x70
[4294679.200000] [<c02b06ae>] bus_add_driver+0x6e/0xd0
[4294679.200000] [<c02b1015>] driver_register+0x25/0x30
[4294679.200000] [<c0348805>] gameport_handle_events+0x85/0x90
[4294679.200000] [<c0348929>] gameport_thread+0x19/0x100
[4294679.200000] [<c04045c9>] schedule+0x309/0x670
[4294679.200000] [<c0348910>] gameport_thread+0x0/0x100
[4294679.200000] [<c012fa75>] kthread+0x95/0xd0
[4294679.200000] [<c012f9e0>] kthread+0x0/0xd0
[4294679.200000] [<c0101375>] kernel_thread_helper+0x5/0x10
[4294679.200000] Code: 00 00 8b 4b 28 89 c7 85 c9 74 2f be 00 e0 ff ff
21 e6 ff 46 14 85 c0 74 61 8b 43 28 8d 53 1c 83 c0 08 8b 48 04 89 43
1c 89 50 04 <89> 11 89 4a 04 8b 46 08 ff 4e 14 a8 08 75
4f 89 7b 24 89 d8 e8
[4294679.200000] <3>BUG: kgameportd[314] exited with nonzero preempt_count 1!

The Config:
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.13-rc6-mm1
# Fri Aug 19 08:58:22 2005
#
CONFIG_X86=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

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

#
# General setup
#
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=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 is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=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 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# 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=6
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_X86_USE_3DNOW=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_SMP is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
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 is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_HAVE_DEC_LOCK=y
CONFIG_REGPARM=y
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 is not set

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

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

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_HOTKEY=y
# CONFIG_ACPI_FAN is not set
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=y
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y

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

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# 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 is not set
CONFIG_X86_CPUFREQ_NFORCE2=y
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set

#
# shared options
#
# CONFIG_X86_SPEEDSTEP_LIB is not set

#
# 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 is not set
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 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=y
CONFIG_BINFMT_MISC=y

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
CONFIG_NET_KEY=y
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 is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
CONFIG_IPV6=y
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 is not set

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

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# 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 is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# 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

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

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# 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=y
# 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 is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# 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=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=y
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
# CONFIG_IDE_GENERIC is not set
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# 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=y
# 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 is not set
# 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=y
CONFIG_PDC202XX_FORCE=y
# 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_SCSI=y
# CONFIG_SCSI_PROC_FS is not set

#
# 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=y
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
# 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=m
# 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 is not set
# CONFIG_SCSI_SATA_NV is not set
# CONFIG_SCSI_PATA_PDC2027X 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=m
# 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_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=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_RAID6 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
# CONFIG_BLK_DEV_DM 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=y
# CONFIG_I2O_EXT_ADAPTEC is not set
# CONFIG_I2O_CONFIG is not set
# CONFIG_I2O_BUS is not set
CONFIG_I2O_BLOCK=m
# CONFIG_I2O_SCSI is not set
CONFIG_I2O_PROC=m

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

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# PHY device support
#
# CONFIG_PHYLIB is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
CONFIG_FORCEDETH=y
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE 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=y
# CONFIG_VIA_VELOCITY is not set
# 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_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=m
# CONFIG_KGDBOE is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y

#
# 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=y
# 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=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
CONFIG_JOYSTICK_GRIP=y
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_JOYDUMP 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_PCIPS2=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
CONFIG_GAMEPORT=y
CONFIG_GAMEPORT_NS558=y
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_FM801 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 is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=y
# CONFIG_NVRAM is not set
CONFIG_RTC=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_FTAPE is not set
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=y

#
# TPM devices
#
# CONFIG_TCG_TPM is not set

#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
# 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 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
# 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=m
# CONFIG_SENSORS_DS1374 is not set
CONFIG_SENSORS_EEPROM=m
# 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=y
CONFIG_HWMON_VID=m
CONFIG_SENSORS_ADM1021=m
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
# CONFIG_SENSORS_DS1621 is not set
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_LM63 is not set
CONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not set
CONFIG_SENSORS_LM78=m
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
CONFIG_SENSORS_LM85=m
# CONFIG_SENSORS_LM87 is not set
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
CONFIG_SENSORS_SIS5595=m
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83L785TS=m
# CONFIG_SENSORS_W83627HF is not set
CONFIG_SENSORS_W83627EHF=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# 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=y

#
# Advanced Linux Sound Architecture
#
# CONFIG_SND 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=y
# 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=y
# CONFIG_USB_OTG is not set

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

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

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be
needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set
CONFIG_USB_AIPTEK=m
CONFIG_USB_WACOM=m
# CONFIG_USB_ACECAD is not set
CONFIG_USB_KBTAB=m
CONFIG_USB_POWERMATE=m
CONFIG_USB_MTOUCH=m
# CONFIG_USB_ITMTOUCH is not set
CONFIG_USB_EGALAX=m
# CONFIG_USB_YEALINK is not set
CONFIG_USB_XPAD=m
CONFIG_USB_ATI_REMOTE=m
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m

#
# USB Multimedia devices
#
CONFIG_USB_DABUSB=m

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

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
# CONFIG_USB_NET_RNDIS is not set
# CONFIG_USB_NET_SIMPLE is not set
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_MON=y

#
# USB port drivers
#

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRPRIME=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP2101=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_EZUSB=y

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

#
# USB DSL modem support
#

#
# USB Gadget Support
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
CONFIG_USB_GADGET_NET2280=y
CONFIG_USB_NET2280=y
# CONFIG_USB_GADGET_PXA2XX is not set
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_ZERO=m
CONFIG_USB_ETH=m
# CONFIG_USB_ETH_RNDIS is not set
CONFIG_USB_GADGETFS=m
CONFIG_USB_FILE_STORAGE=m
CONFIG_USB_FILE_STORAGE_TEST=y
CONFIG_USB_G_SERIAL=m

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

#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set

#
# SN Devices
#

#
# Distributed Lock Manager
#
# CONFIG_DLM is not set

#
# File systems
#
CONFIG_EXT2_FS=m
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
CONFIG_REISER4_FS=y
# CONFIG_REISER4_DEBUG is not set
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y

#
# XFS support
#
# CONFIG_XFS_FS is not set
# 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_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
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 is not set

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

#
# 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=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 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=y
CONFIG_NLS_DEFAULT="utf8"
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 is not set
# 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 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# 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=y

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_PRINTK_TIME=y
# CONFIG_DEBUG_KERNEL is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_EARLY_PRINTK=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set

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

#
# Hardware crypto devices
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set

#
# Library routines
#
# CONFIG_CRC_CCITT is not set
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_PC=y

lspci -vvv:
0000:00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different
version?) (rev c1)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
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 c0000000 (32-bit, prefetchable) [size=256M]
Capabilities: [40] AGP version 3.0
Status: RQ=32 Iso- ArqSz=2 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit-
FW+ AGP3+ Rate=x4,x8
Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x8
Capabilities: [60] #08 [2001]

0000:00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
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:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
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:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev c1)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
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:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev c1)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
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:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev c1)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80ac
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:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a4)
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard
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
Capabilities: [48] #08 [01e1]

0000:00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 0c11
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 7
Region 0: I/O ports at e000 [size=32]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller
(rev a4) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard
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 20
Region 0: Memory at dd085000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller
(rev a4) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard
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 17
Region 0: Memory at dd082000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller
(rev a4) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard
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 19
Region 0: Memory at dd083000 (32-bit, non-prefetchable) [size=256]
Capabilities: [44] #0a [2080]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet
Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. A7N8X Mainboard onboard nForce2 Ethernet
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 (250ns min, 5000ns max)
Interrupt: pin A routed to IRQ 17
Region 0: Memory at dd084000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at e400 [size=8]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:05.0 Multimedia audio controller: nVidia Corporation nForce
Audio Processing Unit (rev a2)
Subsystem: ASUSTeK Computer Inc.: Unknown device 0c11
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 (250ns min, 3000ns max)
Interrupt: pin A routed to IRQ 9
Region 0: Memory at dd000000 (32-bit, non-prefetchable) [size=512K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce2
AC97 Audio Controler (MCP) (rev a1)
Subsystem: ASUSTeK Computer Inc.: Unknown device 8095
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 11
Region 0: I/O ports at d000 [size=256]
Region 1: I/O ports at d400 [size=128]
Region 2: Memory at dd080000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI
Bridge (rev a3) (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=01, subordinate=01, sec-latency=32
I/O behind bridge: 00008000-0000bfff
Memory behind bridge: db000000-dcffffff
Prefetchable memory behind bridge: 40000000-400fffff
BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-

0000:00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
(prog-if 8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc.: Unknown device 0c11
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 f000 [size=16]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
(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: 32
Bus: primary=00, secondary=03, subordinate=03, sec-latency=32
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: d9000000-daffffff
Prefetchable memory behind bridge: d0000000-d7ffffff
BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-

0000:01:04.0 Ethernet controller: Marvell Technology Group Ltd.
88E8001 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: 32 (5750ns min, 7750ns max), cache line size 08
Interrupt: pin A routed to IRQ 16
Region 0: Memory at dc000000 (32-bit, non-prefetchable) [size=16K]
Region 1: I/O ports at 8000 [size=256]
Expansion ROM at 40080000 [disabled] [size=128K]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data

0000:01:09.0 Multimedia audio controller: Creative Labs SB Live!
EMU10k1 (rev 04)
Subsystem: Creative Labs CT4850 SBLive! Value
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: 32 (500ns min, 5000ns max)
Interrupt: pin A routed to IRQ 16
Region 0: I/O ports at 8400 [size=32]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:09.1 Input device controller: Creative Labs SB Live! MIDI/Game
Port (rev 01)
Subsystem: Creative Labs Gameport Joystick
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: 32
Region 0: I/O ports at 8800 [size=8]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:0a.0 Unknown mass storage controller: Promise Technology, Inc.
20269 (rev 02) (prog-if 85)
Subsystem: Promise Technology, Inc. Ultra133TX2
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=slow >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1000ns min, 4500ns max), cache line size 08
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at 8c00 [size=8]
Region 1: I/O ports at 9000 [size=4]
Region 2: I/O ports at 9400 [size=8]
Region 3: I/O ports at 9800 [size=4]
Region 4: I/O ports at 9c00 [size=16]
Region 5: Memory at dc004000 (32-bit, non-prefetchable) [size=16K]
Expansion ROM at 400a0000 [disabled] [size=16K]
Capabilities: [60] Power Management version 1
Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:0b.0 RAID bus controller: Silicon Image, Inc. SiI 3112
[SATALink/SATARaid] Serial ATA Controller (rev 02)
Subsystem: ASUSTeK Computer Inc.: Unknown device 809d
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: 32, cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at a000 [size=8]
Region 1: I/O ports at a400 [size=4]
Region 2: I/O ports at a800 [size=8]
Region 3: I/O ports at ac00 [size=4]
Region 4: I/O ports at b000 [size=16]
Region 5: Memory at dc008000 (32-bit, non-prefetchable) [size=512]
Expansion ROM at 40000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:03:00.0 VGA compatible controller: nVidia Corporation NV34
[GeForce FX 5200] (rev a1) (prog-if 00 [VGA])
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: 248 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 21
Region 0: Memory at d9000000 (32-bit, non-prefetchable) [size=16M]
Region 1: Memory at d0000000 (32-bit, prefetchable) [size=128M]
Expansion ROM at da000000 [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [44] AGP version 3.0
Status: RQ=32 Iso- ArqSz=0 Cal=3 SBA+ ITACoh- GART64- HTrans- 64bit-
FW+ AGP3+ Rate=x4,x8
Command: RQ=32 ArqSz=2 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x8

thanks,
avuton
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

Adrian Bunk

unread,
Aug 19, 2005, 1:29:10 PM8/19/05
to Andrew Morton, net...@vger.kernel.org, linux-...@vger.kernel.org
On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc5-mm1:
>...
> git-net.patch
>...
> Subsystem trees
>...

It seems there are too many different 'ipv4_table' variables:

<-- snip -->

..
CC net/ipv4/ipvs/ip_vs_ctl.o
net/ipv4/ipvs/ip_vs_ctl.c:1601: error: static declaration of 'ipv4_table' follows non-static declaration
include/net/ip.h:376: error: previous declaration of 'ipv4_table' was here
make[3]: *** [net/ipv4/ipvs/ip_vs_ctl.o] Error 1

<-- snip -->

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-

Andrew Morton

unread,
Aug 19, 2005, 1:36:40 PM8/19/05
to Reuben Farrelly, linux-...@vger.kernel.org
Reuben Farrelly <reube...@reub.net> wrote:
>
> Hi,
>
> On 19/08/2005 11:33 p.m., Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc6/2.6.13-rc6-mm1/
> >
> > - Lots of fixes, updates and cleanups all over the place.
> >
> > - If you have the right debugging options set, this kernel will generate
> > a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.
> > It is being worked on.
>
> A few new problems cropped up with this kernel..
>
> 1. NFS seems to be unstable, oopsing when shutting down:

--- devel/fs/nfsd/nfssvc.c~ingo-nfs-stuff-fix 2005-08-19 10:29:15.000000000 -0700
+++ devel-akpm/fs/nfsd/nfssvc.c 2005-08-19 10:30:03.000000000 -0700
@@ -286,7 +286,6 @@ out:
/* Release the thread */
svc_exit_thread(rqstp);

- unlock_kernel();
/* Release module */
unlock_kernel();
module_put_and_exit(0);
_

> ...


> Aug 20 12:26:10 tornado kernel: Device not ready.
>

> 2. That message on the third line of the trace above: "kernel: Device not
> ready." is being logged every few mins or so, I believe it is my SCSI CDROM
> that is causing it. It also logs something similar after the SCSI driver has
> probed the device on boot:
>
> Aug 20 12:24:36 tornado kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA
> DRIVER, Rev 7.0
> Aug 20 12:24:36 tornado kernel: <Adaptec 2940 Ultra SCSI adapter>
> Aug 20 12:24:36 tornado kernel: aic7880: Ultra Wide Channel A, SCSI
> Id=7, 16/253 SCBs
> Aug 20 12:24:36 tornado kernel:
> Aug 20 12:24:36 tornado kernel: Vendor: SONY Model: CD-RW CRX145S
> Rev: 1.0b
> Aug 20 12:24:36 tornado kernel: Type: CD-ROM
> ANSI SCSI revision: 04
> Aug 20 12:24:36 tornado kernel: target0:0:6: Beginning Domain Validation
> Aug 20 12:24:36 tornado kernel: target0:0:6: Domain Validation skipping write
> tests
> Aug 20 12:24:36 tornado kernel: target0:0:6: FAST-10 SCSI 10.0 MB/s ST (100
> ns, offset 15)
> Aug 20 12:24:36 tornado kernel: target0:0:6: Ending Domain Validation
> Aug 20 12:24:36 tornado kernel: Device not ready.
>
> This has been a problem for quite a few weeks now, albeit I believe, only a
> cosmetic one.

Is some application trying to poll the device?

Is the device actually "not ready", or is it in reality ready and working?
ie: what happens if you stick a CD in it?

> 3. As I have a Marvell Yukon 2 chipset, I was _delighted_ to see a new driver
> from Stephen Hemmingway appear in the netdev tree for it. However it seems to
> be a bit broken, I get link up and a bit of traffic before it just stops
> passing traffic of any sort and requires an rmmod/modprobe to get going again.
> I've emailed him directly about this.

OK.

> 4. PAM is complaining about "PAM audit_open() failed: Protocol not suppor
> ted" and I can't log in as any user including root. I would have picked this
> was a userspace problem, but it doesn't break with -rc5-mm1, yet reproduceably
> breaks with -rc6-mm1. Weird.

hm. How come you're able to use the machine then?

Is it possible to get an strace of this failure somehow?

Jesper Juhl

unread,
Aug 19, 2005, 2:03:51 PM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
On 8/19/05, Andrew Morton <ak...@osdl.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc6/2.6.13-rc6-mm1/
>

menuconfig complains a little :

$ make menuconfig
scripts/kconfig/mconf arch/i386/Kconfig
drivers/char/Kconfig:847:warning: 'select' used by config symbol
'TANBAC_TB0219' refer to undefined symbol 'PCI_VR41XX'

otherwise things seem to be ok here.


--
Jesper Juhl <jespe...@gmail.com>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

hal...@serge.ibm.com

unread,
Aug 19, 2005, 2:28:09 PM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
I get a compile error due to the removal of scsi_cmd->timeout.

I have no idea whether the following is correct (I doubt it is), but
it does fix a compile error, and the resulting kernel at least
survives repeated dbench'es.

thanks,
-serge

Signed-off-by: Serge Hallyn <se...@us.ibm.com
--
ibmvscsi.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.13-rc6-mm1/drivers/scsi/ibmvscsi/ibmvscsi.c
===================================================================
--- linux-2.6.13-rc6-mm1.orig/drivers/scsi/ibmvscsi/ibmvscsi.c 2005-08-19 17:39:38.000000000 -0500
+++ linux-2.6.13-rc6-mm1/drivers/scsi/ibmvscsi/ibmvscsi.c 2005-08-19 18:11:02.000000000 -0500
@@ -594,7 +594,7 @@ static int ibmvscsi_queuecommand(struct
init_event_struct(evt_struct,
handle_cmd_rsp,
VIOSRP_SRP_FORMAT,
- cmnd->timeout);
+ jiffies - cmnd->jiffies_at_alloc);

evt_struct->cmnd = cmnd;
evt_struct->cmnd_done = done;

Andrew Morton

unread,
Aug 19, 2005, 3:23:13 PM8/19/05
to Dave Kleikamp, mark....@oracle.com, linux-...@vger.kernel.org
Dave Kleikamp <sha...@austin.ibm.com> wrote:
>
> It seems that git-ocfs2.patch duplicates the
> update-filesystems-for-new-delete_inode-behavior.patch. I noticed it
> adds duplicate statements like:
>
> diff -puN fs/ext2/inode.c~git-ocfs2 fs/ext2/inode.c
> diff -puN fs/ext3/inode.c~git-ocfs2 fs/ext3/inode.c
> --- devel/fs/ext3/inode.c~git-ocfs2 2005-08-18 22:00:35.000000000 -0700
> +++ devel-akpm/fs/ext3/inode.c 2005-08-18 22:00:37.000000000 -0700
> @@ -189,6 +189,8 @@ void ext3_delete_inode (struct inode * i
>
> truncate_inode_pages(&inode->i_data, 0);
>
> + truncate_inode_pages(&inode->i_data, 0);
> +
> if (is_bad_inode(inode))
> goto no_delete;

Oh crap, thanks. I'll fix that up differently somehow.

Marc Ballarin

unread,
Aug 19, 2005, 3:53:23 PM8/19/05
to Andrew Morton, linux-...@vger.kernel.org, afle...@freescale.com
Hi,
the changes to drivers/net/phy in git-netdev-all.patch have some issues:

1) phy.c (libphy.ko) lacks MODULE_LICENCE(GPL), but uses GPL-only
exports

2) after fixing this (or when compiling statically) it causes the following
OOPS (new in rc6-mm1):

Badness in kref_get at lib/kref.c:32

[<c0103b17>] dump_stack+0x17/0x20
[<c01c4456>] kref_get+0x46/0x50
[<c01c3a92>] kobject_get+0x12/0x20
[<c02364e6>] get_bus+0x16/0x30
[<c0236389>] bus_add_driver+0x19/0xc0
[<c0236d1a>] driver_register+0x2a/0x40
[<f18d3159>] phy_driver_register+0x49/0x90 [libphy]
[<f080400e>] phy_init+0xe/0x40 [libphy]
[<c0134fa9>] sys_init_module+0x149/0x1f0
[<c0102c6b>] sysenter_past_esp+0x54/0x75
---------------------------
| preempt count: 00000000 ]
---------------------------

Badness in kref_get at lib/kref.c:32

[<c0103b17>] dump_stack+0x17/0x20
[<c01c4456>] kref_get+0x46/0x50
[<c01c3a92>] kobject_get+0x12/0x20
[<c01c3788>] kobject_init+0x28/0x40
[<c01c38ec>] kobject_register+0x1c/0x70
[<c02363c4>] bus_add_driver+0x54/0xc0
[<c0236d1a>] driver_register+0x2a/0x40
[<f18d3159>] phy_driver_register+0x49/0x90 [libphy]
[<f080400e>] phy_init+0xe/0x40 [libphy]
[<c0134fa9>] sys_init_module+0x149/0x1f0
[<c0102c6b>] sysenter_past_esp+0x54/0x75
---------------------------
| preempt count: 00000000 ]
---------------------------

Unable to handle kernel NULL pointer dereference at virtual address 00000000

printing eip:
c01c3894
*pde = 00000000
Oops: 0002 [#1]
PREEMPT
last sysfs file: /class/vc/vcs3/dev
Modules linked in: libphy snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd snd_page_alloc ntfs vfat fat reiser4 zlib_deflate zlib_inflate usb_storage loop acpi_cpufreq yealink usbhid joydev acpi_sbs i2c_acpi_ec bcm4400 ehci_hcd uhci_hcd usbcore intel_agp agpgart psmouse
CPU: 0
EIP: 0060:[<c01c3894>] Not tainted VLI
EFLAGS: 00010292 (2.6.13-rc6-mm1-laptop)
EIP is at kobject_add+0x94/0xd0
eax: f18d4140 ebx: f18d406c ecx: 00000000 edx: f18d4088
esi: ffffffea edi: f18d4148 ebp: ed089f14 esp: ed089f08


ds: 007b es: 007b ss: 0068

Process modprobe (pid: 8250, threadinfo=ed088000 task=efd7c690)
Stack: f18d406c ffffffea f18d40e0 ed089f30 c01c38f3 ed089f44 00000000 f18d4058
f18d4058 f18d406c ed089f54 c02363c4 f18d406c c0315706 f18d338f 00000000
f18d4058 0805b198 f18d40dc ed089f70 c0236d1a 00000000 00000011 0000000b
Call Trace:
[<c0103aea>] show_stack+0x7a/0x90
[<c0103c78>] show_registers+0x158/0x1c0
[<c0103e85>] die+0xf5/0x180
[<c02ee4c4>] do_page_fault+0x2a4/0x59d
[<c0103777>] error_code+0x4f/0x54
[<c01c38f3>] kobject_register+0x23/0x70
[<c02363c4>] bus_add_driver+0x54/0xc0
[<c0236d1a>] driver_register+0x2a/0x40
[<f18d3159>] phy_driver_register+0x49/0x90 [libphy]
[<f080400e>] phy_init+0xe/0x40 [libphy]
[<c0134fa9>] sys_init_module+0x149/0x1f0
[<c0102c6b>] sysenter_past_esp+0x54/0x75
---------------------------
| preempt count: 00000002 ]
| 2 level deep critical section nesting:
----------------------------------------
. [<c01c387e>] .... kobject_add+0x7e/0xd0
....[<c01c38f3>] .. ( <= kobject_register+0x23/0x70)
. [<c0103dc8>] .... die+0x38/0x180
....[<c02ee4c4>] .. ( <= do_page_fault+0x2a4/0x59d)

Code: 74 e2 89 f8 e8 ce 02 00 00 eb d9 b8 01 00 00 00 e8 12 4d 00 00 85 ff 74 36 8b 43 28 8d 53 1c 83 c0 08 89 43 1c 8b 48 04 89 50 04 <89> 11 89 4a 04 b8 01 00 00 00 e8 4d 4d 00 00 b8 00 e0 ff ff 21
<3>BUG: modprobe[8250] exited with nonzero preempt_count 1!
---------------------------
| preempt count: 00000001 ]
| 1 level deep critical section nesting:
----------------------------------------
. [<c01c387e>] .... kobject_add+0x7e/0xd0
....[<c01c38f3>] .. ( <= kobject_register+0x23/0x70)

Adrian Bunk

unread,
Aug 19, 2005, 4:34:47 PM8/19/05
to Andrew Morton, Christoph Hellwig, linux-...@vger.kernel.org
On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc5-mm1:
>...
> +remove-asm-hdregh.patch
>
> cleanup
>...

This patch could be improved in two respects:
- it doesn't remove the xtensa hdreg.h
- the "removed" files are only empty since the original files are
not diffed against /dev/null (or an epoch date)

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-

Andrew Morton

unread,
Aug 19, 2005, 4:42:33 PM8/19/05
to Adrian Bunk, h...@lst.de, linux-...@vger.kernel.org
Adrian Bunk <bu...@stusta.de> wrote:
>
> On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
> >...
> > Changes since 2.6.13-rc5-mm1:
> >...
> > +remove-asm-hdregh.patch
> >
> > cleanup
> >...
>
> This patch could be improved in two respects:
> - it doesn't remove the xtensa hdreg.h
> - the "removed" files are only empty since the original files are
> not diffed against /dev/null (or an epoch date)
>

Thanks, I fixed those up.

Ed Tomlinson

unread,
Aug 19, 2005, 4:59:37 PM8/19/05
to Benoit Boissinot, Andrew Morton, linux-...@vger.kernel.org
Hi,

Adding the include to dmi.h allows the compile to get past this point though I
wonder if this is the correct place to put it? (Thanks Benoit)

I now get:

CC [M] net/ipv4/ipvs/ip_vs_ctl.o


net/ipv4/ipvs/ip_vs_ctl.c:1601: error: static declaration of 'ipv4_table' follows non-static declaration
include/net/ip.h:376: error: previous declaration of 'ipv4_table' was here

make[3]: *** [net/ipv4/ipvs/ip_vs_ctl.o] Error 1
make[2]: *** [net/ipv4/ipvs] Error 2
make[1]: *** [net/ipv4] Error 2
make: *** [net] Error 2

Ideas?

TIA
Ed Tomlinson

Greg KH

unread,
Aug 19, 2005, 5:11:30 PM8/19/05
to Avuton Olrich, Andrew Morton, linux-...@vger.kernel.org
On Fri, Aug 19, 2005 at 09:42:51AM -0700, Avuton Olrich wrote:
> On 8/19/05, Andrew Morton <ak...@osdl.org> wrote:
> > - Lots of fixes, updates and cleanups all over the place.
>
> Problem: Badness during boot, seems to pertain to USB serial driver/gameport
>
> Kernel Version: Linux version 2.6.13-rc6-mm1 (root@rocket) (gcc
> version 3.4.4 (Gentoo 3.4.4, ssp-3.4.4-1.0, pie-8.7.8)) #1 PREEMPT Fri
> Aug 19 09:14:10 PDT 2005
>
> Could not duplicate this in 2.6.13-rc5-mm1

Does this happen in 2.6.13-rc6 (no -mm)?

I'm trying to reproduce this now (Andrew, I didn't have any such build
link errors like you did with this config...)

thanks,

greg k-h

Avuton Olrich

unread,
Aug 19, 2005, 5:22:02 PM8/19/05
to Greg KH, Andrew Morton, linux-...@vger.kernel.org
On 8/19/05, Greg KH <gr...@kroah.com> wrote:
> On Fri, Aug 19, 2005 at 09:42:51AM -0700, Avuton Olrich wrote:
> > On 8/19/05, Andrew Morton <ak...@osdl.org> wrote:
> > > - Lots of fixes, updates and cleanups all over the place.
> >
> > Problem: Badness during boot, seems to pertain to USB serial driver/gameport
>
> Does this happen in 2.6.13-rc6 (no -mm)?
>
> I'm trying to reproduce this now (Andrew, I didn't have any such build
> link errors like you did with this config...)

I can't test 2.6.13-rc6 atm, since I have dependance on REISER4_FS=Y

avuton
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

Benoit Boissinot

unread,
Aug 19, 2005, 5:25:41 PM8/19/05
to Ed Tomlinson, Andrew Morton, linux-...@vger.kernel.org
On Fri, Aug 19, 2005 at 05:01:05PM -0400, Ed Tomlinson wrote:
> Hi,
>
> Adding the include to dmi.h allows the compile to get past this point though I
> wonder if this is the correct place to put it? (Thanks Benoit)
>
> I now get:
>
> CC [M] net/ipv4/ipvs/ip_vs_ctl.o
> net/ipv4/ipvs/ip_vs_ctl.c:1601: error: static declaration of 'ipv4_table' follows non-static declaration
> include/net/ip.h:376: error: previous declaration of 'ipv4_table' was here
> make[3]: *** [net/ipv4/ipvs/ip_vs_ctl.o] Error 1
> make[2]: *** [net/ipv4/ipvs] Error 2
> make[1]: *** [net/ipv4] Error 2
> make: *** [net] Error 2
>
> Ideas?
>

I think the following is patch needed because ipv4_table is local to
ipvs.

Signed-off-by: Benoit Boissinot <benoit.b...@ens-lyon.org>

--- ./net/ipv4/ipvs/ip_vs_lblc.c 2004-12-24 22:35:28.000000000 +0100
+++ ./net/ipv4/ipvs/ip_vs_lblc.c.new 2005-08-19 23:22:09.000000000 +0200
@@ -131,7 +131,7 @@ static ctl_table vs_table[] = {
{ .ctl_name = 0 }
};

-static ctl_table ipv4_table[] = {
+static ctl_table ipv4_vs_table[] = {
{
.ctl_name = NET_IPV4,
.procname = "ipv4",
@@ -146,7 +146,7 @@ static ctl_table lblc_root_table[] = {
.ctl_name = CTL_NET,
.procname = "net",
.mode = 0555,
- .child = ipv4_table
+ .child = ipv4_vs_table
},
{ .ctl_name = 0 }
};
--- ./net/ipv4/ipvs/ip_vs_lblcr.c 2004-12-24 22:35:24.000000000 +0100
+++ ./net/ipv4/ipvs/ip_vs_lblcr.c.new 2005-08-19 23:22:25.000000000 +0200
@@ -320,7 +320,7 @@ static ctl_table vs_table[] = {
{ .ctl_name = 0 }
};

-static ctl_table ipv4_table[] = {
+static ctl_table ipv4_vs_table[] = {
{
.ctl_name = NET_IPV4,
.procname = "ipv4",
@@ -335,7 +335,7 @@ static ctl_table lblcr_root_table[] = {
.ctl_name = CTL_NET,
.procname = "net",
.mode = 0555,
- .child = ipv4_table
+ .child = ipv4_vs_table
},
{ .ctl_name = 0 }
};

Eric Dumazet

unread,
Aug 19, 2005, 5:28:21 PM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
Hi Andrew

Considering :

[root@dada1 linux-2.6.13-rc6]# find .|xargs grep f_maxcount
/fs/file_table.c: f->f_maxcount = INT_MAX;
/fs/read_write.c: if (unlikely(count > file->f_maxcount))
/include/linux/fs.h: size_t f_maxcount;


I was wondering if f_maxcount has a real use these days...

Eric

Andrew Morton

unread,
Aug 19, 2005, 5:36:01 PM8/19/05
to Eric Dumazet, linux-...@vger.kernel.org
Eric Dumazet <da...@cosmosbay.com> wrote:
>
> Considering :
>
> [root@dada1 linux-2.6.13-rc6]# find .|xargs grep f_maxcount
> ./fs/file_table.c: f->f_maxcount = INT_MAX;
> ./fs/read_write.c: if (unlikely(count > file->f_maxcount))
> ./include/linux/fs.h: size_t f_maxcount;

>
>
> I was wondering if f_maxcount has a real use these days...

No, I guess we can just stick a hard-wired INT_MAX in there.

Eric Dumazet

unread,
Aug 19, 2005, 6:01:39 PM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
Andrew Morton a écrit :

> Eric Dumazet <da...@cosmosbay.com> wrote:
>
>>Considering :
>>
>>[root@dada1 linux-2.6.13-rc6]# find .|xargs grep f_maxcount
>>./fs/file_table.c: f->f_maxcount = INT_MAX;
>>./fs/read_write.c: if (unlikely(count > file->f_maxcount))
>>./include/linux/fs.h: size_t f_maxcount;
>>
>>
>>I was wondering if f_maxcount has a real use these days...
>
>
> No, I guess we can just stick a hard-wired INT_MAX in there.
>
>

OK here is a patch doing the hard wiring then :)

* struct file cleanup : f_maxcount has an unique value (INT_MAX). Just use the hard-wired value.

Signed-off-by: Eric Dumazet <da...@cosmosbay.com>

supress_f_maxcount

Adrian Bunk

unread,
Aug 19, 2005, 6:49:34 PM8/19/05
to Andrew Morton, Rolf Eike Beer, linux-...@vger.kernel.org, ph...@gnu.org, t...@cyberelk.net, camp...@torque.net, and...@suse.de, linux-...@lists.infradead.org
On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc5-mm1:
>...
> +fix-handling-in-parport_pc-init-code.patch
>
> parport fix
>...

This patch broke my parallel port printer.

diff between 2.6.13-rc6-mm1 and 2.6.13-rc6-mm1 with this patch reverted
(the reason for the input message being earlier might simply be that
a working parport initialization takes some time):

<-- snip -->

..
radeonfb (0000:01:00.0): ATI Radeon QY
lp: driver loaded but no devices found
Real Time Clock Driver v1.12
Non-volatile memory driver v1.2
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected SiS 746 chipset
agpgart: AGP aperture is 64M @ 0xd0000000
[drm] Initialized drm 1.0.0 20040925
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
[drm] Initialized radeon 1.17.0 20050311 on minor 0:
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
mice: PS/2 mouse device common for all mice
+parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP]
+parport0: irq 7 detected
+input: AT Translated Set 2 keyboard on isa0060/serio0
+parport0: Legacy device
+lp0: using parport0 (polling).
io scheduler noop registered
..
saa7134[0]: board init: gpio is 100a0
-input: AT Translated Set 2 keyboard on isa0060/serio0
saa7134[0]: Huh, no eeprom present (err=-5)?
..

<-- snip -->

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-

Adrian Bunk

unread,
Aug 19, 2005, 7:39:21 PM8/19/05
to Andrew Morton, Nishanth Aravamudan, linux-...@vger.kernel.org, Jens Axboe
On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc5-mm1:
>...
> +drivers-cdrom-fix-up-schedule_timeout-usage.patch
>...

I sell copies of gcc at reasonable prices...

<-- snip -->

..
CC drivers/cdrom/sbpcd.o
..
drivers/cdrom/sbpcd.c:830: warning: implicit declaration of function 'schedule_interruptible_timeout'
..
LD .tmp_vmlinux1
drivers/built-in.o: In function `sbp_sleep':sbpcd.c:
(.text+0x7c4592): undefined reference to `schedule_interruptible_timeout'
make: *** [.tmp_vmlinux1] Error 1

<-- snip -->


Signed-off-by: Adrian Bunk <bu...@stusta.de>

--- linux-2.6.13-rc6-mm1-full/drivers/cdrom/sbpcd.c.old 2005-08-19 20:43:18.000000000 +0200
+++ linux-2.6.13-rc6-mm1-full/drivers/cdrom/sbpcd.c 2005-08-19 20:44:46.000000000 +0200
@@ -827,7 +827,7 @@
static void sbp_sleep(u_int time)
{
sti();
- schedule_interruptible_timeout(time);
+ schedule_timeout_interruptible(time);
sti();
}
/*==========================================================================*/

Nish Aravamudan

unread,
Aug 19, 2005, 7:45:48 PM8/19/05
to Adrian Bunk, Andrew Morton, Nishanth Aravamudan, linux-...@vger.kernel.org, Jens Axboe
On 8/19/05, Adrian Bunk <bu...@stusta.de> wrote:
> On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
> >...
> > Changes since 2.6.13-rc5-mm1:
> >...
> > +drivers-cdrom-fix-up-schedule_timeout-usage.patch
> >...
>
> I sell copies of gcc at reasonable prices...
>
> <-- snip -->
>
> ...
> CC drivers/cdrom/sbpcd.o
> ...

> drivers/cdrom/sbpcd.c:830: warning: implicit declaration of function 'schedule_interruptible_timeout'
> ...

> LD .tmp_vmlinux1
> drivers/built-in.o: In function `sbp_sleep':sbpcd.c:
> (.text+0x7c4592): undefined reference to `schedule_interruptible_timeout'
> make: *** [.tmp_vmlinux1] Error 1
>
> <-- snip -->
>
>
> Signed-off-by: Adrian Bunk <bu...@stusta.de>
>
> --- linux-2.6.13-rc6-mm1-full/drivers/cdrom/sbpcd.c.old 2005-08-19 20:43:18.000000000 +0200
> +++ linux-2.6.13-rc6-mm1-full/drivers/cdrom/sbpcd.c 2005-08-19 20:44:46.000000000 +0200
> @@ -827,7 +827,7 @@
> static void sbp_sleep(u_int time)
> {
> sti();
> - schedule_interruptible_timeout(time);
> + schedule_timeout_interruptible(time);

::sigh:: Thanks, Adrian!

-Nish

Adrian Bunk

unread,
Aug 19, 2005, 8:20:52 PM8/19/05
to Andrew Morton, jga...@pobox.com, linux-...@vger.kernel.org, net...@vger.kernel.org
Is there any reason why PHYLIB is a user-visible option?

As far as I understand it, PHYLIB and the MII PHY device drivers are an
internal library drivers should start to use roughly similar to MII.

But in this case, the options shouldn't be user-visible.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-

Jeff Garzik

unread,
Aug 19, 2005, 8:30:03 PM8/19/05
to Adrian Bunk, Andrew Morton, linux-...@vger.kernel.org, net...@vger.kernel.org
Adrian Bunk wrote:
> Is there any reason why PHYLIB is a user-visible option?
>
> As far as I understand it, PHYLIB and the MII PHY device drivers are an
> internal library drivers should start to use roughly similar to MII.
>
> But in this case, the options shouldn't be user-visible.

This code is still shaking out, so don't worry much about it right now.

Jeff

Yoichi Yuasa

unread,
Aug 19, 2005, 9:02:12 PM8/19/05
to ak...@osdl.org, yu...@hh.iij4u.or.jp, linux-...@vger.kernel.org, Jesper Juhl
On Fri, 19 Aug 2005 20:03:26 +0200
Jesper Juhl <jespe...@gmail.com> wrote:

> On 8/19/05, Andrew Morton <ak...@osdl.org> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc6/2.6.13-rc6-mm1/
> >
>
> menuconfig complains a little :
>
> $ make menuconfig
> scripts/kconfig/mconf arch/i386/Kconfig
> drivers/char/Kconfig:847:warning: 'select' used by config symbol
> 'TANBAC_TB0219' refer to undefined symbol 'PCI_VR41XX'
>
> otherwise things seem to be ok here.
>

Here is a patch for this warning fix.

Yoichi

Signed-off-by: Yoichi Yuasa <yu...@hh.iij4u.or.jp>

diff -urN -X dontdiff rc6-mm1-orig/arch/mips/Kconfig rc6-mm1/arch/mips/Kconfig
--- rc6-mm1-orig/arch/mips/Kconfig 2005-08-20 08:32:28.000000000 +0900
+++ rc6-mm1/arch/mips/Kconfig 2005-08-20 08:41:42.000000000 +0900
@@ -91,8 +91,6 @@
select DMA_NONCOHERENT
select IRQ_CPU
select HW_HAS_PCI
- select PCI
- select PCI_VR41XX

config ROCKHOPPER
bool "Support for Rockhopper baseboard"
@@ -133,8 +131,6 @@
config TANBAC_TB0226
bool "Support for TANBAC Mbase(TB0226)"
depends on TANBAC_TB022X
- select PCI
- select PCI_VR41XX
select GPIO_VR41XX
help
The TANBAC Mbase(TB0226) is a MIPS-based platform manufactured by TANBAC.
@@ -147,8 +143,6 @@
select DMA_NONCOHERENT
select IRQ_CPU
select HW_HAS_PCI
- select PCI
- select PCI_VR41XX

config ZAO_CAPCELLA
bool "Support for ZAO Networks Capcella"
@@ -157,12 +151,12 @@
select DMA_NONCOHERENT
select IRQ_CPU
select HW_HAS_PCI
- select PCI
- select PCI_VR41XX

config PCI_VR41XX
bool "Add PCI control unit support of NEC VR4100 series"
- depends on MACH_VR41XX && PCI
+ depends on MACH_VR41XX && HW_HAS_PCI
+ default y
+ select PCI

config VRC4173
tristate "Add NEC VRC4173 companion chip support"
diff -urN -X dontdiff rc6-mm1-orig/drivers/char/Kconfig rc6-mm1/drivers/char/Kconfig
--- rc6-mm1-orig/drivers/char/Kconfig 2005-08-20 08:32:35.000000000 +0900
+++ rc6-mm1/drivers/char/Kconfig 2005-08-20 09:41:43.000000000 +0900
@@ -843,8 +843,6 @@
config TANBAC_TB0219
tristate "TANBAC TB0219 base board support"
depends TANBAC_TB022X
- select PCI
- select PCI_VR41XX

menu "Ftape, the floppy tape device driver"

Reuben Farrelly

unread,
Aug 19, 2005, 9:27:30 PM8/19/05
to Andrew Morton, linux-...@vger.kernel.org
Hi again,

On 20/08/2005 5:34 a.m., Andrew Morton wrote:
> Reuben Farrelly <reube...@reub.net> wrote:

>> A few new problems cropped up with this kernel..
>>
>> 1. NFS seems to be unstable, oopsing when shutting down:
>
> --- devel/fs/nfsd/nfssvc.c~ingo-nfs-stuff-fix 2005-08-19 10:29:15.000000000 -0700
> +++ devel-akpm/fs/nfsd/nfssvc.c 2005-08-19 10:30:03.000000000 -0700
> @@ -286,7 +286,6 @@ out:
> /* Release the thread */
> svc_exit_thread(rqstp);
>
> - unlock_kernel();
> /* Release module */
> unlock_kernel();
> module_put_and_exit(0);
> _

That fixed it, thanks.

I wonder if hald knows something about this and is polling.. however that
message above about "Device not ready" occurs when the kernel is booting,
before any userspace stuff has started up. Maybe hald is just being a bit
aggressive in re-probing the drive after userspace launches. B all accounts
after a week of uptime the drive certainly ought to be ready, it seems to work
ok ;-)

Note the extra space after 'Device' and 'not' which implies possibly some text
is missing (which would have made it more clear which device is not exactly
ready). The case sensitive strings "Device" and "not ready" appears together
in scsi_lib.c and very few other places.

> Is the device actually "not ready", or is it in reality ready and working?
> ie: what happens if you stick a CD in it?

The CD can be read, and the error messages go away. They stay away even after
the CD has been ejected.

>> 4. PAM is complaining about "PAM audit_open() failed: Protocol not suppor
>> ted" and I can't log in as any user including root. I would have picked this
>> was a userspace problem, but it doesn't break with -rc5-mm1, yet reproduceably
>> breaks with -rc6-mm1. Weird.
>
> hm. How come you're able to use the machine then?

Machine was booting up ok, and things were being written to syslog. Rebooted
into -rc5-mm1 to investigate, and of course could boot into rc6-mm1 in single
user mode, test and bring services up one by one from there. Having two boxes
helped too.

> Is it possible to get an strace of this failure somehow?

Not sure if this is needed anymore, as I found that the problem goes away when
I compile in kernel auditing. This not required for -rc5-mm1. Is that change
intended?

reuben

Andrew Morton

unread,
Aug 19, 2005, 9:36:11 PM8/19/05
to Reuben Farrelly, linux-...@vger.kernel.org

OK, it'll be this:

case NOT_READY:
/*
* If the device is in the process of becoming ready,
* retry.
*/
if (sshdr.asc == 0x04 && sshdr.ascq == 0x01) {
scsi_requeue_command(q, cmd);
return;
}
printk(KERN_INFO "Device %s not ready.\n",
req->rq_disk ? req->rq_disk->disk_name : "");

Where the disk name is evaluating to an empty string.

Maybe you could stick a dump_stack() in there, get some additional info.

Anyway, over to you, James ;)

> > Is the device actually "not ready", or is it in reality ready and working?
> > ie: what happens if you stick a CD in it?
>
> The CD can be read, and the error messages go away. They stay away even after
> the CD has been ejected.

-

Andrew Morton

unread,
Aug 19, 2005, 9:41:00 PM8/19/05
to Reuben Farrelly, linux-...@vger.kernel.org, David Woodhouse
Reuben Farrelly <reube...@reub.net> wrote:
>
> ...

> >> 4. PAM is complaining about "PAM audit_open() failed: Protocol not suppor
> >> ted" and I can't log in as any user including root. I would have picked this
> >> was a userspace problem, but it doesn't break with -rc5-mm1, yet reproduceably
> >> breaks with -rc6-mm1. Weird.
> >
> > hm. How come you're able to use the machine then?
>
> Machine was booting up ok, and things were being written to syslog. Rebooted
> into -rc5-mm1 to investigate, and of course could boot into rc6-mm1 in single
> user mode, test and bring services up one by one from there. Having two boxes
> helped too.
>
> > Is it possible to get an strace of this failure somehow?
>
> Not sure if this is needed anymore, as I found that the problem goes away when
> I compile in kernel auditing. This not required for -rc5-mm1. Is that change
> intended?
>

Sounds wrong to me, especially if 2.6.13-rc6 doesn't do that.

David?

David Woodhouse

unread,
Aug 20, 2005, 9:48:57 AM8/20/05
to Andrew Morton, Reuben Farrelly, linux-...@vger.kernel.org
On Fri, 2005-08-19 at 18:36 -0700, Andrew Morton wrote:
> Reuben Farrelly <reube...@reub.net> wrote:
> >
> > ...
> > >> 4. PAM is complaining about "PAM audit_open() failed: Protocol not suppor
> > >> ted" and I can't log in as any user including root. I would have picked this
> > >> was a userspace problem, but it doesn't break with -rc5-mm1, yet reproduceably
> > >> breaks with -rc6-mm1. Weird.
> > >
> > > hm. How come you're able to use the machine then?
> >
> > Machine was booting up ok, and things were being written to syslog. Rebooted
> > into -rc5-mm1 to investigate, and of course could boot into rc6-mm1 in single
> > user mode, test and bring services up one by one from there. Having two boxes
> > helped too.
> >
> > > Is it possible to get an strace of this failure somehow?
> >
> > Not sure if this is needed anymore, as I found that the problem goes away when
> > I compile in kernel auditing. This not required for -rc5-mm1. Is that change
> > intended?
> >
>
> Sounds wrong to me, especially if 2.6.13-rc6 doesn't do that.

Hm. It sounds like you'd configured PAM to require the pam_loginuid
module even though you didn't have auditing enabled in your kernel. That
seems strange and wrong to me, and _is_ a userspace problem.

I'd also agree that it shouldn't have changed with the new kernel though
-- and I can't think of anything I changed recently which would have
that effect. An strace would still be useful.

Can you double-check that you didn't have auditing enabled in your
older, working kernel?

--
dwmw2

Martin J. Bligh

unread,
Aug 20, 2005, 10:50:17 AM8/20/05
to Andrew Morton, linux-...@vger.kernel.org, James Bottomley, SCSI Mailing List
--Andrew Morton <ak...@osdl.org> wrote (on Friday, August 19, 2005 04:33:31 -0700):

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


>
> - Lots of fixes, updates and cleanups all over the place.
>

> - If you have the right debugging options set, this kernel will generate
> a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.
> It is being worked on.

Get a couple of debug warnings as you mention ... but then it panics.


scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0

<Adaptec aic7899 Ultra160 SCSI adapter>
aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
<Adaptec aic7899 Ultra160 SCSI adapter>
aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs

Vendor: IBM Model: GNHv1 S2 Rev: 0
Type: Processor ANSI SCSI revision: 02
target1:0:9: Beginning Domain Validation
target1:0:9: Ending Domain Validation
Vendor: IBM-ESXS Model: DTN036C1UCDY10F Rev: S25J
Type: Direct-Access ANSI SCSI revision: 03
scsi1:A:12:0: Tagged Queuing enabled. Depth 253
target1:0:12: Beginning Domain Validation
target1:0:12: wide asynchronous.
target1:0:12: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 127)
target1:0:12: Ending Domain Validation
Vendor: IBM-ESXS Model: DTN036C1UCDY10F Rev: S25J
Type: Direct-Access ANSI SCSI revision: 03
scsi1:A:13:0: Tagged Queuing enabled. Depth 253
target1:0:13: Beginning Domain Validation
target1:0:13: wide asynchronous.
target1:0:13: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 127)
target1:0:13: Ending Domain Validation
scsi2 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
<Adaptec aic7899 Ultra160 SCSI adapter>
aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

scheduling while atomic: swapper/0x00000100/0
[<c02f65c5>] schedule+0x45/0x724
[<c0115a15>] __wake_up+0x31/0x3c
[<c016892a>] dcache_shrinker_del+0x2e/0x38
[<c0168c62>] dput_recursive+0x232/0x270
[<c0168c95>] dput_recursive+0x265/0x270
[<c02f7d0f>] __down+0x7f/0x108
[<c0115978>] default_wake_function+0x0/0x1c
[<c02f6517>] __down_failed+0x7/0xc
[<c0233612>] .text.lock.attribute_container+0x8b/0xc1
[<c02337eb>] transport_remove_device+0xf/0x14
[<c0233784>] transport_remove_classdev+0x0/0x58
[<c0265b62>] scsi_target_reap+0x86/0xb4
[<c02670c0>] scsi_device_dev_release+0x134/0x15c
[<c022f5b8>] device_release+0x14/0x4c
[<c01bc2c3>] kobject_cleanup+0x47/0x6c
[<c01bc2e8>] kobject_release+0x0/0x14
[<c01bc2f5>] kobject_release+0xd/0x14
[<c01bcb95>] kref_put+0x79/0x89
[<c01bc312>] kobject_put+0x16/0x1c
[<c01bc2e8>] kobject_release+0x0/0x14
[<c022f925>] put_device+0x11/0x18
[<c025ecad>] scsi_put_command+0xa5/0xb0
[<c0263df5>] scsi_next_command+0x11/0x1c
[<c0263ed9>] scsi_end_request+0xa9/0xb4
[<c02644c1>] scsi_io_completion+0x489/0x494
[<c02646da>] scsi_generic_done+0x32/0x38
[<c025f618>] scsi_finish_command+0xa0/0xa8
[<c025f52d>] scsi_softirq+0x139/0x154
[<c011e32d>] __do_softirq+0x8d/0x100
[<c011e3cf>] do_softirq+0x2f/0x34
[<c011e474>] irq_exit+0x34/0x38
[<c0104840>] do_IRQ+0x20/0x28
[<c01033ae>] common_interrupt+0x1a/0x20
[<c0100c00>] default_idle+0x0/0x2c
[<c0100c23>] default_idle+0x23/0x2c
[<c0100cf3>] cpu_idle+0x7b/0x8c
[<c01002c8>] rest_init+0x28/0x2c
[<c03de87f>] start_kernel+0x197/0x19c
scheduling while atomic: swapper/0x00000100/0
[<c02f65c5>] schedule+0x45/0x724
[<c011598f>] default_wake_function+0x17/0x1c
[<c01159cb>] __wake_up_common+0x37/0x50
[<c0115a15>] __wake_up+0x31/0x3c
[<c02f6d34>] wait_for_completion+0x90/0xe8
[<c0115978>] default_wake_function+0x0/0x1c
[<c0115978>] default_wake_function+0x0/0x1c
[<c01280c8>] call_usermodehelper_keys+0x144/0x15a
[<c0127f38>] __call_usermodehelper+0x0/0x4c
[<c0127f38>] __call_usermodehelper+0x0/0x4c
[<c01bca4d>] kobject_hotplug+0x255/0x280
[<c0231c39>] class_device_del+0x8d/0xa8
[<c0233541>] attribute_container_class_device_del+0x11/0x18
[<c02337d3>] transport_remove_classdev+0x4f/0x58
[<c02333ef>] attribute_container_device_trigger+0x7f/0xb8
[<c02337eb>] transport_remove_device+0xf/0x14
[<c0233784>] transport_remove_classdev+0x0/0x58
[<c0265b62>] scsi_target_reap+0x86/0xb4
[<c02670c0>] scsi_device_dev_release+0x134/0x15c
[<c022f5b8>] device_release+0x14/0x4c
[<c01bc2c3>] kobject_cleanup+0x47/0x6c
[<c01bc2e8>] kobject_release+0x0/0x14
[<c01bc2f5>] kobject_release+0xd/0x14
[<c01bcb95>] kref_put+0x79/0x89
[<c01bc312>] kobject_put+0x16/0x1c
[<c01bc2e8>] kobject_release+0x0/0x14
[<c022f925>] put_device+0x11/0x18
[<c025ecad>] scsi_put_command+0xa5/0xb0
[<c0263df5>] scsi_next_command+0x11/0x1c
[<c0263ed9>] scsi_end_request+0xa9/0xb4
[<c02644c1>] scsi_io_completion+0x489/0x494
[<c02646da>] scsi_generic_done+0x32/0x38
[<c025f618>] scsi_finish_command+0xa0/0xa8
[<c025f52d>] scsi_softirq+0x139/0x154
[<c011e32d>] __do_softirq+0x8d/0x100
[<c011e3cf>] do_softirq+0x2f/0x34
[<c011e474>] irq_exit+0x34/0x38
[<c0104840>] do_IRQ+0x20/0x28
[<c01033ae>] common_interrupt+0x1a/0x20
[<c0100c00>] default_idle+0x0/0x2c
[<c0100c23>] default_idle+0x23/0x2c
[<c0100cf3>] cpu_idle+0x7b/0x8c
[<c01002c8>] rest_init+0x28/0x2c
[<c03de87f>] start_kernel+0x197/0x19c


Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:

c0263cf2
*pde = 0042c001
*pte = 00000000
Oops: 0000 [#1]
SMP
last sysfs file:
CPU: 0
EIP: 0060:[<c0263cf2>] Not tainted VLI
EFLAGS: 00010282 (2.6.13-rc6-mm1-autokern1)
EIP is at scsi_run_queue+0xe/0xb4
eax: d777ce30 ebx: d777ce30 ecx: 00000282 edx: d6c4cc00
esi: d777ce30 edi: 00000000 ebp: 00000246 esp: c03dde98


ds: 007b es: 007b ss: 0068

Process swapper (pid: 0, threadinfo=c03dc000 task=c0373be0)
Stack: d777ce30 d777ce30 d76fb500 00000246 c0263dfb d777ce30 d76fb500 d777d70c
c0263ed9 d76fb500 d777d70c d6c4c400 d6c4cc00 00000024 d76fb500 c02644c1
d76fb500 00000000 00000024 00000001 d6c4c400 d6c4cc00 d76fb500 d76fb500
Call Trace:
[<c0263dfb>] scsi_next_command+0x17/0x1c
[<c0263ed9>] scsi_end_request+0xa9/0xb4
[<c02644c1>] scsi_io_completion+0x489/0x494
[<c02646da>] scsi_generic_done+0x32/0x38
[<c025f618>] scsi_finish_command+0xa0/0xa8
[<c025f52d>] scsi_softirq+0x139/0x154
[<c011e32d>] __do_softirq+0x8d/0x100
[<c011e3cf>] do_softirq+0x2f/0x34
[<c011e474>] irq_exit+0x34/0x38
[<c0104840>] do_IRQ+0x20/0x28
[<c01033ae>] common_interrupt+0x1a/0x20
[<c0100c00>] default_idle+0x0/0x2c
[<c0100c23>] default_idle+0x23/0x2c
[<c0100cf3>] cpu_idle+0x7b/0x8c
[<c01002c8>] rest_init+0x28/0x2c
[<c03de87f>] start_kernel+0x197/0x19c

Jiri Slaby

unread,
Aug 20, 2005, 11:44:37 AM8/20/05
to Andrew Morton, Linux Kernel Mailing List
In i6300esb.c watchdog card driver were 2 bugs (misused pc_match_device
and pci_dev_put wasn't called in one error case) and one little cleanup
was done (long line was converted to a shorter one with using built-in
macro).

Generated in 2.6.13-rc6-mm1 kernel version.

Signed-off-by: Jiri Slaby <xsl...@fi.muni.cz>

i6300esb.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/char/watchdog/i6300esb.c b/drivers/char/watchdog/i6300esb.c
--- a/drivers/char/watchdog/i6300esb.c
+++ b/drivers/char/watchdog/i6300esb.c
@@ -349,7 +349,7 @@ static struct notifier_block esb_notifie
* want to register another driver on the same PCI id.
*/
static struct pci_device_id esb_pci_tbl[] = {
- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_9, PCI_ANY_ID, PCI_ANY_ID, },
+ { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_9), },
{ 0, }, /* End of list */
};
MODULE_DEVICE_TABLE (pci, esb_pci_tbl);
@@ -369,7 +369,7 @@ static unsigned char __init esb_getdevic
*/

for_each_pci_dev(dev)
- if (pci_match_device(esb_pci_tbl, dev)) {
+ if (pci_match_id(esb_pci_tbl, dev)) {
esb_pci = dev;
break;
}
@@ -377,7 +377,7 @@ static unsigned char __init esb_getdevic
if (esb_pci) {
if (pci_enable_device(esb_pci)) {
printk (KERN_ERR PFX "failed to enable device\n");
- goto out;
+ goto err_devput;
}

if (pci_request_region(esb_pci, 0, ESB_MODULE_NAME)) {
@@ -429,9 +429,10 @@ err_release:
pci_release_region(esb_pci, 0);
err_disable:
pci_disable_device(esb_pci);
+err_devput:
pci_dev_put(esb_pci);
}
-out:
+
return 0;

Adrian Bunk

unread,
Aug 20, 2005, 1:36:30 PM8/20/05
to Andrew Morton, Joel Becker, Zach Brown, Mark Fasheh, Kurt Hackel, Sunil Mushran, Manish Singh, linux-...@vger.kernel.org, jffs...@axis.com
On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc5-mm1:
>...
> git-ocfs2.patch
>...
> Subsystem trees
>...

gcc correctly tells that at least a part of this patch incorrect (not
that gcc says "is used", not "might be used"):

<-- snip -->

..
CC fs/jffs/inode-v23.o
fs/jffs/inode-v23.c: In function 'jffs_create':
fs/jffs/inode-v23.c:1282: warning: 'inode' is used uninitialized in this function
..

<-- snip -->

Looking at the code, it's trivial to verify that gcc is right.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-

Adrian Bunk

unread,
Aug 20, 2005, 3:04:05 PM8/20/05
to Andrew Morton, da...@davemloft.net, linux-...@vger.kernel.org, net...@vger.kernel.org
On Fri, Aug 19, 2005 at 04:33:31AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc5-mm1:
>...
> git-net.patch
>...
> Subsystem trees
>...

This breaks the compilation with CONFIG_PROC_FS=n:

<-- snip -->

..
CC net/core/sysctl_net_core.o
net/core/sysctl_net_core.c:50: error: 'sysctl_wmem_default' undeclared here (not in a function)
net/core/sysctl_net_core.c:58: error: 'sysctl_rmem_default' undeclared here (not in a function)
make[2]: *** [net/core/sysctl_net_core.o] Error 1

<-- snip -->


The fix is simple.


Signed-off-by: Adrian Bunk <bu...@stusta.de>

--- linux-2.6.13-rc6-mm1-full/include/net/sock.h.old 2005-08-20 15:39:23.000000000 +0200
+++ linux-2.6.13-rc6-mm1-full/include/net/sock.h 2005-08-20 15:39:39.000000000 +0200
@@ -1372,9 +1372,7 @@
extern int sysctl_optmem_max;
#endif

-#ifdef CONFIG_PROC_FS
extern __u32 sysctl_wmem_default;
extern __u32 sysctl_rmem_default;
-#endif

#endif /* _SOCK_H */

David S. Miller

unread,
Aug 20, 2005, 8:15:36 PM8/20/05
to bu...@stusta.de, ak...@osdl.org, linux-...@vger.kernel.org, net...@vger.kernel.org
From: Adrian Bunk <bu...@stusta.de>
Date: Sat, 20 Aug 2005 21:03:09 +0200

> This breaks the compilation with CONFIG_PROC_FS=n:

..
> Signed-off-by: Adrian Bunk <bu...@stusta.de>

Applied, thanks Adrian.

Reuben Farrelly

unread,
Aug 21, 2005, 2:29:59 AM8/21/05
to David Woodhouse, Andrew Morton, linux-...@vger.kernel.org
Hi,

On 21/08/2005 1:40 a.m., David Woodhouse wrote:
> On Fri, 2005-08-19 at 18:36 -0700, Andrew Morton wrote:
>> Reuben Farrelly <reube...@reub.net> wrote:
>>> ...
>>>>> 4. PAM is complaining about "PAM audit_open() failed: Protocol not suppor
>>>>> ted" and I can't log in as any user including root. I would have picked this
>>>>> was a userspace problem, but it doesn't break with -rc5-mm1, yet reproduceably
>>>>> breaks with -rc6-mm1. Weird.
>>>> hm. How come you're able to use the machine then?
>>> Machine was booting up ok, and things were being written to syslog. Rebooted
>>> into -rc5-mm1 to investigate, and of course could boot into rc6-mm1 in single
>>> user mode, test and bring services up one by one from there. Having two boxes
>>> helped too.
>>>
>>>> Is it possible to get an strace of this failure somehow?
>>> Not sure if this is needed anymore, as I found that the problem goes away when
>>> I compile in kernel auditing. This not required for -rc5-mm1. Is that change
>>> intended?
>>>
>> Sounds wrong to me, especially if 2.6.13-rc6 doesn't do that.
>
> Hm. It sounds like you'd configured PAM to require the pam_loginuid
> module even though you didn't have auditing enabled in your kernel. That
> seems strange and wrong to me, and _is_ a userspace problem.

I haven't touched my pam config since it was installed a long time ago - it's
one of those things that is too annoying to fix once broked, so I leave it
alone at the system defaults ;)

I had logged this as a Fedora bug as I figured the pam_loginuid
detection of the presence of auditing in the kernel is not very robust. There
was a patch modified in pam-0.80-6 at the start of August which was to fix
this on non audit enabled kernels, which works for anything up to and older
than 2.6.12-rc5-mm1.

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=166422

It was closed 8 mins later, and the suggestion made that I take it to a pam
development list instead. Redhat don't seem so interested in fixing things as
a result of breakage when running an -mm kernel.

> I'd also agree that it shouldn't have changed with the new kernel though
> -- and I can't think of anything I changed recently which would have
> that effect. An strace would still be useful.

Done. Posted up at http://www.reub.net/kernel/strace-login

> Can you double-check that you didn't have auditing enabled in your
> older, working kernel?

Definitely wasn't enabled. I still have the .config that I used to build
-rc5-mm1 with and my original -rc6-mm1 and it reads:

CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y

Thanks for taking a look.

Reuben

Reuben Farrelly

unread,
Aug 21, 2005, 2:42:34 AM8/21/05
to Andrew Morton, linux-...@vger.kernel.org
Hi,

On 19/08/2005 11:37 a.m., Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc6/2.6.13-rc6-mm1/
>
> - Lots of fixes, updates and cleanups all over the place.
>
> - If you have the right debugging options set, this kernel will generate
> a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.
> It is being worked on.
>
>

> Changes since 2.6.13-rc5-mm1:
>
> linus.patch

Noted this in my log earlier today.

Is this inotify related?

Aug 21 08:33:04 tornado kernel: idr_remove called for id=2048 which is not
allocated.
Aug 21 08:33:04 tornado kernel: [<c0103a00>] dump_stack+0x17/0x19
Aug 21 08:33:04 tornado kernel: [<c01c9f9a>] idr_remove_warning+0x1b/0x1d
Aug 21 08:33:04 tornado kernel: [<c01ca024>] sub_remove+0x88/0xea
Aug 21 08:33:04 tornado kernel: [<c01ca0a1>] idr_remove+0x1b/0x7f
Aug 21 08:33:04 tornado kernel: [<c018176a>] remove_watch_no_event+0x7a/0x12e
Aug 21 08:33:04 tornado kernel: [<c0181f64>] inotify_release+0x8f/0x1af
Aug 21 08:33:04 tornado kernel: [<c015ca80>] __fput+0xaf/0x199
Aug 21 08:33:04 tornado kernel: [<c015c9b8>] fput+0x22/0x3b
Aug 21 08:33:04 tornado kernel: [<c015b2ed>] filp_close+0x41/0x67
Aug 21 08:33:04 tornado kernel: [<c015b383>] sys_close+0x70/0x92
Aug 21 08:33:04 tornado kernel: [<c0102a9b>] sysenter_past_esp+0x54/0x75
Aug 21 08:33:04 tornado kernel: idr_remove called for id=3072 which is not
allocated.
Aug 21 08:33:05 tornado kernel: [<c0103a00>] dump_stack+0x17/0x19
Aug 21 08:33:05 tornado kernel: [<c01c9f9a>] idr_remove_warning+0x1b/0x1d
Aug 21 08:33:05 tornado kernel: [<c01ca024>] sub_remove+0x88/0xea
Aug 21 08:33:05 tornado kernel: [<c01ca0a1>] idr_remove+0x1b/0x7f
Aug 21 08:33:05 tornado kernel: [<c018176a>] remove_watch_no_event+0x7a/0x12e
Aug 21 08:33:05 tornado kernel: [<c0181f64>] inotify_release+0x8f/0x1af
Aug 21 08:33:05 tornado kernel: [<c015ca80>] __fput+0xaf/0x199
Aug 21 08:33:05 tornado kernel: [<c015c9b8>] fput+0x22/0x3b
Aug 21 08:33:05 tornado kernel: [<c015b2ed>] filp_close+0x41/0x67
Aug 21 08:33:05 tornado kernel: [<c015b383>] sys_close+0x70/0x92
Aug 21 08:33:05 tornado kernel: [<c0102a9b>] sysenter_past_esp+0x54/0x75

This would have been triggered by using dovecot IMAP which is configured to
use inotify on Maildir.
I'm also seeing some userspace errors logged for dovecot:

"Aug 21 04:17:22 Error: IMAP(reuben): inotify_rm_watch() failed: Invalid argument"

I'll deal with those with the guy who wrote the inotify code in dovecot.

I'm not so sure userspace should be able or need to cause the kernel to dump
stack traces like that though?

reuben

Andrew Morton

unread,
Aug 21, 2005, 2:55:46 AM8/21/05
to Reuben Farrelly, linux-...@vger.kernel.org, Robert Love, John McCutchan

Yes, the stack dumps would appear to be due to an inotify bug.

The message from dovecot is allegedly due to dovecot passing in a file
descriptor which was not obtained from the inotify_init() syscall. But
until we know what caused those stack dumps we cannot definitely say
whether dovecot is at fault.

Martin J. Bligh

unread,
Aug 21, 2005, 11:12:44 AM8/21/05
to Andrew Morton, linux-...@vger.kernel.org
> -scheduler-cache-hot-autodetect.patch
>
> Mabe Martin's machine crash

That machine now boots again with this -mm release. Darren and/or I
will continue trying to figure out what went wrong with this.

M.

Jon Smirl

unread,
Aug 21, 2005, 5:43:35 PM8/21/05
to Benoit Boissinot, linux-...@vger.kernel.org, Andrew Morton, Greg KH
On 8/21/05, Benoit Boissinot <bboi...@gmail.com> wrote:

> On 8/19/05, Andrew Morton <ak...@osdl.org> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc6/2.6.13-rc6-mm1/
> >
> > - Lots of fixes, updates and cleanups all over the place.
> >
> > - If you have the right debugging options set, this kernel will generate
> > a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.
> > It is being worked on.
> >
> >
> > Changes since 2.6.13-rc5-mm1:
> > [...]
> > +gregkh-driver-sysfs-strip_leading_trailing_whitespace.patch
> > [...]
>
>
> it broke loading of firmware for me.(dmesg was flooded with
> "firmware_loading_store: unexpected value (0)")
>
> firmware.agent uses echo so there is a trailing newline. If i changes
> firmware.agent to uses echo -n it works correctly.
>
> Is this a bug or the correct behaviour ?

Somewhere there is a mistake in the white space processing code of the
firmware driver. Before this patch we had inconsistent handling of
whitespace and sysfs attributes. This patch forces it to be consistent
and will shake out all of the places in the drivers where it is
handled wrong. Sysfs attributes are now stripped of leading and
trailing white space before being handed to the device driver.

Fbdev sysfs attributes are also broken for white space handling and
need to be fixed. Overall the patch should be correct and it is the
drivers that are broken.

--
Jon Smirl
jons...@gmail.com

Benoit Boissinot

unread,
Aug 21, 2005, 5:46:11 PM8/21/05
to Jon Smirl, linux-...@vger.kernel.org, Andrew Morton, Greg KH
On Sun, Aug 21, 2005 at 01:40:31PM -0400, Jon Smirl wrote:
> On 8/21/05, Benoit Boissinot <bboi...@gmail.com> wrote:
> > On 8/19/05, Andrew Morton <ak...@osdl.org> wrote:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc6/2.6.13-rc6-mm1/
> > >
> > > - Lots of fixes, updates and cleanups all over the place.
> > >
> > > - If you have the right debugging options set, this kernel will generate
> > > a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.
> > > It is being worked on.
> > >
> > >
> > > Changes since 2.6.13-rc5-mm1:
> > > [...]
> > > +gregkh-driver-sysfs-strip_leading_trailing_whitespace.patch
> > > [...]
> >
> >
> > it broke loading of firmware for me.(dmesg was flooded with
> > "firmware_loading_store: unexpected value (0)")
> >
> > firmware.agent uses echo so there is a trailing newline. If i changes
> > firmware.agent to uses echo -n it works correctly.
> >
> > Is this a bug or the correct behaviour ?
>
> Somewhere there is a mistake in the white space processing code of the
> firmware driver. Before this patch we had inconsistent handling of
> whitespace and sysfs attributes. This patch forces it to be consistent
> and will shake out all of the places in the drivers where it is
> handled wrong. Sysfs attributes are now stripped of leading and
> trailing white space before being handed to the device driver.

ok, i found it. If i do echo 1, it will read '1\n', will
remove the '\n' and send '1' to ops->store.
Then it will re-read '\n' and send '' to ops->store.
And it will loop...

Maybe sysfs should return the old count instead of ops->store ?


>
> Fbdev sysfs attributes are also broken for white space handling and
> need to be fixed. Overall the patch should be correct and it is the
> drivers that are broken.
>

Regards,

Benoit Boissinot

--
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS

Benoit Boissinot

unread,
Aug 21, 2005, 5:46:31 PM8/21/05
to Jon Smirl, linux-...@vger.kernel.org, Andrew Morton, Greg KH
On 8/19/05, Andrew Morton <ak...@osdl.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc6/2.6.13-rc6-mm1/
>
> - Lots of fixes, updates and cleanups all over the place.
>
> - If you have the right debugging options set, this kernel will generate
> a storm of sleeping-in-atomic-code warnings at boot, from the scsi code.
> It is being worked on.
>
>
> Changes since 2.6.13-rc5-mm1:
> [...]
> +gregkh-driver-sysfs-strip_leading_trailing_whitespace.patch
> [...]


it broke loading of firmware for me.(dmesg was flooded with
"firmware_loading_store: unexpected value (0)")

firmware.agent uses echo so there is a trailing newline. If i changes
firmware.agent to uses echo -n it works correctly.

Is this a bug or the correct behaviour ?

regards,

Benoit

Jon Smirl

unread,
Aug 21, 2005, 6:12:33 PM8/21/05
to Benoit Boissinot, linux-...@vger.kernel.org, Andrew Morton, Greg KH

Look at the length being passed in, isn't it set to zero for the second case?

>
> Maybe sysfs should return the old count instead of ops->store ?
> >
> > Fbdev sysfs attributes are also broken for white space handling and
> > need to be fixed. Overall the patch should be correct and it is the
> > drivers that are broken.
> >
> Regards,
>
> Benoit Boissinot
>
> --
> powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS
>


--
Jon Smirl
jons...@gmail.com

Benoit Boissinot

unread,
Aug 21, 2005, 6:22:56 PM8/21/05
to linux-...@vger.kernel.org, Andrew Morton, Greg KH
----- Forwarded message from Benoit Boissinot <benoit.b...@ens-lyon.org> -----
sorry, i forgot to reply all...

From: Benoit Boissinot <benoit.b...@ens-lyon.org>
To: Jon Smirl <jons...@gmail.com>
Subject: Re: 2.6.13-rc6-mm1
User-Agent: Mutt/1.5.10i

On Sun, Aug 21, 2005 at 06:11:57PM -0400, Jon Smirl wrote:
> On 8/21/05, Benoit Boissinot <benoit.b...@ens-lyon.org> wrote:
> > On Sun, Aug 21, 2005 at 01:40:31PM -0400, Jon Smirl wrote:
> > > On 8/21/05, Benoit Boissinot <bboi...@gmail.com> wrote:

> > > [snip]


> > >
> > > Somewhere there is a mistake in the white space processing code of the
> > > firmware driver. Before this patch we had inconsistent handling of
> > > whitespace and sysfs attributes. This patch forces it to be consistent
> > > and will shake out all of the places in the drivers where it is
> > > handled wrong. Sysfs attributes are now stripped of leading and
> > > trailing white space before being handed to the device driver.
> >
> > ok, i found it. If i do echo 1, it will read '1\n', will
> > remove the '\n' and send '1' to ops->store.
> > Then it will re-read '\n' and send '' to ops->store.
> > And it will loop...
>
> Look at the length being passed in, isn't it set to zero for the second case?
>

yes, it is set to zero, but the '\n' will be stripped and stay in the buffer.
Since flush_write_buffer returns 0, ppos will not be incremented and we
have an endless loop.

--
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS

----- End forwarded message -----

--
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS

Benoit Boissinot

unread,
Aug 22, 2005, 3:57:38 PM8/22/05
to Jon Smirl, linux-...@vger.kernel.org, Andrew Morton, Greg KH
On Mon, Aug 22, 2005 at 12:44:01PM -0400, Jon Smirl wrote:
> On 8/22/05, Benoit Boissinot <benoit.b...@ens-lyon.org> wrote:
> > On Sun, Aug 21, 2005 at 06:34:48PM -0400, Jon Smirl wrote:
> > > This should fix it, but I'm not on a machine where I can test it. Can
> > > you give it a try and let me know?
> > >
> >
> > it works ok.
> > But there is still at least one problem: if ops->store returns an error,
> > then there will be a substraction and the write will loop (i could do it
> > with a store wich returned EINVAL and a 22 length string).
> >
> > I don't know if you can put a '\0' at buffer->page[count] if
> > count == PAGE_SIZE.
> >
> > Moreover, i think it is more correct to add only the leading
> > whitespace from the count because if the ops->store doesn't read
> > everything it will do something weird:
> >
> > For example, if we have ' 123 ' and ops->store read only one char,
> > then the function will return 7 (1 leading + 4 trailing + 1 read). For
> > the next call the buffer will be filled only by spaces which is
> > incorrect (it should be '23 ').
>
> The attached version tries to fix these issues. I am still not
> somewhere where I can test, so please check it out.
>

Yes it works fine, thanks.

Benoit Boissinot

John McCutchan

unread,
Aug 22, 2005, 5:10:45 PM8/22/05
to Andrew Morton, Reuben Farrelly, linux-...@vger.kernel.org, Robert Love

Inotify has a check on both add and rm watch syscalls:

/* verify that this is indeed an inotify instance */
if (unlikely(filp->f_op != &inotify_fops)) {
ret = -EINVAL;
goto out;
}

This is crashing in inotify_release, which is called on close of the
inotify instance. So this fd must be from an inotify instance right?

I looked at the dovecot code, it looks fine wrt inotify. Long shot, but
the close-on-exec flag is set. Could this be tripping anything up?

--
John McCutchan <t...@tentacle.dhs.org>

Benoit Boissinot

unread,
Aug 22, 2005, 5:27:04 PM8/22/05
to Jon Smirl, linux-...@vger.kernel.org, Andrew Morton, Greg KH
On Sun, Aug 21, 2005 at 06:34:48PM -0400, Jon Smirl wrote:
> This should fix it, but I'm not on a machine where I can test it. Can
> you give it a try and let me know?
>

it works ok.
But there is still at least one problem: if ops->store returns an error,
then there will be a substraction and the write will loop (i could do it
with a store wich returned EINVAL and a 22 length string).

I don't know if you can put a '\0' at buffer->page[count] if
count == PAGE_SIZE.

Moreover, i think it is more correct to add only the leading
whitespace from the count because if the ops->store doesn't read
everything it will do something weird:

For example, if we have ' 123 ' and ops->store read only one char,
then the function will return 7 (1 leading + 4 trailing + 1 read). For
the next call the buffer will be filled only by spaces which is
incorrect (it should be '23 ').

> diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
> --- a/fs/sysfs/file.c
> +++ b/fs/sysfs/file.c
> @@ -6,6 +6,7 @@
> #include <linux/fsnotify.h>
> #include <linux/kobject.h>
> #include <linux/namei.h>
> +#include <linux/ctype.h>
> #include <asm/uaccess.h>
> #include <asm/semaphore.h>
>
> @@ -207,8 +208,28 @@ flush_write_buffer(struct dentry * dentr
> struct attribute * attr = to_attr(dentry);
> struct kobject * kobj = to_kobj(dentry->d_parent);
> struct sysfs_ops * ops = buffer->ops;
> + int ws_count = count;
> + char *x;
>
> - return ops->store(kobj,attr,buffer->page,count);
> + /* locate trailing white space */
> + while ((count > 0) && isspace(buffer->page[count - 1]))
> + count--;
> +
> + /* locate leading white space */
> + x = buffer->page;
> + if (count > 0) {
> + while (isspace(*x))
> + x++;
> + count -= (x - buffer->page);
> + }
> + /* terminate the string */
> + x[count] = '\0';
what if count == PAGE_SIZE ?
> + ws_count -= count;
> +
> + if (count != 0)
> + count = ops->store(kobj, attr, x, count);
> +
> + return count + ws_count;
return (count < 0) ? count : count + ws_count;


> }
>
>
--
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS

RogérioBrito

unread,
Aug 22, 2005, 5:35:54 PM8/22/05
to Andrew Morton, linux-...@vger.kernel.org, linuxp...@lists.linuxppc.org
On Aug 21 2005, Andrew Morton wrote:
> Rogério Brito <rbr...@ime.usp.br> wrote:
> > Unfortunately, it seems that current kernels (including vanilla -rc
> > kernels) don't compile correctly on ppc if I have APM emulation
> > enabled, but PMU disabled (only CUDA enabled).
> >
> > Here is what I get from a compilation try:
(...)
>
> Could you send the .config please?

Sure. I is attached to this message. Please let me know if I can help
with any other information.


Thanks, Rogério Brito.

--
Rogério Brito : rbr...@ime.usp.br : http://www.ime.usp.br/~rbrito
Homepage of the algorithms package : http://algorithms.berlios.de
Homepage on freshmeat: http://freshmeat.net/projects/algorithms/

config-2.6.13-rc6-mm1-4.ow

Peter Staubach

unread,
Aug 22, 2005, 5:45:54 PM8/22/05
to Eric Dumazet, Andrew Morton, linux-...@vger.kernel.org
Eric Dumazet wrote:

> Andrew Morton a écrit :
>
>> Eric Dumazet <da...@cosmosbay.com> wrote:
>>
>>> Considering :
>>>
>>> [root@dada1 linux-2.6.13-rc6]# find .|xargs grep f_maxcount
>>> ./fs/file_table.c: f->f_maxcount = INT_MAX;
>>> ./fs/read_write.c: if (unlikely(count > file->f_maxcount))
>>> ./include/linux/fs.h: size_t f_maxcount;
>>>
>>>
>>> I was wondering if f_maxcount has a real use these days...
>>
>>
>>
>> No, I guess we can just stick a hard-wired INT_MAX in there.
>>
>>
>
> OK here is a patch doing the hard wiring then :)
>
> * struct file cleanup : f_maxcount has an unique value (INT_MAX). Just
> use the hard-wired value.
>
> Signed-off-by: Eric Dumazet <da...@cosmosbay.com>
>
>------------------------------------------------------------------------
>diff -Nru linux-2.6.13-rc6/fs/read_write.c linux-2.6.13-rc6-ed/fs/read_write.c
>--- linux-2.6.13-rc6/fs/read_write.c 2005-08-07 20:18:56.000000000 +0200
>+++ linux-2.6.13-rc6-ed/fs/read_write.c 2005-08-19 23:51:20.000000000 +0200
>@@ -188,7 +188,7 @@
> struct inode *inode;
> loff_t pos;
>
>- if (unlikely(count > file->f_maxcount))
>+ if (unlikely(count > INT_MAX))
> goto Einval;
> pos = *ppos;
> if (unlikely((pos < 0) || (loff_t) (pos + count) < 0))
>

And depending upon how you feel about read(2) and write(2) returning larger
than can be represented by a ssize_t, you can get rid of this test too and
apply the attached patch to prevent failures occuring in the direct-io
subsystem.

Limiting i/o requests to INT_MAX is starting to seem a little small.

Thanx...

ps

Signed-off-by: Peter Staubach <stau...@redhat.com>

devel

Jesper Juhl

unread,
Aug 22, 2005, 5:57:46 PM8/22/05
to Peter Staubach, Eric Dumazet, Andrew Morton, linux-...@vger.kernel.org
[snip]
> + if (niov)
> + kfree(niov);

Just make this simply
kfree(niov);
kfree() makes the check for NULL itself internally, no need to do it tw
ice.

--
Jesper Juhl <jespe...@gmail.com>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

Andrew Morton

unread,
Aug 22, 2005, 6:56:49 PM8/22/05
to Rogério Brito, linux-...@vger.kernel.org, linuxp...@lists.linuxppc.org
Rogério Brito <rbr...@ime.usp.br> wrote:
>
> Unfortunately, it seems that current kernels (including vanilla -rc
> kernels) don't compile correctly on ppc if I have APM emulation enab
led,
> but PMU disabled (only CUDA enabled).
>
> Here is what I get from a compilation try:
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
> debian:~/kernel/linux# make vmlinux
> CHK include/linux/version.h
> make[1]: `arch/ppc/kernel/asm-offsets.s' is up to date.
> CHK include/linux/compile.h
> CHK usr/initramfs_list
> CC sound/oss/dmasound/dmasound_awacs.o
> sound/oss/dmasound/dmasound_awacs.c:262: warning: 'struct pmu_sleep_
notifier' declared inside parameter list
> sound/oss/dmasound/dmasound_awacs.c:262: warning: its scope is only
this definition or declaration, which is probably not what you want
> sound/oss/dmasound/dmasound_awacs.c:263: error: variable 'awacs_slee
p_notifier' has initializer but incomplete type
> sound/oss/dmasound/dmasound_awacs.c:264: warning: excess elements in
struct initializer
> sound/oss/dmasound/dmasound_awacs.c:264: warning: (near initializati
on for 'awacs_sleep_notifier')
> sound/oss/dmasound/dmasound_awacs.c:264: error: 'SLEEP_LEVEL_SOUND'
undeclared here (not in a function)
> sound/oss/dmasound/dmasound_awacs.c:264: warning: excess elements in
struct initializer
> sound/oss/dmasound/dmasound_awacs.c:264: warning: (near initializati
on for 'awacs_sleep_notifier')
> sound/oss/dmasound/dmasound_awacs.c:1424: error: conflicting types f
or 'awacs_sleep_notify'
> sound/oss/dmasound/dmasound_awacs.c:262: error: previous declaration
of 'awacs_sleep_notify' was here
> sound/oss/dmasound/dmasound_awacs.c: In function 'awacs_sleep_notify
':
> sound/oss/dmasound/dmasound_awacs.c:1428: error: 'PBOOK_SLEEP_NOW' u
ndeclared (first use in this function)

Could you send the .config please?

RogérioBrito

unread,
Aug 22, 2005, 7:11:40 PM8/22/05
to Andrew Morton, linux-...@vger.kernel.org
Hi.

for 'awacs_sleep_notifier')
sound/oss/dmasound/dmasound_awacs.c:1424: error: conflicting types for
'awacs_sleep_notify'
sound/oss/dmasound/dmasound_awacs.c:262: error: previous declaration of
'awacs_sleep_notify' was here
sound/oss/dmasound/dmasound_awacs.c: In function 'awacs_sleep_notify':
sound/oss/dmasound/dmasound_awacs.c:1428: error: 'PBOOK_SLEEP_NOW' unde
clared (first use in this function)

sound/oss/dmasound/dmasound_awacs.c:1428: error: (Each undeclared ident
ifier is reported only once
sound/oss/dmasound/dmasound_awacs.c:1428: error: for each function it a
ppears in.)
sound/oss/dmasound/dmasound_awacs.c:1481: error: 'PBOOK_WAKE' undeclare


d (first use in this function)

sound/oss/dmasound/dmasound_awacs.c:1552: error: 'PBOOK_SLEEP_OK' undec


lared (first use in this function)

sound/oss/dmasound/dmasound_awacs.c: In function 'dmasound_awacs_init':
sound/oss/dmasound/dmasound_awacs.c:3057: warning: implicit declaration
of function 'pmu_register_sleep_notifier'
make[3]: *** [sound/oss/dmasound/dmasound_awacs.o] Error 1
make[2]: *** [sound/oss/dmasound] Error 2
make[1]: *** [sound/oss] Error 2
make: *** [sound] Error 2


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

If I enable CONFIG_ADB_PMU, then it compiles fine. :-(


Thanks in advance for any help, Rogério.

--
Rogério Brito : rbr...@ime.usp.br : http://www.ime.usp.br/~rbrito
Homepage of the algorithms package : http://algorithms.berlios.de
Homepage on freshmeat: http://freshmeat.net/projects/algorithms/

Reuben Farrelly

unread,
Aug 25, 2005, 6:08:48 AM8/25/05
to John McCutchan, Andrew Morton, joha...@sipsolutions.net, linux-...@vger.kernel.org, Robert Love
Hi,

I have also observed another problem with inotify with dovecot - so I spoke
with Johannes Berg who wrote the inotify code in dovecot. He suggested I post
here to LKML since his opinion is that this to be a kernel bug.

The problem I am observing is this, logged by dovecot after a period of time
when a client is connected:

dovecot: Aug 22 14:31:23 Error: IMAP(gilly): inotify_rm_watch() failed:
Invalid argument
dovecot: Aug 22 14:31:23 Error: IMAP(gilly): inotify_rm_watch() failed:
Invalid argument
dovecot: Aug 22 14:31:23 Error: IMAP(gilly): inotify_rm_watch() failed:
Invalid argument

Multiply that by about 1000 ;-)

Some debugging shows this:
dovecot: Aug 25 19:31:22 Warning: IMAP(gilly): removing wd 1019 from inotify fd 4
dovecot: Aug 25 19:31:22 Warning: IMAP(gilly): removing wd 1018 from inotify fd 4
dovecot: Aug 25 19:31:22 Warning: IMAP(gilly): inotify_add_watch returned 1019
dovecot: Aug 25 19:31:22 Warning: IMAP(gilly): inotify_add_watch returned 1020
dovecot: Aug 25 19:31:23 Warning: IMAP(gilly): removing wd 1020 from inotify fd 4
dovecot: Aug 25 19:31:23 Warning: IMAP(gilly): removing wd 1019 from inotify fd 4
dovecot: Aug 25 19:31:24 Warning: IMAP(gilly): inotify_add_watch returned 1020
dovecot: Aug 25 19:31:24 Warning: IMAP(gilly): inotify_add_watch returned 1021
dovecot: Aug 25 19:31:24 Warning: IMAP(gilly): removing wd 1021 from inotify fd 4
dovecot: Aug 25 19:31:24 Warning: IMAP(gilly): removing wd 1020 from inotify fd 4
dovecot: Aug 25 19:31:25 Warning: IMAP(gilly): inotify_add_watch returned 1021
dovecot: Aug 25 19:31:25 Warning: IMAP(gilly): inotify_add_watch returned 1022
dovecot: Aug 25 19:31:25 Warning: IMAP(gilly): removing wd 1022 from inotify fd 4
dovecot: Aug 25 19:31:25 Warning: IMAP(gilly): removing wd 1021 from inotify fd 4
dovecot: Aug 25 19:31:26 Warning: IMAP(gilly): inotify_add_watch returned 1022
dovecot: Aug 25 19:31:26 Warning: IMAP(gilly): inotify_add_watch returned 1023
dovecot: Aug 25 19:31:26 Warning: IMAP(gilly): removing wd 1023 from inotify fd 4
dovecot: Aug 25 19:31:26 Warning: IMAP(gilly): removing wd 1022 from inotify fd 4
dovecot: Aug 25 19:31:27 Warning: IMAP(gilly): inotify_add_watch returned 1023
dovecot: Aug 25 19:31:27 Warning: IMAP(gilly): inotify_add_watch returned 1024
dovecot: Aug 25 19:31:27 Warning: IMAP(gilly): removing wd 1024 from inotify fd 4
dovecot: Aug 25 19:31:27 Error: IMAP(gilly): inotify_rm_watch() failed:
Invalid argument
dovecot: Aug 25 19:31:27 Warning: IMAP(gilly): removing wd 1023 from inotify fd 4
dovecot: Aug 25 19:31:28 Warning: IMAP(gilly): inotify_add_watch returned 1024
dovecot: Aug 25 19:31:28 Warning: IMAP(gilly): inotify_add_watch returned 1024

Note the incrementing wd value even though we are removing them as we go..

This is using latest CVS of dovecot code and with 2.6.12-rc6-mm(1|2) kernel.

Robert, John, what do you think? Is this possibly related to the oops seen
in the log that I reported earlier? (Which is still showing up 2-3 times per
day, btw)

Reuben

John McCutchan

unread,
Aug 25, 2005, 9:34:34 AM8/25/05
to Reuben Farrelly, Andrew Morton, joha...@sipsolutions.net, linux-...@vger.kernel.org, Robert Love
On Thu, 2005-08-25 at 22:07 +1200, Reuben Farrelly wrote:
> Hi,

What kernel are you running? The wd's should ALWAYS be incrementing, you
should never get the same wd as you did before. From your log, you are
getting the same wd (after you inotify_rm_watch it). I can reproduce
this bug on 2.6.13-rc7.

idr_get_new_above

isn't returning something above.

Also, the idr layer seems to be breaking when we pass in 1024. I can
reproduce that on my 2.6.13-rc7 system as well.

> This is using latest CVS of dovecot code and with 2.6.12-rc6-mm(1|2) kernel.
>
> Robert, John, what do you think? Is this possibly related to the oops seen
> in the log that I reported earlier? (Which is still showing up 2-3 times per
> day, btw)

There is definitely something broken here.

--
John McCutchan <t...@tentacle.dhs.org>

John McCutchan

unread,
Aug 25, 2005, 9:48:49 AM8/25/05
to Johannes Berg, Reuben Farrelly, Andrew Morton, linux-...@vger.kernel.org, Robert Love
On Thu, 2005-08-25 at 14:18 +0200, Johannes Berg wrote:
> Hi,
>
> > I have also observed another problem with inotify with dovecot - so I spoke
> > with Johannes Berg who wrote the inotify code in dovecot. He suggested I post
> > here to LKML since his opinion is that this to be a kernel bug.
>
> Allow me to jump in at this point. The small tool below triggers this
> problem for Reuben (confirmed via private mail) but works fine for me on
> 2.6.13-rc6.

On 2.6.13-rc7 the test program fails. It always fails when a wd == 1024.
If I skip inotify_rm_watch when wd == 1024, it will fail at wd == 2048.
It seems the idr layer has an aversion to multiples of 1024.

When I run your test program I get this a lot:

inotify_add_watch returned wd1 5
inotify_add_watch returned wd2 6
inotify_add_watch returned wd1 6
inotify_add_watch returned wd2 7

The pattern of

add_watch wd1 = X
add_watch wd2 = X+1
rm_watch X
rm_watch X+1
add_watch wd1 = X+1
add_watch wd2 = X+2

Should never happen. We tell the idr layer to always give us something
bigger than the last wd we received.

Also, idr_get_new_above doesn't work all the time. Under 2.6.13-rc7, I
added this to inotify.c:359:

if (ret <= dev->last_wd) {
printk(KERN_INFO "idr_get_new_above returned <= dev->last_wd\n");
}

I get that message a lot. I know I have said this before (and was wrong)
but I think the idr layer is busted.

Robert Love

unread,
Aug 25, 2005, 10:00:17 AM8/25/05
to John McCutchan, Johannes Berg, Reuben Farrelly, Andrew Morton, linux-...@vger.kernel.org
On Thu, 2005-08-25 at 09:40 -0400, John McCutchan wrote:

> I get that message a lot. I know I have said this before (and was wrong)
> but I think the idr layer is busted.

This time I think I agree with you. ;-)

Let's just pass zero for the "above" parameter in idr_get_new_above(),
which is I believe the behavior of the other interface, and see if the
1024-multiple problem goes away. We definitely did not have that
before.

If it does, and we don't have another solution, let's run with that for
2.6.13. I don't want this bug released.

Robert Love

John McCutchan

unread,
Aug 25, 2005, 10:03:32 AM8/25/05
to Johannes Berg, Reuben Farrelly, Andrew Morton, linux-...@vger.kernel.org, Robert Love
On Thu, 2005-08-25 at 15:50 +0200, Johannes Berg wrote:
> On Thu, 2005-08-25 at 09:40 -0400, John McCutchan wrote:
>
> > On 2.6.13-rc7 the test program fails. It always fails when a wd == 1024.
> > If I skip inotify_rm_watch when wd == 1024, it will fail at wd == 2048.
> > It seems the idr layer has an aversion to multiples of 1024.
> >
> > When I run your test program I get this a lot:
>
> I forgot to mention this -- but I just get (on -rc6):
>
> inotify_add_watch returned wd1 0
> inotify_add_watch returned wd2 1
> inotify_add_watch returned wd1 0
> inotify_add_watch returned wd2 1
> inotify_add_watch returned wd1 0
> inotify_add_watch returned wd2 1

Yeah, pre -rc7 we were always passing in 0 to idr_get_new_above. With
rc7 we pass in the last wd returned.

--
John McCutchan <t...@tentacle.dhs.org>

John McCutchan

unread,
Aug 25, 2005, 10:06:55 AM8/25/05
to Johannes Berg, Robert Love, Reuben Farrelly, Andrew Morton, linux-...@vger.kernel.org
On Thu, 2005-08-25 at 16:03 +0200, Johannes Berg wrote:

> On Thu, 2005-08-25 at 09:47 -0400, Robert Love wrote:
>
> > Let's just pass zero for the "above" parameter in idr_get_new_above(),
> > which is I believe the behavior of the other interface, and see if the
> > 1024-multiple problem goes away. We definitely did not have that
> > before.
>
> Will we then need to test if it fails for more than 1024 watches?
>
> If I adjust the program to
>
> 1) create /tmp/test/%d
> 2) watch /tmp/test/%d
> 3) repeat
>
> it fails on 2.6.13-rc6 as soon as the device is full and doesn't hold
> any more directories.

Could you send me the new test program?

John McCutchan

unread,
Aug 25, 2005, 10:14:23 AM8/25/05
to Robert Love, Johannes Berg, Reuben Farrelly, Andrew Morton, linux-...@vger.kernel.org
On Thu, 2005-08-25 at 09:47 -0400, Robert Love wrote:
> On Thu, 2005-08-25 at 09:40 -0400, John McCutchan wrote:
>
> > I get that message a lot. I know I have said this before (and was wrong)
> > but I think the idr layer is busted.
>
> This time I think I agree with you. ;-)
>
> Let's just pass zero for the "above" parameter in idr_get_new_above(),
> which is I believe the behavior of the other interface, and see if the
> 1024-multiple problem goes away. We definitely did not have that
> before.
>

I will test this.

> If it does, and we don't have another solution, let's run with that for
> 2.6.13. I don't want this bug released.

I really don't want 2.6.13 to go out with this bug or the compromise. If
we use 0, we will have a lot of wd re-use. Which will cause "strange"
problems in inotify using applications that cleanup upon receipt of an
IN_IGNORE event.

The problem will manifest it self when a program does this:

inotify_add_watch "/x" returns 1
inotify_rm_watch 1
[IN_IGNORE event is queued with wd == 1]
inotify_add_watch "/y" returns 1
application reads events
cleans up data structures associated with wd == 1.

--
John McCutchan <t...@tentacle.dhs.org>

John McCutchan

unread,
Aug 25, 2005, 10:40:19 AM8/25/05
to Johannes Berg, Robert Love, Reuben Farrelly, Andrew Morton, linux-...@vger.kernel.org
On Thu, 2005-08-25 at 16:13 +0200, Johannes Berg wrote:

> On Thu, 2005-08-25 at 10:06 -0400, John McCutchan wrote:
> > > it fails on 2.6.13-rc6 as soon as the device is full and doesn't hold
> > > any more directories.
>
> Obviously this wasn't true, I was hitting the 8192 watches limit and
> misinterpreted the error message. I just tested up to 100000 watches
> with this program.

Thanks. The program runs fine, it climbs up until 8192. This confirmed a
hunch I had. The problem only manifests itself when the lower idr
numbers aren't actually being used. The thread
http://www.redhat.com/archives/dm-devel/2004-July/msg00003.html seems
somewhat related to this problem, but it suggests that this was fixed in
2.6.7.

John McCutchan

unread,
Aug 25, 2005, 11:17:05 AM8/25/05
to Johannes Berg, Robert Love, Reuben Farrelly, Andrew Morton, linux-...@vger.kernel.org
On Thu, 2005-08-25 at 16:41 +0200, Johannes Berg wrote:

> On Thu, 2005-08-25 at 10:13 -0400, John McCutchan wrote:
>
> > I really don't want 2.6.13 to go out with this bug or the compromise. If
> > we use 0, we will have a lot of wd re-use. Which will cause "strange"
> > problems in inotify using applications that cleanup upon receipt of an
> > IN_IGNORE event.
>
> What happens when, given bug-free code that doesn't reuse, you hit the
> 8192 limit with wd, even if they're not all open at the same time? Does
> it still add them, or will inotify give an error? And does the idr layer
> handle something like that gracefully without using lots of memory?
>

The 8192 limit is the total watches in use at one time. If over time,
you use more than 8192 watches but not all at one time you will just
keep getting higher and higher wd's. I'm not 100% sure if idr handles it
gracefully.

> The background is that the process using this is potentially quite
> long-running and keeps opening/closing wds, so 8192 doesn't sound like a
> high barrier, after all Reuben observed hitting the 1024 limit after 15
> minutes or so.

There isn't a 1024 limit, that is a bug in the idr code. He got to that
number by having used 1024 wd's throughout the life of the program.'


FYI, if we pass 0 to idr_get_new_above, both your test programs work
fine. But the first one re-uses wd's (back and forth between 0 & 1).

Robert Love

unread,
Aug 25, 2005, 11:19:09 AM8/25/05
to John McCutchan, geo...@mvista.com, jim.h...@ccur.com, Reuben Farrelly, Andrew Morton, joha...@sipsolutions.net, linux-...@vger.kernel.org

Jim, George-

We are seeing a problem in the idr layer. If we do idr_find(1024) when,
say, a low valued idr, like, zero, is unallocated, NULL is returned.

This readily manifests itself in inotify, where we recently switched to
using idr_get_new_above() with our last allocated token.

Robert Love

George Anzinger

unread,
Aug 25, 2005, 2:54:57 PM8/25/05
to Robert Love, John McCutchan, jim.h...@ccur.com, Reuben Farrelly, Andrew Morton, joha...@sipsolutions.net, linux-...@vger.kernel.org
Robert Love wrote:
> On Thu, 2005-08-25 at 09:33 -0400, John McCutchan wrote:
>
>>On Thu, 2005-08-25 at 22:07 +1200, Reuben Farrelly wrote:
>>
~

I think the best thing is to take idr into user space and emulate the
problem usage. To this end, from the log it appears that you _might_ be
moving between 0, 1 and 2 entries increasing the number each time. It
also appears that the failure happens here:
add 1023
add 1024
find 1024 or is it the remove that fails? It also looks like 1024 got
allocated twice. Am I reading the log correctly?

So, is it correct to assume that the tree is empty save these two at
this time? I am just trying to figure out what the test program needs
to do.

--
George Anzinger geo...@mvista.com
HRT (High-res-timers): http://sourceforge.net/projects/high-res-timers/

John McCutchan

unread,
Aug 25, 2005, 3:04:53 PM8/25/05
to geo...@mvista.com, Robert Love, jim.h...@ccur.com, Reuben Farrelly, Andrew Morton, joha...@sipsolutions.net, linux-...@vger.kernel.org

You are reading the log correctly. There are two bugs. One is that if we
pass X to idr_get_new_above, it can return X again (doesn't ever seem to
return < X). The other problem is that the find fails on 1024 (and 2048
if we skip 1024).

>
> So, is it correct to assume that the tree is empty save these two at
> this time? I am just trying to figure out what the test program needs
> to do.

Yes that is the exact scenario. Only 2 id's are used at any given time,
and once we hit 1024 things break. This doesn't happen when the tree is
not empty.

Thanks for looking at this!
--
John McCutchan <t...@tentacle.dhs.org>

John McCutchan

unread,
Aug 25, 2005, 3:06:26 PM8/25/05
to Johannes Berg, geo...@mvista.com, Robert Love, jim.h...@ccur.com, Reuben Farrelly, Andrew Morton, linux-...@vger.kernel.org
On Thu, 2005-08-25 at 21:03 +0200, Johannes Berg wrote:
> On Thu, 2005-08-25 at 11:54 -0700, George Anzinger wrote:
>
> > I think the best thing is to take idr into user space and emulate the
> > problem usage.
>
> Good plan, I guess. Do you think that's easy?

>
> > To this end, from the log it appears that you _might_ be
> > moving between 0, 1 and 2 entries increasing the number each time. It
> > also appears that the failure happens here:
> > add 1023
> > add 1024
> > find 1024 or is it the remove that fails? It also looks like 1024 got
> > allocated twice. Am I reading the log correctly?
>
> Remove 1024 fails, but add(please make it >1024) seems to return 1024,
> and find(1024) also seems to fail. Well, remove() probably has to
> find(), but I'm not really sure what inotify does (maybe find first, to
> see if it's valid).

Just to clarify, the remove() he is talking about isn't idr_remove, it
is inotify's remove. idr_find() is failing at 1024 which causes
inotify's remove to fail.

George Anzinger

unread,
Aug 25, 2005, 7:11:42 PM8/25/05
to John McCutchan, Robert Love, jim.h...@ccur.com, Reuben Farrelly, Andrew Morton, joha...@sipsolutions.net, linux-...@vger.kernel.org
John McCutchan wrote:
> On Thu, 2005-08-25 at 11:54 -0700, George Anzinger wrote:
>
>>Robert Love wrote:
>>
>>>On Thu, 2005-08-25 at 09:33 -0400, John McCutchan wrote:
>>>
>>>
>>>>On Thu, 2005-08-25 at 22:07 +1200, Reuben Farrelly wrote:
~
>>I think the best thing is to take idr into user space and emulate the
>>problem usage. To this end, from the log it appears that you _might_ be
>>moving between 0, 1 and 2 entries increasing the number each time. It
>>also appears that the failure happens here:
>>add 1023
>>add 1024
>>find 1024 or is it the remove that fails? It also looks like 1024 got
>>allocated twice. Am I reading the log correctly?
>
>
> You are reading the log correctly. There are two bugs. One is that if we
> pass X to idr_get_new_above, it can return X again (doesn't ever seem to
> return < X). The other problem is that the find fails on 1024 (and 2048
> if we skip 1024).

That IS strange. 1024 is on a "level" boundry, but then next level is
2**15, not 2**11. I will take a look.

>
>
>>So, is it correct to assume that the tree is empty save these two at
>>this time? I am just trying to figure out what the test program needs
>>to do.
>
>
> Yes that is the exact scenario. Only 2 id's are used at any given time,
> and once we hit 1024 things break. This doesn't happen when the tree is
> not empty.
>
> Thanks for looking at this!

--

Jim Houston

unread,
Aug 26, 2005, 1:05:04 PM8/26/05
to John McCutchan, linux-...@vger.kernel.org, geo...@mvista.com, r...@novell.com, ak...@osdl.org, joha...@sipsolutions.net
Hi Everyone,

I'm answering this from my home email. I have not heard from my
co-workers in Florida yet, and I imagine that they are busy cleaning up
after hurricane Katrina and waiting for the power to come back on.

It looks like we have an "off by one" problem with idr_get_new_above()
which may be part of the inotify problem. I'm not sure if the problem
is the behavior or the name & comments. The start_id parameter is the
starting point for the idr allocation search, and if it is available, it
will be allocated. If you pass in the last id allocated as the start_id
and it has already been freed (by an idr_remove call), it will be
allocated again. The obvious fix would be to increment start_id
in idr_get_new_above().

I would be glad to spend some time looking at the inotify problem
assuming that fixing the off-by-one problem above doesn't solve
it. I have not used inotify and would need pointers to the user
space header files and library.

Jim

John McCutchan

unread,
Aug 26, 2005, 1:53:20 PM8/26/05
to jim.h...@comcast.net, linux-...@vger.kernel.org, geo...@mvista.com, r...@novell.com, ak...@osdl.org, joha...@sipsolutions.net
On Fri, 2005-08-26 at 13:03 -0400, Jim Houston wrote:
> Hi Everyone,
>
> I'm answering this from my home email. I have not heard from my
> co-workers in Florida yet, and I imagine that they are busy cleaning up
> after hurricane Katrina and waiting for the power to come back on.
>
> It looks like we have an "off by one" problem with idr_get_new_above()
> which may be part of the inotify problem. I'm not sure if the problem
> is the behavior or the name & comments. The start_id parameter is the
> starting point for the idr allocation search, and if it is available, it
> will be allocated. If you pass in the last id allocated as the start_id
> and it has already been freed (by an idr_remove call), it will be
> allocated again. The obvious fix would be to increment start_id
> in idr_get_new_above().

Thanks for your suggestion, it has fixed the inotify problem. But where
to put the fix is turning into a bit of a mess. Some callers like
drivers/md/dm.c:682 call idr_get_new_above as if it will return >=
starting_id. The comment says that it will return > starting_id, and the
function name leads people to believe the same thing. In the patch below
I change inotify do add one to the value was pass into idr. I also
change the comment to more accurately reflect what the function does.
The function name doesn't fit, but it never did.

Signed-off-by: John McCutchan <t...@tentacle.dhs.org>

Index: linux/fs/inotify.c
===================================================================
--- linux.orig/fs/inotify.c 2005-08-26 13:38:29.000000000 -0400
+++ linux/fs/inotify.c 2005-08-26 13:38:55.000000000 -0400
@@ -353,7 +353,7 @@
do {
if (unlikely(!idr_pre_get(&dev->idr, GFP_KERNEL)))
return -ENOSPC;
- ret = idr_get_new_above(&dev->idr, watch, dev->last_wd, &watch->wd);
+ ret = idr_get_new_above(&dev->idr, watch, dev->last_wd+1, &watch->wd);
} while (ret == -EAGAIN);

return ret;
Index: linux/lib/idr.c
===================================================================
--- linux.orig/lib/idr.c 2005-08-26 13:38:22.000000000 -0400
+++ linux/lib/idr.c 2005-08-26 13:39:08.000000000 -0400
@@ -207,7 +207,7 @@
}

/**
- * idr_get_new_above - allocate new idr entry above a start id
+ * idr_get_new_above - allocate new idr entry above or equal to a start id
* @idp: idr handle
* @ptr: pointer you want associated with the ide
* @start_id: id to start search at

Robert Love

unread,
Aug 26, 2005, 1:57:11 PM8/26/05
to John McCutchan, jim.h...@comcast.net, linux-...@vger.kernel.org, geo...@mvista.com, ak...@osdl.org, joha...@sipsolutions.net
On Fri, 2005-08-26 at 13:52 -0400, John McCutchan wrote:

> Thanks for your suggestion, it has fixed the inotify problem. But where
> to put the fix is turning into a bit of a mess. Some callers like
> drivers/md/dm.c:682 call idr_get_new_above as if it will return >=
> starting_id. The comment says that it will return > starting_id, and the
> function name leads people to believe the same thing. In the patch below
> I change inotify do add one to the value was pass into idr. I also
> change the comment to more accurately reflect what the function does.
> The function name doesn't fit, but it never did.
>
> Signed-off-by: John McCutchan <t...@tentacle.dhs.org>

Signed-off-by: Robert Love <r...@novell.com>

Keeping the current behavior is probably the best way to go.

Robert Love

racitup

unread,
Sep 15, 2005, 8:19:05 PM9/15/05
to
Guys,

Did this problem get resolved? I have the same problem, the message:

Sep 16 01:01:03 egg kernel: Device not ready. Make sure there is a disc
in the drive.
Sep 16 01:01:34 egg last message repeated 15 times

is consistently being logged over and over.

It does stop if I insert a disc in the offending scsi CDRW drive:
Host: scsi1 Channel: 00 Id: 04 Lun: 00
Vendor: YAMAHA Model: CRW6416S Rev: 1.0d
Type: CD-ROM ANSI SCSI revision: 02
But then starts back up again when I eject the disc.

FYI:
[root@egg tmscsim]# uname -a
Linux egg.racitup.com 2.6.11-1.1369_FC4 #1 Thu Jun 2 22:55:56 EDT 2005
i686 athlon i386 GNU/Linux

Let me know if a new kernel will fix it! :)

Richard Case

Andrew Morton wrote:
> Reuben Farrelly <reube...@reub.net> wrote:
> >

> > >> Aug 20 12:26:10 tornado kernel: Device not ready.
> > >>
> > >> 2. That message on the third line of the trace above: "kernel: Device not
> > >> ready." is being logged every few mins or so, I believe it is my SCSI CDROM
> > >> that is causing it. It also logs something similar after the SCSI driver has
> > >> probed the device on boot:
> > >>
> > >> Aug 20 12:24:36 tornado kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA
> > >> DRIVER, Rev 7.0
> > >> Aug 20 12:24:36 tornado kernel: <Adaptec 2940 Ultra SCSI adapter>
> > >> Aug 20 12:24:36 tornado kernel: aic7880: Ultra Wide Channel A, SCSI
> > >> Id=7, 16/253 SCBs
> > >> Aug 20 12:24:36 tornado kernel:
> > >> Aug 20 12:24:36 tornado kernel: Vendor: SONY Model: CD-RW CRX145S
> > >> Rev: 1.0b
> > >> Aug 20 12:24:36 tornado kernel: Type: CD-ROM
> > >> ANSI SCSI revision: 04
> > >> Aug 20 12:24:36 tornado kernel: target0:0:6: Beginning Domain Validation
> > >> Aug 20 12:24:36 tornado kernel: target0:0:6: Domain Validation skipping write
> > >> tests
> > >> Aug 20 12:24:36 tornado kernel: target0:0:6: FAST-10 SCSI 10.0 MB/s ST (100
> > >> ns, offset 15)
> > >> Aug 20 12:24:36 tornado kernel: target0:0:6: Ending Domain Validation
> > >> Aug 20 12:24:36 tornado kernel: Device not ready.
> > >>
> > >> This has been a problem for quite a few weeks now, albeit I believe, only a
> > >> cosmetic one.
> > >
> > > Is some application trying to poll the device?
> >
> > I wonder if hald knows something about this and is polling.. however that
> > message above about "Device not ready" occurs when the kernel is booting,
> > before any userspace stuff has started up. Maybe hald is just being a bit
> > aggressive in re-probing the drive after userspace launches. B all accounts
> > after a week of uptime the drive certainly ought to be ready, it seems to work
> > ok ;-)
> >
> > Note the extra space after 'Device' and 'not' which implies possibly some text
> > is missing (which would have made it more clear which device is not exactly
> > ready). The case sensitive strings "Device" and "not ready" appears together
> > in scsi_lib.c and very few other places.
>
> OK, it'll be this:
>
> case NOT_READY:
> /*
> * If the device is in the process of becoming ready,
> * retry.
> */
> if (sshdr.asc == 0x04 && sshdr.ascq == 0x01) {
> scsi_requeue_command(q, cmd);
> return;
> }
> printk(KERN_INFO "Device %s not ready.\n",
> req->rq_disk ? req->rq_disk->disk_name : "");
>
> Where the disk name is evaluating to an empty string.
>
> Maybe you could stick a dump_stack() in there, get some additional info.
>
> Anyway, over to you, James ;)
>
> > > Is the device actually "not ready", or is it in reality ready and working?
> > > ie: what happens if you stick a CD in it?
> >
> > The CD can be read, and the error messages go away. They stay away even after
> > the CD has been ejected.

Message has been deleted
0 new messages