* mmotm 2009-11-24-16-47 uploaded
@ 2009-11-25 0:47 akpm
2009-11-25 15:12 ` BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby
` (3 more replies)
0 siblings, 4 replies; 31+ messages in thread
From: akpm @ 2009-11-25 0:47 UTC (permalink / raw)
To: mm-commits, linux-kernel
The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to
http://userweb.kernel.org/~akpm/mmotm/
and will soon be available at
git://git.zen-sources.org/zen/mmotm.git
It contains the following patches against 2.6.32-rc8:
origin.patch
drivers-media-dvb-dvb-core-dvb_frontendc-needs-semaphoreh.patch
acerhdf-return-temperature-in-milidegree-instead-of-degree.patch
thinkpad-acpi-fix-detection-of-old-thinkpads.patch
drivers-rtc-rtc-pcf50633c-fix-use-after-free-in-pcf50633_rtc_probe.patch
davinci-fb-fix-frame-buffer-driver-issues.patch
fbdev-migrate-mailing-lists-to-vger.patch
kbuild-stepping-down-as-maintainer.patch
thinkpad-acpi-fix-sign-of-erestartsys-return.patch
nommu-ignore-the-address-parameter-in-the-file_mmap-security-check.patch
linux-next.patch
linux-next-fixup.patch
next-remove-localversion.patch
i-need-old-gcc.patch
recordmcount-stfu.patch
include-linux-compiler-gcc4h-gcc-402-doesnt-understand-__builtin_object_size.patch
hardware-latency-detector-remove-default-m.patch
sysfs-fix-sysfs_deprecated_v2-prompt.patch
aoe-prevent-cache-aliases.patch
dma-debug-allow-dma_bidirectional-mappings-to-be-synced-with-dma_from_device-and.patch
drivers-gpu-drm-i915-i915_dmac-fix-unused-var.patch
drm-make-sure-page-protections-are-updated-after-changing-vm_flags.patch
drm-radeon-kms-fix-oops-when-set_base-is-call-with-no-fb.patch
v4l-dvb-mxl5007tc-fix-test-in-copy_reg_bits.patch
x86-_end-symbol-missing-from-symbolmap.patch
scsi_libc-avoid-calling-scsi_device_put-from-under-host_lock.patch
scsi-fix-crash-when-disconnecting-usb-storage.patch
scsi-fix-another-crash-at-disconnect-of-usb-strorage.patch
enclosure-fix-oops-while-iterating-enclosure_status-array.patch
hrtimers-remove-the-timer_stats_active-check-when-setting-the-start-info.patch
itimers-fix-racy-writes-to-cpu_itimer-fields.patch
posix-cpu-timers-optimize-and-document-timer_create-callback.patch
emi62-fix-crash-when-trying-to-load-emi-62-firmware.patch
mm-make-totalhigh_pages-unsigned-long.patch
kernel-core-add-smp_call_function_any.patch
arch-x86-kernel-cpu-cpufreq-acpi-cpufreqc-avoid-cross-cpu-interrupts-by-using-smp_call_function_any.patch
dell_laptop-when-the-hardware-switch-is-disabled-dont-actually-allow-changing-the-softblock-status.patch
fujitsu-laptop-fix-tests-of-acpi_evaluate_integer-return.patch
acpi-remove-nid_inval.patch
acpi-thermal-display-forced-passive-trip-points-in-proc.patch
thermal-only-set-passive_delay-for-forced_passive-cooling.patch
thermal-disable-polling-if-passive_delay-and-polling_delay-are-both-unset.patch
acerhdf-added-new-bios-versions.patch
drivers-acpi-acpi_padc-squish-warning.patch
cmpc_acpi-add-support-for-classmate-pc-acpi-devices.patch
cmpc_acpi-add-support-for-classmate-pc-acpi-devices-checkpatch-fixes.patch
acpi-reintroduce-acpi_device_ops-shutdown-method.patch
x86-optimize-hweight32.patch
omap-return-ptr_err-rather-than-is_err.patch
avr32-convert-to-asm-generic-hardirqh.patch
powerpc-sky-cpu-redundant-or-incorrect-tests-on-unsigned.patch
mm-add-notifier-in-pageblock-isolation-for-balloon-drivers.patch
powerpc-make-the-cmm-memory-hotplug-aware.patch
powerpc-make-the-cmm-memory-hotplug-aware-update.patch
drivers-gpu-drm-radeon-radeon_combiosc-fix-warning.patch
drm-via-add-pci-id-for-via-vx800-chipset.patch
konicawcc-possible-buffer-overflow-while-use-strncat.patch
quickcam_messengerc-possible-buffer-overflow-while-use-strncat.patch
drivers-media-video-move-dereference-after-null-test.patch
sms-cards-make-id-unsigned-in-sms_get_board.patch
dvb-make-struct-videobuf_queue_ops-constant.patch
drivers-media-video-introduce-missing-kfree.patch
proc_fops-convert-av7110.patch
proc_fops-convert-cpia.patch
genirq-switch-proc-irq-spurious-to-seq_file.patch
timer-stats-fix-del_timer_sync-and-try_to_del_timer_sync.patch
clockeventsc-fix-symbol-was-not-declared-noise.patch
posix-cpu-timers-reset-expire-cache-when-no-timer-is-running.patch
hrtimer-correct-a-few-numbers-in-comments.patch
clockevents-ensure-taht-min_delta_ns-is-increased-in-error-path.patch
ia64-fix-sba-iommu-to-handle-allocation-failure-properly.patch
ipath-use-bitmap_weight.patch
input-bcm5974-retract-efi-broken-suspend_resume.patch
input-bcm5974-report-abs_mt-events.patch
kbuild-generate-modulesbuiltin.patch
kbuild-rebuild-fix-for-makefilemodbuiltin.patch
kbuild-generate-modulesbuiltin-fix-2.patch
kbuild-generate-modulesbuiltin-fix-2-checkpatch-fixes.patch
kconfig-cross_compile-option.patch
kbuild-clean-up-marker.patch
kbuild-clear-marker-out-of-modpost.patch
kbuild-genksyms-properly-consider-export_unused_symbol_gpl.patch
drivers-leds-leds-ss4200c-fix-return-statement.patch
twl4030-fix-warning.patch
mtd-nand-davinci-correct-4-bit-error-correction.patch
mtd-error-return-eio-instead-of-eio.patch
mtd-nand-fix-multi-chip-suspend-problem.patch
mtd-nand-fix-multi-chip-suspend-problem-fix.patch
jffs2-fix-memory-corruption-in-jffs2_read_inode_range.patch
jffs2-fix-min-max-confusion.patch
ntfs-use-bitmap_weight.patch
3x59x-fix-pci-resource-management.patch
bluetooth-fix-for-acer-bluetooth-optical-rechargeable-mouse.patch
sunrpc-use-formatting-of-module-name-in-sunrpc.patch
serial-fit-blackfin-uart-over-sport-driver-into-common-uart-infrastructure.patch
serial-copy-uart-properties-of-upf_fixed_type-ports-provisioned-using-early_serial_setup.patch
drivers-serial-remove-baud_table_size-macro.patch
serial_cs-oxsemi-quirk-breaks-resume.patch
atmel_serial-add-poll_get_char-and-poll_put_char-uart_ops.patch
8250-add-serial-transmitter-fully-empty-test.patch
imx-bit-confusion.patch
pci-dmar-add-__init-annotation-to-dmar_ir_support.patch
scsi-add-__init-__exit-macros-to-ibmvstgtc.patch
drivers-scsi-fnic-fnic_scsic-clean-up.patch
ibmmca-buffer-overflow.patch
scsi-eata-fix-buffer-overflow.patch
drivers-scsi-gdthc-fix-buffer-overflow.patch
drivers-scsi-u14-34fc-fix-uffer-overflow.patch
drivers-scsi-lpfc-lpfc_vportc-fix-read-buffer-overflow.patch
osst-fix-read-buffer-overflow.patch
scsi-fix-func-names-in-kernel-doc.patch
gdth-unmap-ccb_phys-when-scsi_add_host-fails-in-gdth_eisa_probe_one.patch
zfcp-test-kmalloc-failure-in-scsi_get_vpd_page.patch
st-fix-test-of-value-range-in-st_set_options.patch
drivers-scsi-libsas-use-sam_good.patch
ncr5380-bit-mr_dma_mode-set-twice-in-ncr5380_transfer_dma.patch
drivers-scsi-remove-unnecessary-null-test.patch
scsi-add-hpsa-driver-for-hp-smart-array-controllers.patch
drivers-message-move-dereference-after-null-test.patch
scsi-pmcraid-redundant-check-in-pmcraid_check_ioctl_buffer.patch
drivers-block-dac960c-use-dac960_v2_controller.patch
r8192u_core-test-for-negative-error-in-rtl8192_rx_isr.patch
fix-section-mismatch-in-early-ehci-dbgp.patch
drivers-usb-host-xhci-memc-introduce-missing-kfree.patch
drivers-usb-host-ehci-omapc-introduce-missing-kfree.patch
drivers-usb-wusbcore-introduce-missing-usb_free_urb.patch
wusb-use-sizeof-struct-rather-than-pointer.patch
usb-ftdi_sio-fix-error-message-on-close.patch
usb-ftdi_sio-remove-obsolete-comment.patch
vfs-fix-vfs_rename_dir-for-fs_rename_does_d_move-filesystems.patch
raw-fix-rawctl-compat-ioctls-breakage-on-amd64-and-itanic.patch
vfs-improve-comment-describing-fget_light.patch
ecryptfs-another-lockdep-issue.patch
fs-anon_inodes-implement-dname.patch
fs-remove-unneeded-dcache_unhashed-tricks.patch
fs-improve-remountro-vs-buffercache-coherency.patch
vfs-make-real_lookup-do-dentry-revalidation-with-i_mutex-held.patch
vfs-clean-up-real_lookup.patch
vfs-remove-extraneous-null-d_inode-check-from-do_filp_open.patch
xtensa-use-generic-sys_pipe.patch
xtensa-convert-to-asm-generic-hardirqh.patch
xtensa-includecheck-fix-vectorss.patch
percpu-avoid-calling-__pcpu_ptr_to_addrnull.patch
mm-includecheck-fix-slqb.patch
mm.patch
oom-dump-stack-and-vm-state-when-oom-killer-panics.patch
readahead-add-blk_run_backing_dev.patch
mm-warn-once-when-a-page-is-freed-with-pg_mlocked-set.patch
page-types-constify-read-only-arrays.patch
page-types-unsigned-cannot-be-less-than-0-in-add_page.patch
page-types-learn-to-describe-flags-directly-from-command-line.patch
page-types-whitespace-alignment.patch
page-types-exit-early-when-invoked-with-d-describe.patch
mmap-dont-return-enomem-when-mapcount-is-temporarily-exceeded-in-munmap.patch
mmap-dont-return-enomem-when-mapcount-is-temporarily-exceeded-in-munmap-checkpatch-fixes.patch
mm-vsmcan-check-shrink_active_list-sc-isolate_pages-return-value.patch
dev-mem-remove-redundant-test-on-len.patch
dev-mem-introduce-size_inside_page.patch
dev-mem-cleanup-unxlate_dev_mem_ptr-calls.patch
dev-mem-cleanup-unxlate_dev_mem_ptr-calls-fix.patch
dev-mem-cleanup-unxlate_dev_mem_ptr-calls-fix-fix.patch
dev-mem-make-size_inside_page-logic-straight.patch
dev-mem-remove-the-written-variable-in-write_kmem.patch
dev-mem-remove-the-written-variable-in-write_kmem-fix.patch
dev-mem-remove-redundant-parameter-from-do_write_kmem.patch
mm-move-inc_zone_page_statenr_isolated-to-just-isolated-place.patch
nodemask-make-nodemask_alloc-more-general.patch
hugetlb-rework-hstate_next_node_-functions.patch
hugetlb-add-nodemask-arg-to-huge-page-alloc-free-and-surplus-adjust-functions.patch
hugetlb-add-nodemask-arg-to-huge-page-alloc-free-and-surplus-adjust-functions-fix.patch
hugetlb-factor-init_nodemask_of_node.patch
hugetlb-derive-huge-pages-nodes-allowed-from-task-mempolicy.patch
hugetlb-add-generic-definition-of-numa_no_node.patch
hugetlb-add-per-node-hstate-attributes.patch
hugetlb-update-hugetlb-documentation-for-numa-controls.patch
hugetlb-use-only-nodes-with-memory-for-huge-pages.patch
mm-clear-node-in-n_high_memory-and-stop-kswapd-when-all-memory-is-offlined.patch
hugetlb-handle-memory-hot-plug-events.patch
hugetlb-offload-per-node-attribute-registrations.patch
hugetlb-offload-per-node-attribute-registrations-fix.patch
mm-add-gfp-flags-for-nodemask_alloc-slab-allocations.patch
vmalloc-adjust-gfp-mask-passed-on-nested-vmalloc-invocation.patch
swap_info-private-to-swapfilec.patch
swap_info-change-to-array-of-pointers.patch
swap_info-include-first_swap_extent.patch
swap_info-include-first_swap_extent-fix.patch
swap_info-include-first_swap_extent-fix-fix.patch
swap_info-miscellaneous-minor-cleanups.patch
swap_info-swap_has_cache-cleanups.patch
swap_info-swap_map-of-chars-not-shorts.patch
swap_info-swap-count-continuations.patch
swap_info-note-swap_map_shmem.patch
swap_info-reorder-its-fields.patch
mm-vmscan-change-comment-generic_file_write-to-__generic_file_aio_write.patch
rmap-fix-the-comment-for-try_to_unmap_anon.patch
rmap-simplify-try_to_unmap_file.patch
rmap-move-the-out-to-a-more-proper-place.patch
oom_kill-use-rss-value-instead-of-vm-size-for-badness.patch
oom-kill-show-virtual-size-and-rss-information-of-the-killed-process.patch
oom-kill-show-virtual-size-and-rss-information-of-the-killed-process-fix.patch
oom-kill-fix-numa-consraint-check-with-nodemask-v42.patch
oom-kill-fix-numa-consraint-check-with-nodemask-v42-checkpatch-fixes.patch
page-allocator-wait-on-both-sync-and-async-congestion-after-direct-reclaim.patch
vmscan-have-kswapd-sleep-for-a-short-interval-and-double-check-it-should-be-asleep.patch
vmscan-stop-kswapd-waiting-on-congestion-when-the-min-watermark-is-not-being-met-v2.patch
vmscan-have-kswapd-sleep-for-a-short-interval-and-double-check-it-should-be-asleep-fix-1.patch
mm-define-page_mapping_flags.patch
mm-mlocking-in-try_to_unmap_one.patch
mm-mlocking-in-try_to_unmap_one-fix.patch
mm-mlocking-in-try_to_unmap_one-fix-fix.patch
mm-config_mmu-for-pg_mlocked.patch
mm-pass-address-down-to-rmap-ones.patch
mm-stop-ptlock-enlarging-struct-page.patch
mm-sigbus-instead-of-abusing-oom.patch
mm-add-numa-node-symlink-for-memory-section-in-sysfs.patch
mm-refactor-register_cpu_under_node.patch
mm-refactor-unregister_cpu_under_node.patch
mm-add-numa-node-symlink-for-cpu-devices-in-sysfs.patch
documentation-abi-sys-devices-system-cpu-cpu-node.patch
vmscan-separate-scswap_cluster_max-and-scnr_max_reclaim.patch
vmscan-kill-hibernation-specific-reclaim-logic-and-unify-it.patch
vmscan-zone_reclaim-dont-use-insane-swap_cluster_max.patch
vmscan-kill-scswap_cluster_max.patch
vmscan-make-consistent-of-reclaim-bale-out-between-do_try_to_free_page-and-shrink_zone.patch
ksm-three-remove_rmap_item_from_tree-cleanups.patch
ksm-remove-redundancies-when-merging-page.patch
ksm-cleanup-some-function-arguments.patch
ksm-singly-linked-rmap_list.patch
ksm-separate-stable_node.patch
ksm-stable_node-point-to-page-and-back.patch
ksm-fix-mlockfreed-to-munlocked.patch
ksm-let-shared-pages-be-swappable.patch
ksm-hold-anon_vma-in-rmap_item.patch
ksm-take-keyhole-reference-to-page.patch
ksm-share-anon-page-without-allocating.patch
ksm-mem-cgroup-charge-swapin-copy.patch
ksm-rmap_walk-to-remove_migation_ptes.patch
ksm-memory-hotremove-migration-only.patch
ksm-remove-unswappable-max_kernel_pages.patch
mm-memory_hotplug-make-offline_pages-static.patch
hugetlb-prevent-deadlock-in-__unmap_hugepage_range-when-alloc_huge_page-fails-2.patch
mm-fix-section-mismatch-in-memory_hotplugc.patch
mm-simplify-try_to_unmap_one.patch
mm-simplify-try_to_unmap_one-fix.patch
mm-slab-allocate-memory-section-nodemask-for-large-systems.patch
mm-bootmemc-properly-__init-annotate-helper-functions.patch
writeback-fix-missing-kernel-doc-notation.patch
security-min_addrc-make-init_mmap_min_addr-static.patch
frv-duplicate-output_buffer-of-e03.patch
frv-duplicate-output_buffer-of-e03-checkpatch-fixes.patch
nommu-fix-malloc-performance-by-adding-uninitialized-flag.patch
procfs-use-proper-units-for-nommu-statm.patch
procfs-use-proper-units-for-nommu-statm-fix.patch
procfs-allow-threads-to-rename-siblings-via-proc-pid-tasks-tid-comm.patch
procfs-allow-threads-to-rename-siblings-via-proc-pid-tasks-tid-comm-cleanup.patch
procfs-allow-threads-to-rename-siblings-via-proc-pid-tasks-tid-comm-doc.patch
const-constify-remaining-dev_pm_ops.patch
pm-fix-kernel-doc-notation.patch
drivers-cpuidle-move-dereference-after-null-test.patch
cris-convert-to-use-arch_gettimeoffset.patch
cryptocop-fix-assertion-in-create_output_descriptors.patch
floppy-add-an-extra-bound-check-on-ioctl-arguments.patch
floppy-add-an-extra-bound-check-on-ioctl-arguments-fix.patch
uml-irq-register-race-condition.patch
timecompare-fix-half-y2k38-problem-in-timecompare_update-while-calculating-offset.patch
warn_once-use-bool-for-boolean-flag.patch
dynamic_debugh-kernelh-remove-kbuild_modname-from-dynamic_pr_debug.patch
ad525x_dpot-new-driver-for-ad525x-digital-potentiometers.patch
generic-ipi-cleanup-for-generic_smp_call_function_interrupt.patch
drivers-misc-add-driver-for-texas-instruments-dac7512.patch
drivers-misc-add-driver-for-texas-instruments-dac7512-update.patch
init-mainc-fix-symbol-shadows-noise.patch
kernelh-remove-initialization-of-bool-in-printk_once.patch
rwsem-spinlock-remove-useless-function-exports.patch
rwsem-fix-rwsem_is_locked-bugs.patch
rwsem-fix-rwsem_is_locked-bugs-fix.patch
kallsyms-remove-deprecated-print_fn_descriptor_symbol.patch
kernel-sysc-fix-warning-do-while-statement-is-not-a-compound-statement-noise.patch
misc-remove-mac-pmu-function-declaration-from-misc-device-class.patch
kernel-sysc-implement-prctlpr_get_endian-for-all-architectures.patch
kernelh-add-printk_ratelimited-and-pr_level_rl.patch
kernelh-add-printk_ratelimited-and-pr_level_rl-checkpatch-fixes.patch
kernelh-add-printk_ratelimited-and-pr_level_rl-rename.patch
make-debug_bugverbose-default-to-y.patch
gitignore-add-bzip2-compressed-files.patch
errh-add-helper-function-to-simplify-pointer-error-checking.patch
errh-add-helper-function-to-simplify-pointer-error-checking-fix.patch
drivers-char-miscc-clear-allocation-bit-in-minor-bitmap-when-device-register-fails.patch
drivers-char-miscc-use-bitmap-bitops-functions-for-dynamic-minor-number-allocation.patch
drivers-char-miscc-use-a-proper-range-for-minor-number-dynamic-allocation.patch
cs5535-gpio-add-amd-cs5535-cs5536-gpio-driver-support.patch
cs5535-gpio-request-function-mask-names-added.patch
alsa-cs5535audio-free-olpc-quirks-from-reliance-on-mgeode_lx-cpu-optimization.patch
cs5535-add-a-generic-mfgpt-driver.patch
cs5535-add-a-generic-clock-event-mfgpt-driver.patch
cs5535-move-the-divil-msr-definition-into-linux-cs5535h.patch
cs5535-move-vsa2-checks-into-linux-cs5535h.patch
cs5535-define-lxfb-gxfb-msrs-in-linux-cs5535h.patch
cs5535-drop-the-geode-specific-mfgpt-gpio-code.patch
vt-introduce-and-use-vt_kmsg_redirect-function.patch
always-print-panic-message-on-current-console.patch
scripts-get_maintainerpl-add-roles-and-rolestats.patch
scripts-get_maintainerpl-fix-non-with-git-blame-and-cleanups.patch
scripts-get_maintainerpl-support-multiple-vcss-add-mercurial.patch
maintainers-mark-cifs-mailing-list-as-moderated-for-non-subscribers.patch
lib-vsprintfc-add-%pu-to-print-uuid-guids.patch
fs-xfs-xfs_log_recoverc-use-%pu-to-print-uuids.patch
randomc-use-%pu-to-print-uuids.patch
drivers-firmware-dmi_scanc-use-%pub-to-print-uuids.patch
drivers-md-mdc-use-%pu-to-print-uuids.patch
fs-gfs2-sysc-use-%pub-to-print-uuids.patch
fs-ubifs-use-%pub-to-print-uuids.patch
efih-use-%pul-to-print-uuids.patch
lib-introduce-strim.patch
compat_ioctl-remove-vt-specific-ioctl-handlers.patch
compat_ioctl-do-not-hold-bkl-in-handlers.patch
firmware-only-allow-edd-on-x86.patch
mxcmmc-fix-error-path-in-mxcmci_probe.patch
sdio-rework-cis-tuple-parsing.patch
drivers-mmc-move-dereference-after-null-test.patch
msm_sdccc-add-missing-include-fix-compilation.patch
msm_sdccc-add-missing-include-fix-compilation-checkpatch-fixes.patch
davinci-mmc-mmc-sd-controller-driver-for-davinci-family.patch
davinci-mmc-modify-data-types-of-edma-related-variables.patch
davinci-mmc-add-cpufreq-support.patch
mmci-omap-remove-bogus-check-for-host-iclk.patch
sdhci-add-support-for-the-syskonnect-cardbus2sdio-adapter.patch
s3cmci-convert-missed-s3c2410_gpio-calls-to-gpiolib-calls.patch
mmc-add-module-parameter-to-set-whether-cards-are-assumed-removable.patch
atmel-mci-change-use-of-dma-slave-interface.patch
mmc-atmel-mci-new-mci2-module-support-in-atmel-mci-driver.patch
sdio-recognize-io-card-without-powercycle.patch
scripts-checkpatchpl-add-warn-on-sizeof.patch
checkpatch-trivial-fix-for-trailing-statements-check.patch
checkpatchpl-allow-80-char-lines-for-logging-functions-not-just-printk.patch
checkpatch-fix-false-positive-on-__initconst.patch
crc32-minor-optimizations-and-cleanup.patch
crc32-minor-optimizations-and-cleanup-checkpatch-fixes.patch
hwmon-driver-for-texas-instruments-amc6821-chip.patch
lis3lv02d-axis-remap-and-resource-setup-release.patch
lis3lv02d-i2c-support.patch
hwmon-w83627ehf-updates.patch
hwmon-w83627ehf-updates-checkpatch-fixes.patch
lis3lv02d-send-sync-event.patch
lis3lv02d-correct-memory-leak-in-module-unload.patch
lis3-update-documentation-and-comments.patch
lis3-fix-show-rate-for-8-bits-chips.patch
lis3lv02d-proper-power-on-sequence.patch
proc-rename-de_get-to-pde_get-and-inline-it.patch
binfmt-introduce-coredump-parameter-structure.patch
binfmt-pass-mm-flags-as-a-coredump-parameter-for-consistency.patch
atmel_spi-fix-dma-addr-calculation-for-len-buffer_size.patch
spi-controller-driver-for-designware-spi-core.patch
spi-add-pci-interface-driver-for-designware-spi-core.patch
spi-add-pci-interface-driver-for-designware-spi-core-fix.patch
spi-controller-driver-for-designware-spi-core-fix.patch
spidev-add-proper-section-markers.patch
spidev-use-declare_bitmap-instead-of-declaring-the-array.patch
spidev-use-declare_bitmap-instead-of-declaring-the-array-checkpatch-fixes.patch
spi-drain-mxc-spi-transfer-buffer-when-probing-device.patch
spi_s3c24xx-add-fiq-pseudo-dma-support.patch
vt-make-the-default-cursor-shape-configurable.patch
autofs4-use-helper-functions-for-active-list-handling.patch
autofs4-use-helper-functions-for-expiring-list.patch
autofs4-use-helper-function-for-need-mount-check.patch
autofs4-use-autofs_info-for-pending-flag.patch
autofs4-renamer-unhashed-to-active-in-autofs4_lookup.patch
autofs4-cleanup-active-and-expire-lookup.patch
autofs4-eliminate-d_unhashed-in-path-walk-checks.patch
autofs4-rename-dentry-to-active-in-autofs4_lookup_active.patch
autofs4-rename-dentry-to-expiring-in-autofs4_lookup_expiring.patch
autofs4-always-use-lookup-for-lookup.patch
rtc-disable-hpet-emulation-on-suspend.patch
rtc-fix-driver-data-issues-in-several-rtc-drivers.patch
rtc-cmos-convert-rtc_aie-rtc_uie-to-rtc-irq-api.patch
rtc-ds1511-fix-races-around-device-registration.patch
rtc-tx4939-fix-races-around-device-registration.patch
rtc-ds1553-fix-races-around-device-registration.patch
rtc-ds1742-fix-races-around-device-registration.patch
rtc-stk17ta8-fix-races-around-device-registration.patch
rtc-do-not-use-container_of-macro-as-an-argument-for-to_platform_device.patch
efirtc-explicitly-set-llseek-to-no_llseek.patch
rtc-pcf50633-manage-rtc-alarm-pending-flag.patch
rtc-mv-add-support-for-alarm.patch
rtc-convert-wm8350-rtc-driver-to-dev_pm_ops.patch
rtc-add-freescale-mc13783-rtc-driver.patch
rtc-make-rtc-omap-driver-ioremap-its-register-space.patch
rtc-add-driver-for-bq32000-i2c-rtc.patch
rtc-remove-__raw_-accessors-from-pl031-rtc.patch
rtc-ds1307-make-it-possible-to-share-an-irq.patch
rtc-set-wakeup-capability-for-i2c-and-spi-rtc-drivers.patch
gpio-fix-test-on-unsigned-in-lnw_irq_type.patch
gpio-add-gpio-driver-for-the-timberdale-fpga.patch
gpiolib-add-support-for-changing-value-polarity-in-the-sysfs.patch
drivers-gpio-pca953xc-add-interrupt-handling-capability.patch
gpio-show-irq-settings-even-if-gpio-direction-is-output.patch
gpio-add-driver-for-max7300-i2c-gpio-extender.patch
gpio-langwell-gpio-driver-miscellaneous-clean-ups.patch
gpiolib-add-names-file-in-gpio-chip-sysfs.patch
fbdev-bfin-lq035q1-fb-new-blackfin-landscape-lcd-ez-extender-driver.patch
fbdev-bfin-lq035q1-fb-new-blackfin-landscape-lcd-ez-extender-driver-v4.patch
fbdev-bfin-t350mcqb-fb-handle-all-resources-in-suspend-resume.patch
fbdev-bfin-t350mcqb-fb-fix-lcd-dimensions.patch
fbdev-tv_paln-bit-set-twice-in-sisfb_detect_vb_connect.patch
fbdev-drop-custom-atoi-from-drivers-video-modedbc.patch
add-palette-register-check.patch
drivers-video-move-dereference-after-null-test.patch
mb862xxfb-add-acceleration-support-for-coral-p-coral-pa-imageblt-copyarea-fillrect.patch
mb862xxfb-add-acceleration-support-for-coral-p-coral-pa-imageblt-copyarea-fillrect-fix.patch
mb862xxfb-add-acceleration-support-for-coral-p-coral-pa-imageblt-copyarea-fillrect-fix2.patch
mb862xxfb-add-acceleration-support-for-coral-p-coral-pa-imageblt-copyarea-fillrect-fix2-fix-3.patch
davinci-fb-calculate-the-clock-divider-from-pixel-clock-info.patch
davinci-fb-add-cpufreq-support.patch
lxfb-add-copyright-license-info.patch
i810fb-fix-stack-exploding.patch
sm501-fix-missing-uses-of-resource_size.patch
sm501-fix-use-of-old-asm-ioh-instead-of-linux-ioh.patch
sm501-implement-acceleration-features.patch
intelfb-fix-setting-of-active-pipe-with-lvds-displays.patch
const-constify-remaining-pipe_buf_operations.patch
ext2-avoid-warn-messages-when-failing-to-write-to-the-superblock.patch
ext2-avoid-warn-messages-when-failing-to-write-to-the-superblock-checkpatch-fixes.patch
hfsplus-identify-journal-info-block-in-volume-header.patch
hfsplus-fix-journal-detection.patch
ufs-pass-qstr-instead-of-dentry-where-necessary-for-nfs.patch
ufs-nfs-support.patch
reiserfs-remove-proc-fs-reiserfs-version.patch
reiserfs-dont-compile-procfso-at-all-if-no-support.patch
reiserfs-truncate-blocks-not-used-by-a-write-v2.patch
hpfs-use-hweight32.patch
hpfs-use-bitmap_weight.patch
fatfs-use-common-time_to_tm-in-fat_time_unix2fat.patch
docs-large-update-to-ioctl-numbertxt.patch
doc-submitchecklist-add-ioctls-remove-osdl-reference.patch
memcg-coalesce-uncharge-during-unmap-truncate.patch
memcg-coalesce-charging-via-percpu-storage.patch
memcg-coalesce-charging-via-percpu-storage-fix.patch
memcg-coalesce-charging-via-percpu-storage-fix-2.patch
memcg-make-memcgs-file-mapped-consistent-with-global-vm.patch
memcg-add-mem_cgroup_cancel_charge.patch
memcg-cleanup-mem_cgroup_move_parent.patch
memcg-remove-memcg_tasklist.patch
ptrace-cleanup-ptrace_init_task-ptrace_link-path.patch
ptrace-copy_process-should-disable-stepping.patch
ptrace-introduce-user_single_step_siginfo-helper.patch
ptrace-powerpc-implement-user_single_step_siginfo.patch
ptrace-change-tracehook_report_syscall_exit-to-handle-stepping.patch
ptrace-x86-implement-user_single_step_siginfo.patch
ptrace-x86-change-syscall_trace_leave-to-rely-on-tracehook-when-stepping.patch
signals-send_sig_noinfo-should-be-considered-as-si_fromuser.patch
signals-send_signal-use-si_fromuser-to-detect-from_ancestor_ns.patch
signals-cosmetic-collect_signal-use-si_user.patch
signals-kill-force_sig_specific.patch
signals-check-group_stop_count-after-tracehook_get_signal.patch
do_wait-optimization-do-not-place-sub-threads-on-task_struct-children-list.patch
ipc-ns-fix-memory-leak-idr.patch
ipc-semc-sem-optimise-undo-list-search.patch
ipc-semc-sem-use-list-operations.patch
ipc-semc-sem-preempt-improve.patch
ipc-semc-optimize-if-semops-fail.patch
ipc-semc-add-a-per-semaphore-pending-list.patch
ipc-semc-optimize-single-semop-operations.patch
ipc-semc-optimize-single-sops-when-semval-is-zero.patch
drivers-char-ipmi-use-kcs_idle_state.patch
elf-kill-use_elf_core_dump.patch
char-cyclades-fix-compiler-warning.patch
cyclades-allow-overriding-isa-defaults-also-when-the-driver-is-built-in.patch
char-mxser-remove-unnecessary-tty-test.patch
isicomc-use-pr_fmt-and-pr_level.patch
hvc_console-fix-test-on-unsigned-in-hvc_console_print.patch
moxa-remove-ifdef-module-completely.patch
drivers-char-keyboardc-fix-braille-keyboard-keysym-generation.patch
edac-i5100-clean-controller-to-channel-terms.patch
edac-i5100-add-scrubbing.patch
edac-i5100-add-6-ranks-per-channel.patch
drivers-edac-introduce-missing-kfree.patch
dma-mapping-fix-off-by-one-error-in-dma_capable.patch
irq-fix-test-in-__exit-parport_mfc3_exit.patch
parport_pcc-use-correct-length-in-strncmp.patch
kexec-premit-reduction-of-the-reserved-memory-size.patch
kexec-premit-reduction-of-the-reserved-memory-size-fix.patch
aio-remove-unused-field.patch
aio-dont-zero-out-the-pages-array-inside-struct-dio.patch
aio-dont-zero-out-the-pages-array-inside-struct-dio-fix.patch
direct-io-cleanup-blockdev_direct_io-locking.patch
direct-io-cleanup-blockdev_direct_io-locking-checkpatch-fixes.patch
x86-uv-introduce-a-means-to-translate-from-gpa-socket_paddr.patch
x86-uv-xpc-needs-to-provide-an-abstraction-for-uv_gpa.patch
x86-uv-introduce-uv_gpa_is_mmr.patch
x86-uv-implement-a-gru_read_gpa-kernel-function.patch
x86-uv-update-xpc-to-handle-updated-bios-interface.patch
x86-uv-xpc-null-deref-when-mesq-becomes-empty.patch
x86-uv-xpc_make_first_contact-hang-due-to-not-accepting-active-state.patch
x86-uv-xpc-receive-message-reuse-triggers-invalid-bug_on.patch
gru-initial-gru-based-on-blade-topology.patch
gru-add-comments-raised-in-previous-code-reviews.patch
gru-fix-istatus-race-in-gru-tlb-dropin.patch
gru-handle-blades-without-memory.patch
gru-allow-users-to-specify-gru-chiplet-1.patch
gru-allow-users-to-specify-gru-chiplet-2.patch
gru-allow-users-to-specify-gru-chiplet-3.patch
gru-fix-bug-in-module-unload.patch
gru-improve-messages-for-malfunctioning-grus.patch
gru-support-64-bit-gru-addresses.patch
gru-handle-failures-to-mmu_notifier_register.patch
gru-add-debug-option-for-cache-flushing.patch
gru-add-test-for-gru_copy_gpa.patch
gru-check-for-valid-vma.patch
gru-fix-prefetch-and-speculation-bugs.patch
gru-update-irq-infrastructure.patch
gru-add-additional-gru-statistics.patch
gru-expicitly-set-instruction-status-to-active.patch
gru-preload-tlb-for-bcopy-instructions.patch
gru-fix-bug-in-exception-handling.patch
gru-add-symbolic-names-for-gru-error-code.patch
gru-remove-stray-local_irq_enable.patch
gru-check-for-correct-gru-chiplet-assignment.patch
gru-update-gru-structures-to-match-latest-hardware-spec.patch
gru-fix-bug-in-allocation-of-kernel-contexts.patch
gru-add-hugepage-support.patch
gru-fix-gru-interrupt-race-at-deallocate.patch
gru-improve-gru-tlb-dropin-statistics.patch
gru-update-driver-version-number.patch
drivers-media-video-cx23885-needs-kfifo-conversion.patch
drivers-media-video-cx23885-needs-kfifo-updates.patch
kfifo-move-struct-kfifo-in-place.patch
kfifo-move-out-spinlock.patch
kfifo-cleanup-namespace.patch
kfifo-rename-kfifo_put-into-kfifo_in-and-kfifo_get-into-kfifo_out.patch
kfifo-add-define_kfifo-and-friends-add-very-tiny-functions.patch
kfifo-add-kfifo_skip-kfifo_from_user-and-kfifo_to_user.patch
kfifo-add-record-handling-functions.patch
resource-constify-arg-to-resource_size-and-resource_type.patch
qnx4fs-remove-remains-of-the-defunct-write-support.patch
qnx4-use-hweight8.patch
zlib-optimize-inffast-when-copying-direct-from-output.patch
zlib-optimize-inffast-when-copying-direct-from-output-checkpatch-fixes.patch
lib-add-support-for-lzo-compressed-kernels.patch
lib-add-support-for-lzo-compressed-kernels-checkpatch-fixes.patch
lib-add-support-for-lzo-compressed-kernels-checkpatch-fixes-cleanup.patch
arm-add-support-for-lzo-compressed-kernels.patch
arm-add-support-for-lzo-compressed-kernels-fix.patch
x86-add-support-for-lzo-compressed-kernels.patch
add-lzo-compression-support-for-initramfs-and-old-style-initrd.patch
bitmap-introduce-bitmap_set-bitmap_clear-bitmap_find_next_zero_area.patch
iommu-helper-use-bitmap-library.patch
isp1362-hcd-use-bitmap_find_next_zero_area.patch
mlx4-use-bitmap_find_next_zero_area.patch
sparc-use-bitmap_find_next_zero_area.patch
ia64-use-bitmap_find_next_zero_area.patch
genalloc-use-bitmap_find_next_zero_area.patch
sound-core-pcm_timerc-use-lib-gcdc.patch
net-netfilter-ipvs-ip_vs_wrrc-use-lib-gcdc.patch
net-netfilter-ipvs-ip_vs_wrrc-use-lib-gcdc-fix.patch
vfs-take-2add-set_page_dirty_notag.patch
reiser4-vfs-add-super_operationssync_inodes-2.patch
reiser4-export-remove_from_page_cache.patch
reiser4-export-remove_from_page_cache-fix.patch
reiser4-export-find_get_pages.patch
reiser4.patch
reiser4-adjust-to-the-new-aops.patch
reiser4-adjust-to-the-new-aops-fixup.patch
reiser4-remove-simple_prepare_write-usage.patch
reiser4-remove-simple_prepare_write-usage-checkpatch-fixes.patch
fs-symlink-write_begin-allocation-context-fix-reiser4-fix.patch
reiser4-handling-error-returned-by-d_obtain_alias-fixup.patch
reiser4-update-names-of-quota-methods.patch
reiser4-use-set_page_dirty_notag.patch
fs-reiser4-add-parenths-around-x-y.patch
fs-reiser4-contextc-current_is_pdflush-got-removed.patch
reiser4-fix.patch
reiser4-rename-psched-to-dispatch.patch
reiser4-drop-journal-info.patch
reiser4-fix-compile-warnings.patch
reiser4-reduce-frame-size-of-reiser4_init_super_data.patch
reiser4-reduce-frame-size-of-reiser4_init_super_data-fixup.patch
reiser4-disable.patch
make-sure-nobodys-leaking-resources.patch
journal_add_journal_head-debug.patch
releasing-resources-with-children.patch
make-frame_pointer-default=y.patch
mutex-subsystem-synchro-test-module.patch
mutex-subsystem-synchro-test-module-add-missing-header-file.patch
slab-leaks3-default-y.patch
put_bh-debug.patch
add-debugging-aid-for-memory-initialisation-problems.patch
workaround-for-a-pci-restoring-bug.patch
prio_tree-debugging-patch.patch
single_open-seq_release-leak-diagnostics.patch
add-a-refcount-check-in-dput.patch
getblk-handle-2tb-devices.patch
getblk-handle-2tb-devices-fix.patch
undeprecate-pci_find_device.patch
notify_change-callers-must-hold-i_mutex.patch
^ permalink raw reply [flat|nested] 31+ messages in thread* BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-25 0:47 mmotm 2009-11-24-16-47 uploaded akpm @ 2009-11-25 15:12 ` Jiri Slaby 2009-11-25 15:19 ` James Bottomley 2009-11-26 1:46 ` mmotm 2009-11-24-16-47 uploaded (gpio_max7301) Randy Dunlap ` (2 subsequent siblings) 3 siblings, 1 reply; 31+ messages in thread From: Jiri Slaby @ 2009-11-25 15:12 UTC (permalink / raw) To: linux-kernel; +Cc: akpm, mm-commits, linux-scsi, James.Bottomley On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to Hi, I'm hitting the BUG below in the past two -mmotm's (2009-11-24-16-47, 2009-11-17-14-03): kernel BUG at /home/l/latest/xxx/drivers/scsi/scsi_lib.c:1108! invalid opcode: 0000 [#1] SMP last sysfs file: /sys/kernel/uevent_seqnum CPU 1 Modules linked in: ath5k ath Pid: 10, comm: events/1 Not tainted 2.6.32-rc8-mm1_64 #905 To Be Filled By O.E.M. RIP: 0010:[<ffffffff81291cda>] [<ffffffff81291cda>] scsi_setup_fs_cmnd+0x8a/0xa0 RSP: 0018:ffff8801cb88db20 EFLAGS: 00010046 RAX: 0000000000000000 RBX: ffff8801c472b800 RCX: ffff8801c403a000 RDX: 0000000001082421 RSI: ffff8801c3d01000 RDI: ffff8801c472b800 RBP: ffff8801cb88db30 R08: 0000000000000000 R09: 0000000000000000 R10: ffff8801c53e68a0 R11: 0000000000000000 R12: ffff8801c3d01000 R13: ffff8801c472b800 R14: 0000000000000000 R15: ffff8801c472b848 FS: 0000000000000000(0000) GS:ffff880028280000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00007f401b0065c0 CR3: 00000001c3e03000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process events/1 (pid: 10, threadinfo ffff8801cb88c000, task ffff8801cb864140) Stack: ffff8801c3d01000 ffff8801c53e68a0 ffff8801cb88dba0 ffffffff81299550 <0> ffff8801cb88db90 ffffffff81193a2a ffff8801cb88dba0 ffff8801c403a000 <0> 0000000000000000 ffff8801c4038b60 ffff8801c3d01000 ffff8801c3d01000 Call Trace: [<ffffffff81299550>] sd_prep_fn+0x80/0x800 [<ffffffff81193a2a>] ? cfq_remove_request+0x14a/0x1d0 [<ffffffff81189b7a>] blk_peek_request+0xca/0x1a0 [<ffffffff81291206>] scsi_request_fn+0x56/0x3e0 [<ffffffff8118934b>] __blk_run_queue+0x6b/0x140 [<ffffffff81186fb4>] elv_insert+0x144/0x1a0 [<ffffffff81187072>] __elv_add_request+0x62/0xc0 [<ffffffff8118a479>] __make_request+0x129/0x3f0 [<ffffffff81188fcf>] generic_make_request+0x19f/0x360 [<ffffffff81188fcf>] ? generic_make_request+0x19f/0x360 [<ffffffff811891f8>] submit_bio+0x68/0xe0 [<ffffffff81328fe4>] md_submit_barrier+0xe4/0x170 [<ffffffff81328f00>] ? md_submit_barrier+0x0/0x170 [<ffffffff8104c81c>] worker_thread+0x12c/0x200 [<ffffffff81050f60>] ? autoremove_wake_function+0x0/0x40 [<ffffffff8104c6f0>] ? worker_thread+0x0/0x200 [<ffffffff81050c8e>] kthread+0x8e/0xa0 [<ffffffff81003cfa>] child_rip+0xa/0x20 [<ffffffff81050c00>] ? kthread+0x0/0xa0 [<ffffffff81003cf0>] ? child_rip+0x0/0x20 Code: 41 5c c9 c3 48 8b 00 48 85 c0 74 b7 48 8b 40 48 48 85 c0 74 ae 4c 89 e6 48 89 df ff d0 85 c0 74 a2 eb dc b0 02 0f 1f 40 00 eb d4 <0f> 0b 0f 1f 40 00 eb fa 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 RIP [<ffffffff81291cda>] scsi_setup_fs_cmnd+0x8a/0xa0 RSP <ffff8801cb88db20> ---[ end trace 64ebbf58ad5b90ce ]--- I have raids 0 and 1, ext3 on the former, LVM+ext3 on the latter. It is 100% reproducible, each time while booting. But even after some services start (opensuse 11.2). Plain singlemode doesn't trigger it. I didn't investigate that further though. regards, -- js Faculty of Informatics, Masaryk University Suse Labs, Novell ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-25 15:12 ` BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby @ 2009-11-25 15:19 ` James Bottomley 2009-11-25 20:22 ` Jiri Slaby 0 siblings, 1 reply; 31+ messages in thread From: James Bottomley @ 2009-11-25 15:19 UTC (permalink / raw) To: Jiri Slaby; +Cc: linux-kernel, akpm, mm-commits, linux-scsi, Jens Axboe On Wed, 2009-11-25 at 16:12 +0100, Jiri Slaby wrote: > On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: > > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > Hi, I'm hitting the BUG below in the past two -mmotm's > (2009-11-24-16-47, 2009-11-17-14-03): So this looks like some type of bug in the barrier code. What the BUG_ON is saying is that something sent us a REQ_TYPE_FS (which should be a filesystem read or write) with no attached data, so we can't process it. I've cc'd Jens to see what he thinks. Could you bisect this to find the offending commit? Thanks, James > kernel BUG at /home/l/latest/xxx/drivers/scsi/scsi_lib.c:1108! > invalid opcode: 0000 [#1] SMP > last sysfs file: /sys/kernel/uevent_seqnum > CPU 1 > Modules linked in: ath5k ath > Pid: 10, comm: events/1 Not tainted 2.6.32-rc8-mm1_64 #905 To Be Filled > By O.E.M. > RIP: 0010:[<ffffffff81291cda>] [<ffffffff81291cda>] > scsi_setup_fs_cmnd+0x8a/0xa0 > RSP: 0018:ffff8801cb88db20 EFLAGS: 00010046 > RAX: 0000000000000000 RBX: ffff8801c472b800 RCX: ffff8801c403a000 > RDX: 0000000001082421 RSI: ffff8801c3d01000 RDI: ffff8801c472b800 > RBP: ffff8801cb88db30 R08: 0000000000000000 R09: 0000000000000000 > R10: ffff8801c53e68a0 R11: 0000000000000000 R12: ffff8801c3d01000 > R13: ffff8801c472b800 R14: 0000000000000000 R15: ffff8801c472b848 > FS: 0000000000000000(0000) GS:ffff880028280000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b > CR2: 00007f401b0065c0 CR3: 00000001c3e03000 CR4: 00000000000006e0 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > Process events/1 (pid: 10, threadinfo ffff8801cb88c000, task > ffff8801cb864140) > Stack: > ffff8801c3d01000 ffff8801c53e68a0 ffff8801cb88dba0 ffffffff81299550 > <0> ffff8801cb88db90 ffffffff81193a2a ffff8801cb88dba0 ffff8801c403a000 > <0> 0000000000000000 ffff8801c4038b60 ffff8801c3d01000 ffff8801c3d01000 > Call Trace: > [<ffffffff81299550>] sd_prep_fn+0x80/0x800 > [<ffffffff81193a2a>] ? cfq_remove_request+0x14a/0x1d0 > [<ffffffff81189b7a>] blk_peek_request+0xca/0x1a0 > [<ffffffff81291206>] scsi_request_fn+0x56/0x3e0 > [<ffffffff8118934b>] __blk_run_queue+0x6b/0x140 > [<ffffffff81186fb4>] elv_insert+0x144/0x1a0 > [<ffffffff81187072>] __elv_add_request+0x62/0xc0 > [<ffffffff8118a479>] __make_request+0x129/0x3f0 > [<ffffffff81188fcf>] generic_make_request+0x19f/0x360 > [<ffffffff81188fcf>] ? generic_make_request+0x19f/0x360 > [<ffffffff811891f8>] submit_bio+0x68/0xe0 > [<ffffffff81328fe4>] md_submit_barrier+0xe4/0x170 > [<ffffffff81328f00>] ? md_submit_barrier+0x0/0x170 > [<ffffffff8104c81c>] worker_thread+0x12c/0x200 > [<ffffffff81050f60>] ? autoremove_wake_function+0x0/0x40 > [<ffffffff8104c6f0>] ? worker_thread+0x0/0x200 > [<ffffffff81050c8e>] kthread+0x8e/0xa0 > [<ffffffff81003cfa>] child_rip+0xa/0x20 > [<ffffffff81050c00>] ? kthread+0x0/0xa0 > [<ffffffff81003cf0>] ? child_rip+0x0/0x20 > Code: 41 5c c9 c3 48 8b 00 48 85 c0 74 b7 48 8b 40 48 48 85 c0 74 ae 4c > 89 e6 48 89 df ff d0 85 c0 74 a2 eb dc b0 02 0f 1f 40 00 eb d4 <0f> 0b > 0f 1f 40 00 eb fa 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 > RIP [<ffffffff81291cda>] scsi_setup_fs_cmnd+0x8a/0xa0 > RSP <ffff8801cb88db20> > ---[ end trace 64ebbf58ad5b90ce ]--- > > > > > > I have raids 0 and 1, ext3 on the former, LVM+ext3 on the latter. It is > 100% reproducible, each time while booting. But even after some services > start (opensuse 11.2). Plain singlemode doesn't trigger it. I didn't > investigate that further though. > > regards, ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-25 15:19 ` James Bottomley @ 2009-11-25 20:22 ` Jiri Slaby 2009-11-25 21:13 ` Neil Brown 0 siblings, 1 reply; 31+ messages in thread From: Jiri Slaby @ 2009-11-25 20:22 UTC (permalink / raw) To: James Bottomley Cc: linux-kernel, akpm, mm-commits, linux-scsi, Jens Axboe, neilb On 11/25/2009 04:19 PM, James Bottomley wrote: > On Wed, 2009-11-25 at 16:12 +0100, Jiri Slaby wrote: >> On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: >>> The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to >> >> Hi, I'm hitting the BUG below in the past two -mmotm's >> (2009-11-24-16-47, 2009-11-17-14-03): > > So this looks like some type of bug in the barrier code. What the BUG_ON > is saying is that something sent us a REQ_TYPE_FS (which should be a > filesystem read or write) with no attached data, so we can't process it. > > I've cc'd Jens to see what he thinks. > > Could you bisect this to find the offending commit? Hmm. I bisected it twice to commit 1bebedd653e1bb0440ebf40724c55791c21ad7cc Merge: a8d5ddf 62fa36a Author: Stephen Rothwell <sfr@canb.auug.org.au> Date: Wed Nov 25 17:42:47 2009 +1100 Merge remote branch 'md/for-next' It doesn't make sense at all. How can empty merge cause a regression? And md/for-next doesn't produce the BUG. After the 1st bisection I did git checkout 1bebedd653e1bb0440ebf40724c55791c21ad7cc and built it. It crashed. Then I did git bisect start 1bebedd origin/stable where origin is next. And got back to the 1bebedd by bisection. -- js Faculty of Informatics, Masaryk University Suse Labs, Novell ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-25 20:22 ` Jiri Slaby @ 2009-11-25 21:13 ` Neil Brown 2009-11-26 10:17 ` Boaz Harrosh 2009-11-27 4:17 ` Neil Brown 0 siblings, 2 replies; 31+ messages in thread From: Neil Brown @ 2009-11-25 21:13 UTC (permalink / raw) To: Jiri Slaby Cc: James Bottomley, linux-kernel, akpm, mm-commits, linux-scsi, Jens Axboe On Wed, 25 Nov 2009 21:22:57 +0100 Jiri Slaby <jirislaby@gmail.com> wrote: > It doesn't make sense at all. How can empty merge cause a regression? > And md/for-next doesn't produce the BUG. I've hit that situation before. Two separate changes in separate branches conspire to cause a problem. md/for-next contains code to handle barriers properly for all levels, not just RAID1. It is possible I got this wrong in some way, and some new sanity check in a separate branch is firing, or it is possible some other bug in barrier handling has been added and now that MD sends barriers, it is being triggered. What I did to find the actual offending patches is to got to one of the heads just before the merge, and cherry-pick all the patches from the other branch, and then bisect that. NeilBrown ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-25 21:13 ` Neil Brown @ 2009-11-26 10:17 ` Boaz Harrosh 2009-11-27 4:17 ` Neil Brown 1 sibling, 0 replies; 31+ messages in thread From: Boaz Harrosh @ 2009-11-26 10:17 UTC (permalink / raw) To: Neil Brown Cc: Jiri Slaby, James Bottomley, linux-kernel, akpm, mm-commits, linux-scsi, Jens Axboe On 11/25/2009 11:13 PM, Neil Brown wrote: > On Wed, 25 Nov 2009 21:22:57 +0100 > Jiri Slaby <jirislaby@gmail.com> wrote: > >> It doesn't make sense at all. How can empty merge cause a regression? >> And md/for-next doesn't produce the BUG. > > I've hit that situation before. Two separate changes in separate > branches conspire to cause a problem. > > md/for-next contains code to handle barriers properly for all levels, > not just RAID1. > It is possible I got this wrong in some way, and some new sanity check > in a separate branch is firing, or it is possible some other bug in > barrier handling has been added and now that MD sends barriers, it is > being triggered. > > What I did to find the actual offending patches is to got to one of the > heads just before the merge, and cherry-pick all the patches from the > other branch, and then bisect that. > cherry-pick is hard work. Stand on the merge point and do: git rebase -i HEAD^ That will cherry-pick all these for you in one easy command ;-) Boaz > NeilBrown > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-25 21:13 ` Neil Brown 2009-11-26 10:17 ` Boaz Harrosh @ 2009-11-27 4:17 ` Neil Brown 2009-11-27 10:20 ` Jiri Slaby 1 sibling, 1 reply; 31+ messages in thread From: Neil Brown @ 2009-11-27 4:17 UTC (permalink / raw) To: Jiri Slaby Cc: James Bottomley, linux-kernel, akpm, mm-commits, linux-scsi, Jens Axboe On Thu, 26 Nov 2009 08:13:59 +1100 Neil Brown <neilb@suse.de> wrote: > On Wed, 25 Nov 2009 21:22:57 +0100 > Jiri Slaby <jirislaby@gmail.com> wrote: > > > It doesn't make sense at all. How can empty merge cause a regression? > > And md/for-next doesn't produce the BUG. > > I've hit that situation before. Two separate changes in separate > branches conspire to cause a problem. > > md/for-next contains code to handle barriers properly for all levels, > not just RAID1. > It is possible I got this wrong in some way, and some new sanity check > in a separate branch is firing, or it is possible some other bug in > barrier handling has been added and now that MD sends barriers, it is > being triggered. And it looks like I did get it wrong in some way. I handled a barrier by: - send an empty barrier to each component - schedule to write with the barrier flag cleared - send another empty barrier If an empty barrier is received, step 2 sends an empty non-barrier, which caused the BUG. I have revised the code to special case empty barriers and only perform the first step. This should appear in the next -next. Thanks, NeilBrown ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 4:17 ` Neil Brown @ 2009-11-27 10:20 ` Jiri Slaby 0 siblings, 0 replies; 31+ messages in thread From: Jiri Slaby @ 2009-11-27 10:20 UTC (permalink / raw) To: Neil Brown Cc: James Bottomley, linux-kernel, akpm, mm-commits, linux-scsi, Jens Axboe [-- Attachment #1: Type: text/plain, Size: 326 bytes --] On 11/27/2009 05:17 AM, Neil Brown wrote: > If an empty barrier is received, step 2 sends an empty non-barrier, > which caused the BUG. > I have revised the code to special case empty barriers and only perform > the first step. > This should appear in the next -next. Yup, it works (with the patch attached). Thanks. -- js [-- Attachment #2: 0001-raid-fixup.patch --] [-- Type: text/x-patch, Size: 6471 bytes --] >From d2ab5e2d06602b79b4c06208fd1ee492a32c983f Mon Sep 17 00:00:00 2001 From: Jiri Slaby <jslaby@novell.com> Date: Fri, 27 Nov 2009 11:08:28 +0100 Subject: [PATCH] raid fixup --- drivers/md/md.c | 56 ++++++++++++++++++++++++++++++++++++++++----------- drivers/md/raid5.c | 3 ++ fs/compat_ioctl.c | 22 -------------------- 3 files changed, 47 insertions(+), 34 deletions(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index 89a1350..d6f7f6c 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -44,6 +44,7 @@ #include <linux/random.h> #include <linux/reboot.h> #include <linux/file.h> +#include <linux/compat.h> #include <linux/delay.h> #include <linux/raid/md_p.h> #include <linux/raid/md_u.h> @@ -287,9 +288,11 @@ static void md_end_barrier(struct bio *bio, int err) if (atomic_dec_and_test(&mddev->flush_pending)) { if (mddev->barrier == (void*)1) { + /* This was a post-request barrier */ mddev->barrier = NULL; wake_up(&mddev->sb_wait); } else + /* The pre-request barrier has finished */ schedule_work(&mddev->barrier_work); } bio_put(bio); @@ -302,10 +305,16 @@ static void md_submit_barrier(struct work_struct *ws) atomic_set(&mddev->flush_pending, 1); - if (!test_bit(BIO_EOPNOTSUPP, &bio->bi_flags)) { + if (test_bit(BIO_EOPNOTSUPP, &bio->bi_flags)) + bio_endio(bio, -EOPNOTSUPP); + else if (bio->bi_size == 0) + /* an empty barrier - all done */ + bio_endio(bio, 0); + else { mdk_rdev_t *rdev; bio->bi_rw &= ~(1<<BIO_RW_BARRIER); + bio->bi_rw |= (1<<BIO_RW_SYNCIO); if (mddev->pers->make_request(mddev->queue, bio)) generic_make_request(bio); mddev->barrier = (void*)1; @@ -331,8 +340,7 @@ static void md_submit_barrier(struct work_struct *ws) rdev_dec_pending(rdev, mddev); } rcu_read_unlock(); - } else - bio_endio(bio, -EOPNOTSUPP); + } if (atomic_dec_and_test(&mddev->flush_pending)) { mddev->barrier = NULL; wake_up(&mddev->sb_wait); @@ -1512,12 +1520,10 @@ static void super_1_sync(mddev_t *mddev, mdk_rdev_t *rdev) if (rdev->raid_disk >= 0 && !test_bit(In_sync, &rdev->flags)) { - if (rdev->recovery_offset > 0) { - sb->feature_map |= - cpu_to_le32(MD_FEATURE_RECOVERY_OFFSET); - sb->recovery_offset = - cpu_to_le64(rdev->recovery_offset); - } + sb->feature_map |= + cpu_to_le32(MD_FEATURE_RECOVERY_OFFSET); + sb->recovery_offset = + cpu_to_le64(rdev->recovery_offset); } if (mddev->reshape_position != MaxSector) { @@ -1551,7 +1557,7 @@ static void super_1_sync(mddev_t *mddev, mdk_rdev_t *rdev) sb->dev_roles[i] = cpu_to_le16(0xfffe); else if (test_bit(In_sync, &rdev2->flags)) sb->dev_roles[i] = cpu_to_le16(rdev2->raid_disk); - else if (rdev2->raid_disk >= 0 && rdev2->recovery_offset > 0) + else if (rdev2->raid_disk >= 0) sb->dev_roles[i] = cpu_to_le16(rdev2->raid_disk); else sb->dev_roles[i] = cpu_to_le16(0xffff); @@ -5663,6 +5669,25 @@ done: abort: return err; } +#ifdef CONFIG_COMPAT +static int md_compat_ioctl(struct block_device *bdev, fmode_t mode, + unsigned int cmd, unsigned long arg) +{ + switch (cmd) { + case HOT_REMOVE_DISK: + case HOT_ADD_DISK: + case SET_DISK_FAULTY: + case SET_BITMAP_FILE: + /* These take in integer arg, do not convert */ + break; + default: + arg = (unsigned long)compat_ptr(arg); + break; + } + + return md_ioctl(bdev, mode, cmd, arg); +} +#endif /* CONFIG_COMPAT */ static int md_open(struct block_device *bdev, fmode_t mode) { @@ -5728,6 +5753,9 @@ static const struct block_device_operations md_fops = .open = md_open, .release = md_release, .ioctl = md_ioctl, +#ifdef CONFIG_COMPAT + .compat_ioctl = md_compat_ioctl, +#endif .getgeo = md_getgeo, .media_changed = md_media_changed, .revalidate_disk= md_revalidate, @@ -6518,7 +6546,9 @@ void md_do_sync(mddev_t *mddev) "md: resuming %s of %s from checkpoint.\n", desc, mdname(mddev)); mddev->curr_resync = j; - } + mddev->curr_resync_completed = j; + } else + mddev->curr_resync_completed = 0; while (j < max_sectors) { sector_t sectors; @@ -6670,7 +6700,8 @@ void md_do_sync(mddev_t *mddev) } else if (test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) mddev->resync_min = mddev->curr_resync_completed; mddev->curr_resync = 0; - mddev->curr_resync_completed = 0; + if (!test_bit(MD_RECOVERY_INTR, &mddev->recovery)) + mddev->curr_resync_completed = 0; sysfs_notify(&mddev->kobj, NULL, "sync_completed"); wake_up(&resync_wait); set_bit(MD_RECOVERY_DONE, &mddev->recovery); @@ -6733,6 +6764,7 @@ static int remove_and_add_spares(mddev_t *mddev) nm, mdname(mddev)); spares++; md_new_event(mddev); + set_bit(MD_CHANGE_DEVS, &mddev->flags); } else break; } diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index a8cab1d..f6c93a5 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -3996,6 +3996,9 @@ static int make_request(struct request_queue *q, struct bio * bi) finish_wait(&conf->wait_for_overlap, &w); set_bit(STRIPE_HANDLE, &sh->state); clear_bit(STRIPE_DELAYED, &sh->state); + if ((bi->bi_rw & (1<<BIO_RW_SYNCIO)) && + !test_and_set_bit(STRIPE_PREREAD_ACTIVE, &sh->state)) + atomic_inc(&conf->preread_active_stripes); release_stripe(sh); } else { /* cannot get stripe for read-ahead, just give-up */ diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c index 8bd37d8..05c9211 100644 --- a/fs/compat_ioctl.c +++ b/fs/compat_ioctl.c @@ -1089,28 +1089,6 @@ COMPATIBLE_IOCTL(FIGETBSZ) /* 'X' - originally XFS but some now in the VFS */ COMPATIBLE_IOCTL(FIFREEZE) COMPATIBLE_IOCTL(FITHAW) -/* RAID */ -COMPATIBLE_IOCTL(RAID_VERSION) -COMPATIBLE_IOCTL(GET_ARRAY_INFO) -COMPATIBLE_IOCTL(GET_DISK_INFO) -COMPATIBLE_IOCTL(PRINT_RAID_DEBUG) -COMPATIBLE_IOCTL(RAID_AUTORUN) -COMPATIBLE_IOCTL(CLEAR_ARRAY) -COMPATIBLE_IOCTL(ADD_NEW_DISK) -ULONG_IOCTL(HOT_REMOVE_DISK) -COMPATIBLE_IOCTL(SET_ARRAY_INFO) -COMPATIBLE_IOCTL(SET_DISK_INFO) -COMPATIBLE_IOCTL(WRITE_RAID_INFO) -COMPATIBLE_IOCTL(UNPROTECT_ARRAY) -COMPATIBLE_IOCTL(PROTECT_ARRAY) -ULONG_IOCTL(HOT_ADD_DISK) -ULONG_IOCTL(SET_DISK_FAULTY) -COMPATIBLE_IOCTL(RUN_ARRAY) -COMPATIBLE_IOCTL(STOP_ARRAY) -COMPATIBLE_IOCTL(STOP_ARRAY_RO) -COMPATIBLE_IOCTL(RESTART_ARRAY_RW) -COMPATIBLE_IOCTL(GET_BITMAP_FILE) -ULONG_IOCTL(SET_BITMAP_FILE) /* Keyboard -- can be removed once tty3270 uses ops->compat_ioctl */ ULONG_IOCTL(KDSIGACCEPT) COMPATIBLE_IOCTL(KDGETKEYCODE) -- 1.6.5.3 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: mmotm 2009-11-24-16-47 uploaded (gpio_max7301) 2009-11-25 0:47 mmotm 2009-11-24-16-47 uploaded akpm 2009-11-25 15:12 ` BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby @ 2009-11-26 1:46 ` Randy Dunlap 2009-11-28 16:21 ` Wolfram Sang 2009-12-15 22:43 ` Andrew Morton 2009-11-27 10:33 ` ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby 2009-11-27 15:03 ` WARNING: kernel/smp.c:292 smp_call_function_single [Was: " Jiri Slaby 3 siblings, 2 replies; 31+ messages in thread From: Randy Dunlap @ 2009-11-26 1:46 UTC (permalink / raw) To: linux-kernel; +Cc: Andrew Morton, Wolfram Sang akpm@linux-foundation.org wrote: > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > http://userweb.kernel.org/~akpm/mmotm/ > > and will soon be available at > > git://git.zen-sources.org/zen/mmotm.git > > It contains the following patches against 2.6.32-rc8: > > gpio-add-driver-for-max7300-i2c-gpio-extender.patch This driver has build failures when CONFIG_I2C=m and MAX7301=y, MAX7301_I2C=y, MAX7301_SPI=y: drivers/built-in.o: In function `max7301_i2c_write': max7301.c:(.text+0x2d9e): undefined reference to `i2c_smbus_write_byte_data' drivers/built-in.o: In function `max7301_i2c_read': max7301.c:(.text+0x2dc6): undefined reference to `i2c_smbus_read_byte_data' drivers/built-in.o: In function `max7301_init': max7301.c:(.init.text+0x42e): undefined reference to `i2c_register_driver' max7301.c:(.init.text+0x496): undefined reference to `i2c_del_driver' drivers/built-in.o: In function `max7301_exit': max7301.c:(.exit.text+0x14): undefined reference to `i2c_del_driver' This kconfig syntax: config GPIO_MAX7301 tristate "Maxim MAX730x GPIO expander" depends on I2C || SPI_MASTER allows GPIO_MAX7301 to be y when SPI_MASTER=y and I2C=m. If you want to do that, you'll need to handle CONFIG_I2C=m somehow. -- ~Randy ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: mmotm 2009-11-24-16-47 uploaded (gpio_max7301) 2009-11-26 1:46 ` mmotm 2009-11-24-16-47 uploaded (gpio_max7301) Randy Dunlap @ 2009-11-28 16:21 ` Wolfram Sang 2009-12-15 22:43 ` Andrew Morton 1 sibling, 0 replies; 31+ messages in thread From: Wolfram Sang @ 2009-11-28 16:21 UTC (permalink / raw) To: Randy Dunlap; +Cc: linux-kernel, Andrew Morton [-- Attachment #1: Type: text/plain, Size: 1165 bytes --] > This driver has build failures when CONFIG_I2C=m and > MAX7301=y, MAX7301_I2C=y, MAX7301_SPI=y: > > drivers/built-in.o: In function `max7301_i2c_write': > max7301.c:(.text+0x2d9e): undefined reference to `i2c_smbus_write_byte_data' > drivers/built-in.o: In function `max7301_i2c_read': > max7301.c:(.text+0x2dc6): undefined reference to `i2c_smbus_read_byte_data' > drivers/built-in.o: In function `max7301_init': > max7301.c:(.init.text+0x42e): undefined reference to `i2c_register_driver' > max7301.c:(.init.text+0x496): undefined reference to `i2c_del_driver' > drivers/built-in.o: In function `max7301_exit': > max7301.c:(.exit.text+0x14): undefined reference to `i2c_del_driver' > > > This kconfig syntax: > > config GPIO_MAX7301 > tristate "Maxim MAX730x GPIO expander" > depends on I2C || SPI_MASTER > > allows GPIO_MAX7301 to be y when SPI_MASTER=y and I2C=m. > If you want to do that, you'll need to handle CONFIG_I2C=m somehow. ACK, will fix it. -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: mmotm 2009-11-24-16-47 uploaded (gpio_max7301) 2009-11-26 1:46 ` mmotm 2009-11-24-16-47 uploaded (gpio_max7301) Randy Dunlap 2009-11-28 16:21 ` Wolfram Sang @ 2009-12-15 22:43 ` Andrew Morton 2009-12-15 22:46 ` Randy Dunlap 1 sibling, 1 reply; 31+ messages in thread From: Andrew Morton @ 2009-12-15 22:43 UTC (permalink / raw) To: Randy Dunlap; +Cc: linux-kernel, Wolfram Sang On Wed, 25 Nov 2009 17:46:38 -0800 Randy Dunlap <rdunlap@xenotime.net> wrote: > akpm@linux-foundation.org wrote: > > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > > > http://userweb.kernel.org/~akpm/mmotm/ > > > > and will soon be available at > > > > git://git.zen-sources.org/zen/mmotm.git > > > > It contains the following patches against 2.6.32-rc8: > > > > gpio-add-driver-for-max7300-i2c-gpio-extender.patch > > This driver has build failures when CONFIG_I2C=m and > MAX7301=y, MAX7301_I2C=y, MAX7301_SPI=y: > > drivers/built-in.o: In function `max7301_i2c_write': > max7301.c:(.text+0x2d9e): undefined reference to `i2c_smbus_write_byte_data' > drivers/built-in.o: In function `max7301_i2c_read': > max7301.c:(.text+0x2dc6): undefined reference to `i2c_smbus_read_byte_data' > drivers/built-in.o: In function `max7301_init': > max7301.c:(.init.text+0x42e): undefined reference to `i2c_register_driver' > max7301.c:(.init.text+0x496): undefined reference to `i2c_del_driver' > drivers/built-in.o: In function `max7301_exit': > max7301.c:(.exit.text+0x14): undefined reference to `i2c_del_driver' > > > This kconfig syntax: > > config GPIO_MAX7301 > tristate "Maxim MAX730x GPIO expander" > depends on I2C || SPI_MASTER > > allows GPIO_MAX7301 to be y when SPI_MASTER=y and I2C=m. > If you want to do that, you'll need to handle CONFIG_I2C=m somehow. > fyi, I have this patch "on hold" due to this issue. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: mmotm 2009-11-24-16-47 uploaded (gpio_max7301) 2009-12-15 22:43 ` Andrew Morton @ 2009-12-15 22:46 ` Randy Dunlap 2009-12-15 23:10 ` Andrew Morton 0 siblings, 1 reply; 31+ messages in thread From: Randy Dunlap @ 2009-12-15 22:46 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-kernel, Wolfram Sang On Tue, 15 Dec 2009 14:43:06 -0800 Andrew Morton wrote: > On Wed, 25 Nov 2009 17:46:38 -0800 > Randy Dunlap <rdunlap@xenotime.net> wrote: > > > akpm@linux-foundation.org wrote: > > > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > > > > > http://userweb.kernel.org/~akpm/mmotm/ > > > > > > and will soon be available at > > > > > > git://git.zen-sources.org/zen/mmotm.git > > > > > > It contains the following patches against 2.6.32-rc8: > > > > > > gpio-add-driver-for-max7300-i2c-gpio-extender.patch > > > > This driver has build failures when CONFIG_I2C=m and > > MAX7301=y, MAX7301_I2C=y, MAX7301_SPI=y: > > > > drivers/built-in.o: In function `max7301_i2c_write': > > max7301.c:(.text+0x2d9e): undefined reference to `i2c_smbus_write_byte_data' > > drivers/built-in.o: In function `max7301_i2c_read': > > max7301.c:(.text+0x2dc6): undefined reference to `i2c_smbus_read_byte_data' > > drivers/built-in.o: In function `max7301_init': > > max7301.c:(.init.text+0x42e): undefined reference to `i2c_register_driver' > > max7301.c:(.init.text+0x496): undefined reference to `i2c_del_driver' > > drivers/built-in.o: In function `max7301_exit': > > max7301.c:(.exit.text+0x14): undefined reference to `i2c_del_driver' > > > > > > This kconfig syntax: > > > > config GPIO_MAX7301 > > tristate "Maxim MAX730x GPIO expander" > > depends on I2C || SPI_MASTER > > > > allows GPIO_MAX7301 to be y when SPI_MASTER=y and I2C=m. > > If you want to do that, you'll need to handle CONFIG_I2C=m somehow. > > > > fyi, I have this patch "on hold" due to this issue. Wolfram sent a large replacement patch on Sun Dec. 13: Subject: [PATCH V4] gpio: add driver for MAX7300 I2C GPIO extender --- ~Randy ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: mmotm 2009-11-24-16-47 uploaded (gpio_max7301) 2009-12-15 22:46 ` Randy Dunlap @ 2009-12-15 23:10 ` Andrew Morton 2009-12-16 11:30 ` Wolfram Sang 0 siblings, 1 reply; 31+ messages in thread From: Andrew Morton @ 2009-12-15 23:10 UTC (permalink / raw) To: Randy Dunlap; +Cc: linux-kernel, Wolfram Sang On Tue, 15 Dec 2009 14:46:43 -0800 Randy Dunlap <randy.dunlap@oracle.com> wrote: > On Tue, 15 Dec 2009 14:43:06 -0800 Andrew Morton wrote: > > > On Wed, 25 Nov 2009 17:46:38 -0800 > > Randy Dunlap <rdunlap@xenotime.net> wrote: > > > > > akpm@linux-foundation.org wrote: > > > > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > > > > > > > http://userweb.kernel.org/~akpm/mmotm/ > > > > > > > > and will soon be available at > > > > > > > > git://git.zen-sources.org/zen/mmotm.git > > > > > > > > It contains the following patches against 2.6.32-rc8: > > > > > > > > gpio-add-driver-for-max7300-i2c-gpio-extender.patch > > > > > > This driver has build failures when CONFIG_I2C=m and > > > MAX7301=y, MAX7301_I2C=y, MAX7301_SPI=y: > > > > > > drivers/built-in.o: In function `max7301_i2c_write': > > > max7301.c:(.text+0x2d9e): undefined reference to `i2c_smbus_write_byte_data' > > > drivers/built-in.o: In function `max7301_i2c_read': > > > max7301.c:(.text+0x2dc6): undefined reference to `i2c_smbus_read_byte_data' > > > drivers/built-in.o: In function `max7301_init': > > > max7301.c:(.init.text+0x42e): undefined reference to `i2c_register_driver' > > > max7301.c:(.init.text+0x496): undefined reference to `i2c_del_driver' > > > drivers/built-in.o: In function `max7301_exit': > > > max7301.c:(.exit.text+0x14): undefined reference to `i2c_del_driver' > > > > > > > > > This kconfig syntax: > > > > > > config GPIO_MAX7301 > > > tristate "Maxim MAX730x GPIO expander" > > > depends on I2C || SPI_MASTER > > > > > > allows GPIO_MAX7301 to be y when SPI_MASTER=y and I2C=m. > > > If you want to do that, you'll need to handle CONFIG_I2C=m somehow. > > > > > > > fyi, I have this patch "on hold" due to this issue. > > Wolfram sent a large replacement patch on Sun Dec. 13: > Subject: [PATCH V4] gpio: add driver for MAX7300 I2C GPIO extender So he did, thanks. Wolfram, the V4 patch doesn't have a usable changelog. Please send one along sometime? ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: mmotm 2009-11-24-16-47 uploaded (gpio_max7301) 2009-12-15 23:10 ` Andrew Morton @ 2009-12-16 11:30 ` Wolfram Sang 0 siblings, 0 replies; 31+ messages in thread From: Wolfram Sang @ 2009-12-16 11:30 UTC (permalink / raw) To: Andrew Morton; +Cc: Randy Dunlap, linux-kernel [-- Attachment #1: Type: text/plain, Size: 616 bytes --] > > Wolfram sent a large replacement patch on Sun Dec. 13: > > Subject: [PATCH V4] gpio: add driver for MAX7300 I2C GPIO extender > > So he did, thanks. > > Wolfram, the V4 patch doesn't have a usable changelog. Please send one > along sometime? Sure, will do. I am just not entirely sure what you mean with "changelog"? The changelog for V4? The whole changelog from V1 to V4? The patch description? All of them? :) Regards, Wolfram -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] 2009-11-25 0:47 mmotm 2009-11-24-16-47 uploaded akpm 2009-11-25 15:12 ` BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby 2009-11-26 1:46 ` mmotm 2009-11-24-16-47 uploaded (gpio_max7301) Randy Dunlap @ 2009-11-27 10:33 ` Jiri Slaby 2009-11-27 10:45 ` Takashi Iwai 2009-11-27 15:03 ` WARNING: kernel/smp.c:292 smp_call_function_single [Was: " Jiri Slaby 3 siblings, 1 reply; 31+ messages in thread From: Jiri Slaby @ 2009-11-27 10:33 UTC (permalink / raw) To: linux-kernel Cc: akpm, mm-commits, Jaroslav Kysela, Takashi Iwai, alsa-devel, fengguang.wu On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to Hi, when I boot into that kernel, I hear, since the boot phase, short scratches repeatedly every (just a guess) 100 ms. # cat /proc/asound/cards 0 [Intel ]: HDA-Intel - HDA Intel HDA Intel at 0xffa74000 irq 29 # cat /proc/asound/card0/codec#2 Codec: SigmaTel STAC9274D Address: 2 Function Id: 0x1 Vendor Id: 0x83847621 Subsystem Id: 0x00000100 Revision Id: 0x100201 No Modem Function Group found Default PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x0e, stepsize=0x05, mute=0 Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1 GPIO: io=3, o=0, i=0, unsolicited=1, wake=1 IO[0]: enable=1, dir=1, wake=0, sticky=0, data=0, unsol=0 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 Analog Loopback: 0x00 Node 0x02 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Front Playback Volume", index=0, device=0 Control: name="Front Playback Switch", index=0, device=0 Device: name="STAC92xx Analog", type="Audio", device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Side Playback Volume", index=0, device=0 Control: name="Side Playback Switch", index=0, device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Center Playback Volume", index=0, device=0 Control: name="Center Playback Switch", index=0, device=0 Control: name="LFE Playback Volume", index=0, device=0 Control: name="LFE Playback Switch", index=0, device=0 Control: name="Swap Center/LFE Playback Switch", index=0, device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=4 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x05 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Surround Playback Volume", index=0, device=0 Control: name="Surround Playback Switch", index=0, device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=2 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x06 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Headphone Playback Volume", index=0, device=0 Control: name="Headphone Playback Switch", index=0, device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x07 [Audio Input] wcaps 0x1d0541: Stereo Device: name="STAC92xx Analog", type="Audio", device=0 Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x1b Processing caps: benign=0, ncoeff=0 Node 0x08 [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x1c Processing caps: benign=0, ncoeff=0 Node 0x09 [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x1d Processing caps: benign=0, ncoeff=0 Node 0x0a [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x02214020: [Jack] HP Out at Ext Front Conn = 1/8, Color = Green DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=01, enabled=1 Connection: 3 0x02 0x03 0x06* Node 0x0b [Pin Complex] wcaps 0x400181: Stereo Control: name="Front Mic Jack Mode", index=0, device=0 Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x02a19080: [Jack] Mic at Ext Front Conn = 1/8, Color = Pink DefAssociation = 0x8, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=03, enabled=1 Connection: 3 0x02* 0x03 0x06 Node 0x0c [Pin Complex] wcaps 0x400181: Stereo Control: name="Line Jack Mode", index=0, device=0 Pincap 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x0181304e: [Jack] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x4, Sequence = 0xe Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=04, enabled=1 Connection: 1 0x03 Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01014010: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Green DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 1 0x02 Node 0x0e [Pin Complex] wcaps 0x400181: Stereo Control: name="Mic Jack Mode", index=0, device=0 Pincap 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01a19040: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink DefAssociation = 0x4, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=02, enabled=1 Connection: 1 0x04 Node 0x0f [Pin Complex] wcaps 0x400181: Stereo Pincap 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01011012: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0x2 Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 1 0x05 Node 0x10 [Pin Complex] wcaps 0x400181: Stereo Pincap 0x00000037: IN OUT Detect Trigger ImpSense Pin Default 0x01016011: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Orange DefAssociation = 0x1, Sequence = 0x1 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x04 Node 0x11 [Pin Complex] wcaps 0x400181: Stereo Pincap 0x00000037: IN OUT Detect Trigger ImpSense Pin Default 0x01012014: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Grey DefAssociation = 0x1, Sequence = 0x4 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x03 Node 0x12 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x503301f0: [N/A] CD at Int N/A Conn = ATAPI, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x13 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x50a001f0: [N/A] Mic at Int N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x14 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x50a001f0: [N/A] Mic at Int N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x15 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Control: name="Mux Capture Volume", index=0, device=0 Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e* 0x12 0x0f 0x0b 0x0c 0x0d 0x0a 0x10 0x11 Node 0x16 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Control: name="Mux Capture Volume", index=1, device=0 Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e* 0x12 0x0f 0x0b 0x0c 0x0d 0x0a 0x10 0x11 Node 0x17 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Control: name="Mux Capture Volume", index=2, device=0 Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e* 0x12 0x0f 0x0b 0x0c 0x0d 0x0a 0x10 0x11 Node 0x18 [Audio Selector] wcaps 0x300103: Stereo Amp-In Control: name="Capture Volume", index=0, device=0 Amp-In caps: N/A Amp-In vals: [0x08 0x08] Connection: 1 0x15 Node 0x19 [Audio Selector] wcaps 0x300103: Stereo Amp-In Control: name="Capture Volume", index=1, device=0 Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x16 Node 0x1a [Audio Selector] wcaps 0x300103: Stereo Amp-In Control: name="Capture Volume", index=2, device=0 Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x17 Node 0x1b [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Control: name="Capture Switch", index=0, device=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Connection: 3 0x18* 0x13 0x14 Node 0x1c [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Control: name="Capture Switch", index=1, device=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Connection: 3 0x19* 0x13 0x14 Node 0x1d [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Control: name="Capture Switch", index=2, device=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Connection: 3 0x1a* 0x13 0x14 Node 0x1e [Audio Output] wcaps 0x40211: Stereo Digital Control: name="IEC958 Playback Con Mask", index=0, device=0 Control: name="IEC958 Playback Pro Mask", index=0, device=0 Control: name="IEC958 Playback Default", index=0, device=0 Control: name="IEC958 Playback Switch", index=0, device=0 Control: name="IEC958 Default PCM Playback Switch", index=0, device=0 Device: name="STAC92xx Digital", type="SPDIF", device=1 Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Node 0x1f [Vendor Defined Widget] wcaps 0xf30201: Stereo Digital Delay: 3 samples Node 0x20 [Audio Input] wcaps 0x140311: Stereo Digital Device: name="STAC92xx Digital", type="SPDIF", device=1 Converter: stream=0, channel=0 SDI-Select: 0 Digital: Digital category: 0x0 PCM: rates [0x160]: 44100 48000 96000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Connection: 1 0x22 Node 0x21 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x00000010: OUT Pin Default 0x01442170: [Jack] SPDIF Out at Ext Rear Conn = RCA, Color = Grey DefAssociation = 0x7, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Connection: 5 0x1e* 0x1f 0x1b 0x1c 0x1d Node 0x22 [Pin Complex] wcaps 0x430681: Stereo Digital Pincap 0x00010024: IN EAPD Detect EAPD 0x0: Pin Default 0x81c42090: [Fixed] SPDIF In at Ext Rear Conn = RCA, Color = Grey DefAssociation = 0x9, Sequence = 0x0 Pin-ctls: 0x20: IN Unsolicited: tag=00, enabled=0 Power: setting=D0, actual=D0 Delay: 3 samples Node 0x23 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0 Amp-Out vals: [0x00] Node 0x24 [Volume Knob Widget] wcaps 0x600000: Mono Volume-Knob: delta=1, steps=127, direct=1, val=127 Connection: 5 0x02 0x03 0x04 0x05 0x06 It's a regression against, I think, 2009-11-13-19-59. thanks, -- js ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 10:33 ` ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby @ 2009-11-27 10:45 ` Takashi Iwai 2009-11-27 11:07 ` Jiri Slaby 0 siblings, 1 reply; 31+ messages in thread From: Takashi Iwai @ 2009-11-27 10:45 UTC (permalink / raw) To: Jiri Slaby Cc: linux-kernel, akpm, mm-commits, Jaroslav Kysela, alsa-devel, fengguang.wu At Fri, 27 Nov 2009 11:33:36 +0100, Jiri Slaby wrote: > > On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: > > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > Hi, when I boot into that kernel, I hear, since the boot phase, short > scratches repeatedly every (just a guess) 100 ms. > > # cat /proc/asound/cards > 0 [Intel ]: HDA-Intel - HDA Intel > HDA Intel at 0xffa74000 irq 29 > > # cat /proc/asound/card0/codec#2 Could you give rather alsa-info.sh output (run with --no-upload option)? > It's a regression against, I think, 2009-11-13-19-59. There aren't so many fundamental changes since Nov. 13. The major ones are for Intel HDMI, but it should be irrelevant in your case. The changes in patch_sigmatel.c since then are: d56757abc11a21996d9839c0d4e3b2c3666cd318 ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() 8af3aeb498197f6fdf5acc913ffe8a392cb921c9 ALSA: hda - Fix detection of dual headphones b4e818768d50a5b7aa1635676839682bcf0691b6 ALSA: hda - Fix mute-LED sync on HP laptops with IDT92HD83xxx codecs Could you try to revert them? The patches are found in sound git tree git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git or linux-next. thanks, Takashi ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 10:45 ` Takashi Iwai @ 2009-11-27 11:07 ` Jiri Slaby 2009-11-27 11:18 ` Takashi Iwai 0 siblings, 1 reply; 31+ messages in thread From: Jiri Slaby @ 2009-11-27 11:07 UTC (permalink / raw) To: Takashi Iwai Cc: linux-kernel, akpm, mm-commits, Jaroslav Kysela, alsa-devel, fengguang.wu [-- Attachment #1: Type: text/plain, Size: 840 bytes --] On 11/27/2009 11:45 AM, Takashi Iwai wrote: > Could you give rather alsa-info.sh output (run with --no-upload option)? Yup, attached. >> It's a regression against, I think, 2009-11-13-19-59. > > There aren't so many fundamental changes since Nov. 13. > The major ones are for Intel HDMI, but it should be irrelevant in your > case. > > The changes in patch_sigmatel.c since then are: > > d56757abc11a21996d9839c0d4e3b2c3666cd318 > ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() commit 99dee933c33b63da4339bccc092b69b053fe055a Author: Jiri Slaby <jslaby@novell.com> Date: Fri Nov 27 11:51:13 2009 +0100 Revert "ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect()" This reverts commit d56757abc11a21996d9839c0d4e3b2c3666cd318. Makes the difference :). thanks, -- js [-- Attachment #2: alsa-info.txt.A5lvcWWc1S --] [-- Type: text/plain, Size: 27426 bytes --] upload=true&script=true&cardinfo= !!################################ !!ALSA Information Script v 0.4.58 !!################################ !!Script ran on: Fri Nov 27 11:05:42 UTC 2009 !!Linux Distribution !!------------------ Welcome to openSUSE 11.2 "Emerald" - Kernel \r (\l). openSUSE 11.2 (x86_64) LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64" !!DMI Information !!--------------- Manufacturer: To Be Filled By O.E.M. Product Name: To Be Filled By O.E.M. !!Kernel Information !!------------------ Kernel release: 2.6.32-rc8-mm1_64 Operating System: GNU/Linux Architecture: x86_64 Processor: x86_64 SMP Enabled: Yes !!ALSA Version !!------------ Driver version: 1.0.21 Library version: Utilities version: 1.0.21 !!Loaded ALSA modules !!------------------- !!Sound Servers on this system !!---------------------------- Pulseaudio: Installed - Yes (/usr/bin/pulseaudio) Running - Yes ESound Daemon: Installed - Yes (/usr/bin/esd) Running - No aRts: Installed - Yes (/opt/kde3/bin/artsd) Running - No !!Soundcards recognised by ALSA !!----------------------------- 0 [Intel ]: HDA-Intel - HDA Intel HDA Intel at 0xffa74000 irq 29 !!PCI Soundcards installed in the system !!-------------------------------------- 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02) !!Advanced information - PCI Vendor/Device/Susbsystem ID's !!-------------------------------------------------------- 00:1b.0 0403: 8086:293e (rev 02) Subsystem: 8086:293e !!Loaded sound module options !!-------------------------- !!HDA-Intel Codec information !!--------------------------- --startcollapse-- Codec: SigmaTel STAC9274D Address: 2 Function Id: 0x1 Vendor Id: 0x83847621 Subsystem Id: 0x00000100 Revision Id: 0x100201 No Modem Function Group found Default PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x0e, stepsize=0x05, mute=0 Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1 GPIO: io=3, o=0, i=0, unsolicited=1, wake=1 IO[0]: enable=1, dir=1, wake=0, sticky=0, data=0, unsol=0 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 Analog Loopback: 0x00 Node 0x02 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Front Playback Volume", index=0, device=0 Control: name="Front Playback Switch", index=0, device=0 Device: name="STAC92xx Analog", type="Audio", device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Side Playback Volume", index=0, device=0 Control: name="Side Playback Switch", index=0, device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Center Playback Volume", index=0, device=0 Control: name="Center Playback Switch", index=0, device=0 Control: name="LFE Playback Volume", index=0, device=0 Control: name="LFE Playback Switch", index=0, device=0 Control: name="Swap Center/LFE Playback Switch", index=0, device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=4 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x05 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Surround Playback Volume", index=0, device=0 Control: name="Surround Playback Switch", index=0, device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=2 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x06 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Headphone Playback Volume", index=0, device=0 Control: name="Headphone Playback Switch", index=0, device=0 Amp-Out caps: N/A Amp-Out vals: [0x67 0x67] Converter: stream=5, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x07 [Audio Input] wcaps 0x1d0541: Stereo Device: name="STAC92xx Analog", type="Audio", device=0 Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x1b Processing caps: benign=0, ncoeff=0 Node 0x08 [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x1c Processing caps: benign=0, ncoeff=0 Node 0x09 [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x1d Processing caps: benign=0, ncoeff=0 Node 0x0a [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x02214020: [Jack] HP Out at Ext Front Conn = 1/8, Color = Green DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=01, enabled=1 Connection: 3 0x02 0x03 0x06* Node 0x0b [Pin Complex] wcaps 0x400181: Stereo Control: name="Front Mic Jack Mode", index=0, device=0 Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x02a19080: [Jack] Mic at Ext Front Conn = 1/8, Color = Pink DefAssociation = 0x8, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=03, enabled=1 Connection: 3 0x02* 0x03 0x06 Node 0x0c [Pin Complex] wcaps 0x400181: Stereo Control: name="Line Jack Mode", index=0, device=0 Pincap 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x0181304e: [Jack] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x4, Sequence = 0xe Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=04, enabled=1 Connection: 1 0x03 Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01014010: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Green DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 1 0x02 Node 0x0e [Pin Complex] wcaps 0x400181: Stereo Control: name="Mic Jack Mode", index=0, device=0 Pincap 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01a19040: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink DefAssociation = 0x4, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=02, enabled=1 Connection: 1 0x04 Node 0x0f [Pin Complex] wcaps 0x400181: Stereo Pincap 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01011012: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0x2 Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 1 0x05 Node 0x10 [Pin Complex] wcaps 0x400181: Stereo Pincap 0x00000037: IN OUT Detect Trigger ImpSense Pin Default 0x01016011: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Orange DefAssociation = 0x1, Sequence = 0x1 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x04 Node 0x11 [Pin Complex] wcaps 0x400181: Stereo Pincap 0x00000037: IN OUT Detect Trigger ImpSense Pin Default 0x01012014: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Grey DefAssociation = 0x1, Sequence = 0x4 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x03 Node 0x12 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x503301f0: [N/A] CD at Int N/A Conn = ATAPI, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x13 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x50a001f0: [N/A] Mic at Int N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x14 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x50a001f0: [N/A] Mic at Int N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x15 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Control: name="Mux Capture Volume", index=0, device=0 Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e* 0x12 0x0f 0x0b 0x0c 0x0d 0x0a 0x10 0x11 Node 0x16 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Control: name="Mux Capture Volume", index=1, device=0 Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e* 0x12 0x0f 0x0b 0x0c 0x0d 0x0a 0x10 0x11 Node 0x17 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Control: name="Mux Capture Volume", index=2, device=0 Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e* 0x12 0x0f 0x0b 0x0c 0x0d 0x0a 0x10 0x11 Node 0x18 [Audio Selector] wcaps 0x300103: Stereo Amp-In Control: name="Capture Volume", index=0, device=0 Amp-In caps: N/A Amp-In vals: [0x08 0x08] Connection: 1 0x15 Node 0x19 [Audio Selector] wcaps 0x300103: Stereo Amp-In Control: name="Capture Volume", index=1, device=0 Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x16 Node 0x1a [Audio Selector] wcaps 0x300103: Stereo Amp-In Control: name="Capture Volume", index=2, device=0 Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x17 Node 0x1b [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Control: name="Capture Switch", index=0, device=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Connection: 3 0x18* 0x13 0x14 Node 0x1c [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Control: name="Capture Switch", index=1, device=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Connection: 3 0x19* 0x13 0x14 Node 0x1d [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Control: name="Capture Switch", index=2, device=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Connection: 3 0x1a* 0x13 0x14 Node 0x1e [Audio Output] wcaps 0x40211: Stereo Digital Control: name="IEC958 Playback Con Mask", index=0, device=0 Control: name="IEC958 Playback Pro Mask", index=0, device=0 Control: name="IEC958 Playback Default", index=0, device=0 Control: name="IEC958 Playback Switch", index=0, device=0 Control: name="IEC958 Default PCM Playback Switch", index=0, device=0 Device: name="STAC92xx Digital", type="SPDIF", device=1 Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Node 0x1f [Vendor Defined Widget] wcaps 0xf30201: Stereo Digital Delay: 3 samples Node 0x20 [Audio Input] wcaps 0x140311: Stereo Digital Device: name="STAC92xx Digital", type="SPDIF", device=1 Converter: stream=0, channel=0 SDI-Select: 0 Digital: Digital category: 0x0 PCM: rates [0x160]: 44100 48000 96000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Connection: 1 0x22 Node 0x21 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x00000010: OUT Pin Default 0x01442170: [Jack] SPDIF Out at Ext Rear Conn = RCA, Color = Grey DefAssociation = 0x7, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Connection: 5 0x1e* 0x1f 0x1b 0x1c 0x1d Node 0x22 [Pin Complex] wcaps 0x430681: Stereo Digital Pincap 0x00010024: IN EAPD Detect EAPD 0x0: Pin Default 0x81c42090: [Fixed] SPDIF In at Ext Rear Conn = RCA, Color = Grey DefAssociation = 0x9, Sequence = 0x0 Pin-ctls: 0x20: IN Unsolicited: tag=00, enabled=0 Power: setting=D0, actual=D0 Delay: 3 samples Node 0x23 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0 Amp-Out vals: [0x00] Node 0x24 [Volume Knob Widget] wcaps 0x600000: Mono Volume-Knob: delta=1, steps=127, direct=1, val=127 Connection: 5 0x02 0x03 0x04 0x05 0x06 --endcollapse-- !!ALSA Device nodes !!----------------- crw-rw----+ 1 root audio 116, 0 Nov 27 12:03 /dev/snd/controlC0 crw-rw----+ 1 root audio 116, 24 Nov 27 12:03 /dev/snd/pcmC0D0c crw-rw----+ 1 root audio 116, 16 Nov 27 12:03 /dev/snd/pcmC0D0p crw-rw----+ 1 root audio 116, 25 Nov 27 12:03 /dev/snd/pcmC0D1c crw-rw----+ 1 root audio 116, 17 Nov 27 12:03 /dev/snd/pcmC0D1p crw-rw----+ 1 root audio 116, 1 Nov 27 12:03 /dev/snd/seq crw-rw----+ 1 root audio 116, 33 Nov 27 12:03 /dev/snd/timer /dev/snd/by-path: total 0 drwxr-xr-x 2 root root 60 Nov 27 12:03 . drwxr-xr-x 3 root root 200 Nov 27 12:03 .. lrwxrwxrwx 1 root root 12 Nov 27 12:03 pci-0000:00:1b.0 -> ../controlC0 !!Aplay/Arecord output !!------------ APLAY **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 ARECORD **** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog] Subdevices: 3/3 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 !!Amixer output !!------------- !!-------Mixer controls for card 0 [Intel] Card hw:0 'Intel'/'HDA Intel at 0xffa74000 irq 29' Mixer name : 'SigmaTel STAC9274D' Components : 'HDA:83847621,00000100,00100201' Controls : 37 Simple ctrls : 24 Simple mixer control 'Master',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 40 [62%] [-18.00dB] [on] Simple mixer control 'Headphone',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 64 [100%] [0.00dB] [on] Front Right: Playback 64 [100%] [0.00dB] [on] Simple mixer control 'PCM',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 255 Mono: Front Left: Playback 254 [100%] [0.20dB] Front Right: Playback 254 [100%] [0.20dB] Simple mixer control 'Front',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 64 [100%] [0.00dB] [on] Front Right: Playback 64 [100%] [0.00dB] [on] Simple mixer control 'Front Mic Jack Mode',0 Capabilities: enum Items: 'Mic In' 'Line In' Item0: 'Mic In' Simple mixer control 'Surround',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 64 [100%] [0.00dB] [on] Front Right: Playback 64 [100%] [0.00dB] [on] Simple mixer control 'Center',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 64 [100%] [0.00dB] [on] Simple mixer control 'LFE',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 64 [100%] [0.00dB] [on] Simple mixer control 'Side',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 64 [100%] [0.00dB] [on] Front Right: Playback 64 [100%] [0.00dB] [on] Simple mixer control 'Line Jack Mode',0 Capabilities: enum Items: 'Mic In' 'Line In' Item0: 'Line In' Simple mixer control 'Mic Jack Mode',0 Capabilities: enum Items: 'Mic In' 'Line In' Item0: 'Mic In' Simple mixer control 'IEC958',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'IEC958 Default PCM',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on] Simple mixer control 'IEC958 Playback Source',0 Capabilities: enum Items: 'Digital Playback' 'ADAT' 'Analog Mux 1' 'Analog Mux 2' 'Analog Mux 3' Item0: 'Digital Playback' Simple mixer control 'Capture',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 14 Front Left: Capture 8 [57%] [12.00dB] [on] Front Right: Capture 8 [57%] [12.00dB] [on] Simple mixer control 'Capture',1 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 14 Front Left: Capture 0 [0%] [0.00dB] [off] Front Right: Capture 0 [0%] [0.00dB] [off] Simple mixer control 'Capture',2 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 14 Front Left: Capture 0 [0%] [0.00dB] [off] Front Right: Capture 0 [0%] [0.00dB] [off] Simple mixer control 'Input Source',0 Capabilities: cenum Items: 'Mic' 'Front Mic' 'Line' Item0: 'Mic' Simple mixer control 'Input Source',1 Capabilities: cenum Items: 'Mic' 'Front Mic' 'Line' Item0: 'Mic' Simple mixer control 'Input Source',2 Capabilities: cenum Items: 'Mic' 'Front Mic' 'Line' Item0: 'Mic' Simple mixer control 'Mux',0 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 4 Front Left: Capture 0 [0%] [0.00dB] Front Right: Capture 0 [0%] [0.00dB] Simple mixer control 'Mux',1 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 4 Front Left: Capture 0 [0%] [0.00dB] Front Right: Capture 0 [0%] [0.00dB] Simple mixer control 'Mux',2 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 4 Front Left: Capture 0 [0%] [0.00dB] Front Right: Capture 0 [0%] [0.00dB] Simple mixer control 'Swap Center/LFE',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] !!Alsactl output !!------------- --startcollapse-- state.Intel { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Front Playback Volume' value.0 64 value.1 64 } control.2 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Front Playback Switch' value.0 true value.1 true } control.3 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Surround Playback Volume' value.0 64 value.1 64 } control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Surround Playback Switch' value.0 true value.1 true } control.5 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Center Playback Volume' value 64 } control.6 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Center Playback Switch' value true } control.7 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'LFE Playback Volume' value 64 } control.8 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'LFE Playback Switch' value true } control.9 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Swap Center/LFE Playback Switch' value false } control.10 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Side Playback Volume' value.0 64 value.1 64 } control.11 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Side Playback Switch' value.0 true value.1 true } control.12 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Mic In' comment.item.1 'Line In' iface MIXER name 'Mic Jack Mode' value 'Mic In' } control.13 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Mic In' comment.item.1 'Line In' iface MIXER name 'Front Mic Jack Mode' value 'Mic In' } control.14 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Mic In' comment.item.1 'Line In' iface MIXER name 'Line Jack Mode' value 2 } control.15 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Headphone Playback Volume' value.0 64 value.1 64 } control.16 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback Switch' value.0 true value.1 true } control.17 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 14' comment.dbmin 0 comment.dbmax 2100 iface MIXER name 'Capture Volume' value.0 8 value.1 8 } control.18 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' value.0 true value.1 true } control.19 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 14' comment.dbmin 0 comment.dbmax 2100 iface MIXER name 'Capture Volume' index 1 value.0 0 value.1 0 } control.20 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 1 value.0 false value.1 false } control.21 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 14' comment.dbmin 0 comment.dbmax 2100 iface MIXER name 'Capture Volume' index 2 value.0 0 value.1 0 } control.22 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 2 value.0 false value.1 false } control.23 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 4' comment.dbmin 0 comment.dbmax 4000 iface MIXER name 'Mux Capture Volume' value.0 0 value.1 0 } control.24 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 4' comment.dbmin 0 comment.dbmax 4000 iface MIXER name 'Mux Capture Volume' index 1 value.0 0 value.1 0 } control.25 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 4' comment.dbmin 0 comment.dbmax 4000 iface MIXER name 'Mux Capture Volume' index 2 value.0 0 value.1 0 } control.26 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 Mic comment.item.1 'Front Mic' comment.item.2 Line iface MIXER name 'Input Source' value Mic } control.27 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 Mic comment.item.1 'Front Mic' comment.item.2 Line iface MIXER name 'Input Source' index 1 value Mic } control.28 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 Mic comment.item.1 'Front Mic' comment.item.2 Line iface MIXER name 'Input Source' index 2 value Mic } control.29 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Digital Playback' comment.item.1 ADAT comment.item.2 'Analog Mux 1' comment.item.3 'Analog Mux 2' comment.item.4 'Analog Mux 3' iface MIXER name 'IEC958 Playback Source' value 'Digital Playback' } control.30 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Con Mask' value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.31 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Pro Mask' value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.32 { comment.access 'read write' comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Default' value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.33 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Playback Switch' value false } control.34 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Default PCM Playback Switch' value true } control.35 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Master Playback Volume' value 40 } control.36 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Master Playback Switch' value true } control.37 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 255' comment.tlv '0000000100000008ffffec1400000014' comment.dbmin -5100 comment.dbmax 0 iface MIXER name 'PCM Playback Volume' value.0 254 value.1 254 } } --endcollapse-- !!All Loaded Modules !!------------------ Module fuse ath5k ath !!ALSA/HDA dmesg !!------------------ [ 0.773909] alloc kstat_irqs on node -1 [ 0.773982] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 [ 0.774129] alloc irq_desc for 29 on node -1 [ 0.774202] alloc kstat_irqs on node -1 [ 0.774281] HDA Intel 0000:00:1b.0: irq 29 for MSI/MSI-X [ 0.774378] HDA Intel 0000:00:1b.0: setting latency timer to 64 [ 0.901950] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300) -- [ 0.969812] sd 0:0:0:0: [sda] Attached SCSI disk [ 1.120168] ALSA device list: [ 1.120242] #0: HDA Intel at 0xffa74000 irq 29 [ 1.120423] TCP cubic registered ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 11:07 ` Jiri Slaby @ 2009-11-27 11:18 ` Takashi Iwai 2009-11-27 12:22 ` Jiri Slaby 0 siblings, 1 reply; 31+ messages in thread From: Takashi Iwai @ 2009-11-27 11:18 UTC (permalink / raw) To: Jiri Slaby Cc: linux-kernel, akpm, mm-commits, Jaroslav Kysela, alsa-devel, fengguang.wu At Fri, 27 Nov 2009 12:07:14 +0100, Jiri Slaby wrote: > > On 11/27/2009 11:45 AM, Takashi Iwai wrote: > > Could you give rather alsa-info.sh output (run with --no-upload option)? > > Yup, attached. Thanks. Just to be sure -- which h/w vendor/machine is it? > >> It's a regression against, I think, 2009-11-13-19-59. > > > > There aren't so many fundamental changes since Nov. 13. > > The major ones are for Intel HDMI, but it should be irrelevant in your > > case. > > > > The changes in patch_sigmatel.c since then are: > > > > d56757abc11a21996d9839c0d4e3b2c3666cd318 > > ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() > > commit 99dee933c33b63da4339bccc092b69b053fe055a > Author: Jiri Slaby <jslaby@novell.com> > Date: Fri Nov 27 11:51:13 2009 +0100 > > Revert "ALSA: hda - Replace the rest of jack-detections with > snd_hda_jack_detect()" > > This reverts commit d56757abc11a21996d9839c0d4e3b2c3666cd318. > > > Makes the difference :). Oh, it's good that you found it quickly. It means that STAC/IDT codecs give a wrong pin capability. I'll revert the changes for patch_sigmatel.c now. thanks, Takashi ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 11:18 ` Takashi Iwai @ 2009-11-27 12:22 ` Jiri Slaby 2009-11-27 12:26 ` Takashi Iwai 0 siblings, 1 reply; 31+ messages in thread From: Jiri Slaby @ 2009-11-27 12:22 UTC (permalink / raw) To: Takashi Iwai Cc: linux-kernel, akpm, mm-commits, Jaroslav Kysela, alsa-devel, fengguang.wu On 11/27/2009 12:18 PM, Takashi Iwai wrote: > Just to be sure -- which h/w vendor/machine is it? It's an intel development box -- intel motherboard with integrated sound. -- js ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 12:22 ` Jiri Slaby @ 2009-11-27 12:26 ` Takashi Iwai 0 siblings, 0 replies; 31+ messages in thread From: Takashi Iwai @ 2009-11-27 12:26 UTC (permalink / raw) To: Jiri Slaby Cc: linux-kernel, akpm, mm-commits, Jaroslav Kysela, alsa-devel, fengguang.wu At Fri, 27 Nov 2009 13:22:57 +0100, Jiri Slaby wrote: > > On 11/27/2009 12:18 PM, Takashi Iwai wrote: > > Just to be sure -- which h/w vendor/machine is it? > > It's an intel development box -- intel motherboard with integrated sound. OK, thanks. I asked it just because I've been gathering the information of HD-audio for various machines. Takashi ^ permalink raw reply [flat|nested] 31+ messages in thread
* WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-25 0:47 mmotm 2009-11-24-16-47 uploaded akpm ` (2 preceding siblings ...) 2009-11-27 10:33 ` ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby @ 2009-11-27 15:03 ` Jiri Slaby 2009-11-27 15:17 ` Peter Zijlstra 3 siblings, 1 reply; 31+ messages in thread From: Jiri Slaby @ 2009-11-27 15:03 UTC (permalink / raw) To: linux-kernel Cc: akpm, mm-commits, Avi Kivity, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar, Peter Zijlstra On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to Hi, when executing qemu-kvm I often get following warning and a hard lockup. WARNING: at kernel/smp.c:292 smp_call_function_single+0xbd/0x140() Hardware name: To Be Filled By O.E.M. Modules linked in: kvm_intel kvm fuse ath5k ath Pid: 3265, comm: qemu-kvm Not tainted 2.6.32-rc8-mm1_64 #912 Call Trace: [<ffffffff81039678>] warn_slowpath_common+0x78/0xb0 [<ffffffffa007fd50>] ? __vcpu_clear+0x0/0xd0 [kvm_intel] [<ffffffff810396bf>] warn_slowpath_null+0xf/0x20 [<ffffffff8106410d>] smp_call_function_single+0xbd/0x140 [<ffffffffa0080af6>] vmx_vcpu_load+0x46/0x170 [kvm_intel] [<ffffffffa004dd94>] kvm_arch_vcpu_load+0x24/0x60 [kvm] [<ffffffffa0047a8d>] kvm_sched_in+0xd/0x10 [kvm] [<ffffffff8102de37>] finish_task_switch+0x67/0xc0 [<ffffffff814699f8>] schedule+0x2f8/0x9c0 [<ffffffffa0063538>] ? kvm_apic_has_interrupt+0x48/0x90 [kvm] [<ffffffffa0062a58>] ? kvm_cpu_has_interrupt+0x58/0x70 [kvm] [<ffffffffa0047c9d>] kvm_vcpu_block+0x6d/0xb0 [kvm] [<ffffffff81050f60>] ? autoremove_wake_function+0x0/0x40 [<ffffffffa0055a5a>] kvm_arch_vcpu_ioctl_run+0x3fa/0xb80 [kvm] [<ffffffffa0049955>] kvm_vcpu_ioctl+0x435/0x590 [kvm] [<ffffffff8102f4ce>] ? enqueue_entity+0x6e/0xe0 [<ffffffff8102f5eb>] ? enqueue_task_fair+0x3b/0x80 [<ffffffff8102f6c3>] ? task_new_fair+0x93/0x120 [<ffffffff810cd848>] vfs_ioctl+0x38/0xd0 [<ffffffff810cdd8a>] do_vfs_ioctl+0x8a/0x5a0 [<ffffffff81062926>] ? sys_futex+0xc6/0x170 [<ffffffff810ce2ea>] sys_ioctl+0x4a/0x80 [<ffffffff81002eeb>] system_call_fastpath+0x16/0x1b ---[ end trace ced05997e63d4d13 ]--- It is a regression against 2009-11-13-19-59. Any ideas? thanks, -- js ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 15:03 ` WARNING: kernel/smp.c:292 smp_call_function_single [Was: " Jiri Slaby @ 2009-11-27 15:17 ` Peter Zijlstra 2009-11-27 16:37 ` Thomas Gleixner 0 siblings, 1 reply; 31+ messages in thread From: Peter Zijlstra @ 2009-11-27 15:17 UTC (permalink / raw) To: Jiri Slaby Cc: linux-kernel, akpm, mm-commits, Avi Kivity, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar On Fri, 2009-11-27 at 16:03 +0100, Jiri Slaby wrote: > On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: > > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > Hi, when executing qemu-kvm I often get following warning and a hard lockup. > > WARNING: at kernel/smp.c:292 smp_call_function_single+0xbd/0x140() > Hardware name: To Be Filled By O.E.M. > Modules linked in: kvm_intel kvm fuse ath5k ath > Pid: 3265, comm: qemu-kvm Not tainted 2.6.32-rc8-mm1_64 #912 > Call Trace: > [<ffffffff81039678>] warn_slowpath_common+0x78/0xb0 > [<ffffffffa007fd50>] ? __vcpu_clear+0x0/0xd0 [kvm_intel] > [<ffffffff810396bf>] warn_slowpath_null+0xf/0x20 > [<ffffffff8106410d>] smp_call_function_single+0xbd/0x140 > [<ffffffffa0080af6>] vmx_vcpu_load+0x46/0x170 [kvm_intel] > [<ffffffffa004dd94>] kvm_arch_vcpu_load+0x24/0x60 [kvm] > [<ffffffffa0047a8d>] kvm_sched_in+0xd/0x10 [kvm] > [<ffffffff8102de37>] finish_task_switch+0x67/0xc0 > [<ffffffff814699f8>] schedule+0x2f8/0x9c0 > > It is a regression against 2009-11-13-19-59. > > Any ideas? Looks like kvm is trying to send an IPI from the preempt notifiers, which are called with IRQs disabled, not a sane thing to do. If they really want that, they'll have to use a pre-allocated struct call_single_data and use __smp_call_function_single. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 15:17 ` Peter Zijlstra @ 2009-11-27 16:37 ` Thomas Gleixner 2009-11-27 16:44 ` Thomas Gleixner 2009-11-28 12:12 ` Avi Kivity 0 siblings, 2 replies; 31+ messages in thread From: Thomas Gleixner @ 2009-11-27 16:37 UTC (permalink / raw) To: Peter Zijlstra Cc: Jiri Slaby, linux-kernel, akpm, mm-commits, Avi Kivity, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar On Fri, 27 Nov 2009, Peter Zijlstra wrote: > On Fri, 2009-11-27 at 16:03 +0100, Jiri Slaby wrote: > > On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: > > > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > > > Hi, when executing qemu-kvm I often get following warning and a hard lockup. > > > > WARNING: at kernel/smp.c:292 smp_call_function_single+0xbd/0x140() > > Hardware name: To Be Filled By O.E.M. > > Modules linked in: kvm_intel kvm fuse ath5k ath > > Pid: 3265, comm: qemu-kvm Not tainted 2.6.32-rc8-mm1_64 #912 > > Call Trace: > > [<ffffffff81039678>] warn_slowpath_common+0x78/0xb0 > > [<ffffffffa007fd50>] ? __vcpu_clear+0x0/0xd0 [kvm_intel] > > [<ffffffff810396bf>] warn_slowpath_null+0xf/0x20 > > [<ffffffff8106410d>] smp_call_function_single+0xbd/0x140 > > [<ffffffffa0080af6>] vmx_vcpu_load+0x46/0x170 [kvm_intel] > > [<ffffffffa004dd94>] kvm_arch_vcpu_load+0x24/0x60 [kvm] > > [<ffffffffa0047a8d>] kvm_sched_in+0xd/0x10 [kvm] > > [<ffffffff8102de37>] finish_task_switch+0x67/0xc0 > > [<ffffffff814699f8>] schedule+0x2f8/0x9c0 > > > > > It is a regression against 2009-11-13-19-59. > > > > Any ideas? > > Looks like kvm is trying to send an IPI from the preempt notifiers, > which are called with IRQs disabled, not a sane thing to do. > > If they really want that, they'll have to use a pre-allocated struct > call_single_data and use __smp_call_function_single. Hmm, commit 498657a moved the fire_sched_in_preempt_notifiers() call into the irqs disabled section recently. sched, kvm: Fix race condition involving sched_in_preempt_notifers In finish_task_switch(), fire_sched_in_preempt_notifiers() is called after finish_lock_switch(). However, depending on architecture, preemption can be enabled after finish_lock_switch() which breaks the semantics of preempt notifiers. So move it before finish_arch_switch(). This also makes the in- notifiers symmetric to out- notifiers in terms of locking - now both are called under rq lock. It's not a surprise that this breaks the existing code which does the smp function call. Thanks, tglx ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 16:37 ` Thomas Gleixner @ 2009-11-27 16:44 ` Thomas Gleixner 2009-11-28 12:12 ` Avi Kivity 1 sibling, 0 replies; 31+ messages in thread From: Thomas Gleixner @ 2009-11-27 16:44 UTC (permalink / raw) To: Peter Zijlstra Cc: Jiri Slaby, LKML, Andrew Morton, mm-commits, Avi Kivity, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar, Tejun Heo On Fri, 27 Nov 2009, Thomas Gleixner wrote: > On Fri, 27 Nov 2009, Peter Zijlstra wrote: > > > On Fri, 2009-11-27 at 16:03 +0100, Jiri Slaby wrote: > > > On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: > > > > The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to > > > > > > Hi, when executing qemu-kvm I often get following warning and a hard lockup. > > > > > > WARNING: at kernel/smp.c:292 smp_call_function_single+0xbd/0x140() > > > Hardware name: To Be Filled By O.E.M. > > > Modules linked in: kvm_intel kvm fuse ath5k ath > > > Pid: 3265, comm: qemu-kvm Not tainted 2.6.32-rc8-mm1_64 #912 > > > Call Trace: > > > [<ffffffff81039678>] warn_slowpath_common+0x78/0xb0 > > > [<ffffffffa007fd50>] ? __vcpu_clear+0x0/0xd0 [kvm_intel] > > > [<ffffffff810396bf>] warn_slowpath_null+0xf/0x20 > > > [<ffffffff8106410d>] smp_call_function_single+0xbd/0x140 > > > [<ffffffffa0080af6>] vmx_vcpu_load+0x46/0x170 [kvm_intel] > > > [<ffffffffa004dd94>] kvm_arch_vcpu_load+0x24/0x60 [kvm] > > > [<ffffffffa0047a8d>] kvm_sched_in+0xd/0x10 [kvm] > > > [<ffffffff8102de37>] finish_task_switch+0x67/0xc0 > > > [<ffffffff814699f8>] schedule+0x2f8/0x9c0 > > > > > > > > It is a regression against 2009-11-13-19-59. > > > > > > Any ideas? > > > > Looks like kvm is trying to send an IPI from the preempt notifiers, > > which are called with IRQs disabled, not a sane thing to do. > > > > If they really want that, they'll have to use a pre-allocated struct > > call_single_data and use __smp_call_function_single. > > Hmm, commit 498657a moved the fire_sched_in_preempt_notifiers() call > into the irqs disabled section recently. > > sched, kvm: Fix race condition involving sched_in_preempt_notifers > > In finish_task_switch(), fire_sched_in_preempt_notifiers() is > called after finish_lock_switch(). > > However, depending on architecture, preemption can be enabled after > finish_lock_switch() which breaks the semantics of preempt > notifiers. This is patently wrong btw. schedule() { need_resched: preempt_disable(); .... task_switch(); .... preempt_enable_no_resched(); if (need_resched()) goto need_resched; } > > So move it before finish_arch_switch(). This also makes the in- > notifiers symmetric to out- notifiers in terms of locking - now > both are called under rq lock. > > It's not a surprise that this breaks the existing code which does the > smp function call. Thanks, tglx ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-27 16:37 ` Thomas Gleixner 2009-11-27 16:44 ` Thomas Gleixner @ 2009-11-28 12:12 ` Avi Kivity 2009-11-30 8:58 ` Tejun Heo 1 sibling, 1 reply; 31+ messages in thread From: Avi Kivity @ 2009-11-28 12:12 UTC (permalink / raw) To: Thomas Gleixner Cc: Peter Zijlstra, Jiri Slaby, linux-kernel, akpm, mm-commits, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar, Tejun Heo On 11/27/2009 06:37 PM, Thomas Gleixner wrote: > On Fri, 27 Nov 2009, Peter Zijlstra wrote: > > >> On Fri, 2009-11-27 at 16:03 +0100, Jiri Slaby wrote: >> >>> On 11/25/2009 01:47 AM, akpm@linux-foundation.org wrote: >>> >>>> The mm-of-the-moment snapshot 2009-11-24-16-47 has been uploaded to >>>> >>> Hi, when executing qemu-kvm I often get following warning and a hard lockup. >>> >>> WARNING: at kernel/smp.c:292 smp_call_function_single+0xbd/0x140() >>> Hardware name: To Be Filled By O.E.M. >>> Modules linked in: kvm_intel kvm fuse ath5k ath >>> Pid: 3265, comm: qemu-kvm Not tainted 2.6.32-rc8-mm1_64 #912 >>> Call Trace: >>> [<ffffffff81039678>] warn_slowpath_common+0x78/0xb0 >>> [<ffffffffa007fd50>] ? __vcpu_clear+0x0/0xd0 [kvm_intel] >>> [<ffffffff810396bf>] warn_slowpath_null+0xf/0x20 >>> [<ffffffff8106410d>] smp_call_function_single+0xbd/0x140 >>> [<ffffffffa0080af6>] vmx_vcpu_load+0x46/0x170 [kvm_intel] >>> [<ffffffffa004dd94>] kvm_arch_vcpu_load+0x24/0x60 [kvm] >>> [<ffffffffa0047a8d>] kvm_sched_in+0xd/0x10 [kvm] >>> [<ffffffff8102de37>] finish_task_switch+0x67/0xc0 >>> [<ffffffff814699f8>] schedule+0x2f8/0x9c0 >>> >> >>> It is a regression against 2009-11-13-19-59. >>> >>> Any ideas? >>> >> Looks like kvm is trying to send an IPI from the preempt notifiers, >> which are called with IRQs disabled, not a sane thing to do. >> >> If they really want that, they'll have to use a pre-allocated struct >> call_single_data and use __smp_call_function_single. >> > Hmm, commit 498657a moved the fire_sched_in_preempt_notifiers() call > into the irqs disabled section recently. > > sched, kvm: Fix race condition involving sched_in_preempt_notifers > > In finish_task_switch(), fire_sched_in_preempt_notifiers() is > called after finish_lock_switch(). > > However, depending on architecture, preemption can be enabled after > finish_lock_switch() which breaks the semantics of preempt > notifiers. > > So move it before finish_arch_switch(). This also makes the in- > notifiers symmetric to out- notifiers in terms of locking - now > both are called under rq lock. > > It's not a surprise that this breaks the existing code which does the > smp function call. > Yes, kvm expects preempt notifiers to be run with irqs enabled. Copying patch author. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-28 12:12 ` Avi Kivity @ 2009-11-30 8:58 ` Tejun Heo 2009-11-30 9:41 ` Avi Kivity 2009-11-30 10:02 ` Thomas Gleixner 0 siblings, 2 replies; 31+ messages in thread From: Tejun Heo @ 2009-11-30 8:58 UTC (permalink / raw) To: Avi Kivity Cc: Thomas Gleixner, Peter Zijlstra, Jiri Slaby, linux-kernel, akpm, mm-commits, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar Hello, On 11/28/2009 09:12 PM, Avi Kivity wrote: >> Hmm, commit 498657a moved the fire_sched_in_preempt_notifiers() call >> into the irqs disabled section recently. >> >> sched, kvm: Fix race condition involving sched_in_preempt_notifers >> >> In finish_task_switch(), fire_sched_in_preempt_notifiers() is >> called after finish_lock_switch(). >> >> However, depending on architecture, preemption can be enabled after >> finish_lock_switch() which breaks the semantics of preempt >> notifiers. >> >> So move it before finish_arch_switch(). This also makes the in- >> notifiers symmetric to out- notifiers in terms of locking - now >> both are called under rq lock. >> >> It's not a surprise that this breaks the existing code which does the >> smp function call. > > Yes, kvm expects preempt notifiers to be run with irqs enabled. Copying > patch author. Hmmm... then, it's broken both ways. The previous code may get preempted after scheduling but before the notifier is run (which breaks the semantics of the callback horribly), the current code doesn't satisfy kvm's requirement. Another thing is that in the previous implementation the context is different between the 'in' and 'out' callbacks, which is subtle and nasty. Can kvm be converted to not do smp calls directly? For the time being, maybe it's best to back out the fix given that the only architecture which may be affected by the original bug is ia64 which is the only one with both kvm and the unlocked context switch. Thanks. -- tejun ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-30 8:58 ` Tejun Heo @ 2009-11-30 9:41 ` Avi Kivity 2009-11-30 10:02 ` Thomas Gleixner 1 sibling, 0 replies; 31+ messages in thread From: Avi Kivity @ 2009-11-30 9:41 UTC (permalink / raw) To: Tejun Heo Cc: Thomas Gleixner, Peter Zijlstra, Jiri Slaby, linux-kernel, akpm, mm-commits, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar On 11/30/2009 10:58 AM, Tejun Heo wrote: > Hello, > > On 11/28/2009 09:12 PM, Avi Kivity wrote: > >>> Hmm, commit 498657a moved the fire_sched_in_preempt_notifiers() call >>> into the irqs disabled section recently. >>> >>> sched, kvm: Fix race condition involving sched_in_preempt_notifers >>> >>> In finish_task_switch(), fire_sched_in_preempt_notifiers() is >>> called after finish_lock_switch(). >>> >>> However, depending on architecture, preemption can be enabled after >>> finish_lock_switch() which breaks the semantics of preempt >>> notifiers. >>> >>> So move it before finish_arch_switch(). This also makes the in- >>> notifiers symmetric to out- notifiers in terms of locking - now >>> both are called under rq lock. >>> >>> It's not a surprise that this breaks the existing code which does the >>> smp function call. >>> >> Yes, kvm expects preempt notifiers to be run with irqs enabled. Copying >> patch author. >> > Hmmm... then, it's broken both ways. The previous code may get > preempted after scheduling but before the notifier is run (which > breaks the semantics of the callback horribly), the current code > doesn't satisfy kvm's requirement. Another thing is that in the > previous implementation the context is different between the 'in' and > 'out' callbacks, which is subtle and nasty. Can kvm be converted to > not do smp calls directly? > No. kvm uses preempt notifiers to manage extended processor registers (much like the fpu). If we're scheduled into cpu A but state is currently live on cpu B, we need to go ahead and pull it in. Technically, we can delay the IPI to happen after the sched in notifier; we can set some illegal state in cpu A and handle the exception by sending the IPI and fixing up the state. But that would be slower, and not help the problem at all since some accesses happen with interrupts disabled. Since this is essentially the same problem as the fpu, maybe we can solve it the same way. How does the fpu migrate its state across processors? One way would be to save the state when the task is selected for migration. > For the time being, maybe it's best to back out the fix given that the > only architecture which may be affected by the original bug is ia64 > which is the only one with both kvm and the unlocked context switch. > Agreed. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-30 8:58 ` Tejun Heo 2009-11-30 9:41 ` Avi Kivity @ 2009-11-30 10:02 ` Thomas Gleixner 2009-11-30 10:45 ` Tejun Heo 1 sibling, 1 reply; 31+ messages in thread From: Thomas Gleixner @ 2009-11-30 10:02 UTC (permalink / raw) To: Tejun Heo Cc: Avi Kivity, Peter Zijlstra, Jiri Slaby, linux-kernel, akpm, mm-commits, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar On Mon, 30 Nov 2009, Tejun Heo wrote: > Hello, > > On 11/28/2009 09:12 PM, Avi Kivity wrote: > >> Hmm, commit 498657a moved the fire_sched_in_preempt_notifiers() call > >> into the irqs disabled section recently. > >> > >> sched, kvm: Fix race condition involving sched_in_preempt_notifers > >> > >> In finish_task_switch(), fire_sched_in_preempt_notifiers() is > >> called after finish_lock_switch(). > >> > >> However, depending on architecture, preemption can be enabled after > >> finish_lock_switch() which breaks the semantics of preempt > >> notifiers. > >> > >> So move it before finish_arch_switch(). This also makes the in- > >> notifiers symmetric to out- notifiers in terms of locking - now > >> both are called under rq lock. > >> > >> It's not a surprise that this breaks the existing code which does the > >> smp function call. > > > > Yes, kvm expects preempt notifiers to be run with irqs enabled. Copying > > patch author. > > Hmmm... then, it's broken both ways. The previous code may get > preempted after scheduling but before the notifier is run (which > breaks the semantics of the callback horribly), the current code No, it _CANNOT_ be preempted at that point: schedule() { preempt_disable(); switch_to(); preempt_enable(); } > doesn't satisfy kvm's requirement. Another thing is that in the > previous implementation the context is different between the 'in' and > 'out' callbacks, which is subtle and nasty. Can kvm be converted to > not do smp calls directly? > > For the time being, maybe it's best to back out the fix given that the > only architecture which may be affected by the original bug is ia64 > which is the only one with both kvm and the unlocked context switch. Do you have a pointer to the original bug report ? Thanks, tglx ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: WARNING: kernel/smp.c:292 smp_call_function_single [Was: mmotm 2009-11-24-16-47 uploaded] 2009-11-30 10:02 ` Thomas Gleixner @ 2009-11-30 10:45 ` Tejun Heo 2009-11-30 11:02 ` [PATCH tip/sched/urgent] sched: revert 498657a478c60be092208422fefa9c7b248729c2 Tejun Heo 0 siblings, 1 reply; 31+ messages in thread From: Tejun Heo @ 2009-11-30 10:45 UTC (permalink / raw) To: Thomas Gleixner Cc: Avi Kivity, Peter Zijlstra, Jiri Slaby, linux-kernel, akpm, mm-commits, Marcelo Tosatti, kvm, the arch/x86 maintainers, Ingo Molnar Hello, On 11/30/2009 07:02 PM, Thomas Gleixner wrote: > No, it _CANNOT_ be preempted at that point: > > schedule() > { > preempt_disable(); > > switch_to(); > > preempt_enable(); > } Yes, you're right. >> For the time being, maybe it's best to back out the fix given that the >> only architecture which may be affected by the original bug is ia64 >> which is the only one with both kvm and the unlocked context switch. > > Do you have a pointer to the original bug report ? Nope, I was referring to the imaginary race condition, so there's no bug to worry about. The only problem is the asymmetry between in and out callbacks. Then again, it's not really possible to match them on unlocked ctxsw archs anyway, so I guess the only thing to do is to document the context difference between in and out. Sorry about the fuss. I'll send out patch to revert it and document the difference. Thanks. -- tejun ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH tip/sched/urgent] sched: revert 498657a478c60be092208422fefa9c7b248729c2 2009-11-30 10:45 ` Tejun Heo @ 2009-11-30 11:02 ` Tejun Heo 2009-11-30 11:13 ` Avi Kivity 0 siblings, 1 reply; 31+ messages in thread From: Tejun Heo @ 2009-11-30 11:02 UTC (permalink / raw) To: Thomas Gleixner, Ingo Molnar Cc: Avi Kivity, Peter Zijlstra, Jiri Slaby, linux-kernel, akpm, mm-commits, Marcelo Tosatti, kvm, the arch/x86 maintainers 498657a478c60be092208422fefa9c7b248729c2 incorrectly assumed that preempt wasn't disabled around context_switch() and thus was fixing imaginary problem. It also broke kvm because it depended on ->sched_in() to be called with irq enabled so that it can do smp calls from there. Revert the incorrect commit and add comment describing different contexts under with the two callbacks are invoked. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Avi Kivity <avi@redhat.com> --- Again, my apologies for the unnecessary fuss. I for some reason was thinking schedule_tail() is always called after context_switch() and the ifdefed preemption enable there led me to think that at that point preemption was enabled once lock switch is over. Thank you. include/linux/preempt.h | 4 ++++ kernel/sched.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 72b1a10..736892c 100644 --- a/include/linux/preempt.h +++ b/include/linux/preempt.h @@ -105,6 +105,10 @@ struct preempt_notifier; * @sched_out: we've just been preempted * notifier: struct preempt_notifier for the task being preempted * next: the task that's kicking us out + * + * Please note that sched_in and out are called under different + * contexts. sched_in is called with rq lock held and irq disabled + * while sched_out is called without rq lock and irq enabled. */ struct preempt_ops { void (*sched_in)(struct preempt_notifier *notifier, int cpu); diff --git a/kernel/sched.c b/kernel/sched.c index 3c91f11..e36c868 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2758,9 +2758,9 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) prev_state = prev->state; finish_arch_switch(prev); perf_event_task_sched_in(current, cpu_of(rq)); - fire_sched_in_preempt_notifiers(current); finish_lock_switch(rq, prev); + fire_sched_in_preempt_notifiers(current); if (mm) mmdrop(mm); if (unlikely(prev_state == TASK_DEAD)) { ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH tip/sched/urgent] sched: revert 498657a478c60be092208422fefa9c7b248729c2 2009-11-30 11:02 ` [PATCH tip/sched/urgent] sched: revert 498657a478c60be092208422fefa9c7b248729c2 Tejun Heo @ 2009-11-30 11:13 ` Avi Kivity 0 siblings, 0 replies; 31+ messages in thread From: Avi Kivity @ 2009-11-30 11:13 UTC (permalink / raw) To: Tejun Heo Cc: Thomas Gleixner, Ingo Molnar, Peter Zijlstra, Jiri Slaby, linux-kernel, akpm, mm-commits, Marcelo Tosatti, kvm, the arch/x86 maintainers On 11/30/2009 01:02 PM, Tejun Heo wrote: > 498657a478c60be092208422fefa9c7b248729c2 incorrectly assumed that > preempt wasn't disabled around context_switch() and thus was fixing > imaginary problem. It also broke kvm because it depended on > ->sched_in() to be called with irq enabled so that it can do smp calls > from there. > > Revert the incorrect commit and add comment describing different > contexts under with the two callbacks are invoked. > > * notifier: struct preempt_notifier for the task being preempted > * next: the task that's kicking us out > + * > + * Please note that sched_in and out are called under different > + * contexts. sched_in is called with rq lock held and irq disabled > + * while sched_out is called without rq lock and irq enabled. > */ > Is this transposed? sched_in must be called with interrupts enabled for the kvm IPI to work. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2009-12-16 11:30 UTC | newest] Thread overview: 31+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-11-25 0:47 mmotm 2009-11-24-16-47 uploaded akpm 2009-11-25 15:12 ` BUG at scsi_lib.c:1108 [Was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby 2009-11-25 15:19 ` James Bottomley 2009-11-25 20:22 ` Jiri Slaby 2009-11-25 21:13 ` Neil Brown 2009-11-26 10:17 ` Boaz Harrosh 2009-11-27 4:17 ` Neil Brown 2009-11-27 10:20 ` Jiri Slaby 2009-11-26 1:46 ` mmotm 2009-11-24-16-47 uploaded (gpio_max7301) Randy Dunlap 2009-11-28 16:21 ` Wolfram Sang 2009-12-15 22:43 ` Andrew Morton 2009-12-15 22:46 ` Randy Dunlap 2009-12-15 23:10 ` Andrew Morton 2009-12-16 11:30 ` Wolfram Sang 2009-11-27 10:33 ` ugly sound output (intel-hda) [was: mmotm 2009-11-24-16-47 uploaded] Jiri Slaby 2009-11-27 10:45 ` Takashi Iwai 2009-11-27 11:07 ` Jiri Slaby 2009-11-27 11:18 ` Takashi Iwai 2009-11-27 12:22 ` Jiri Slaby 2009-11-27 12:26 ` Takashi Iwai 2009-11-27 15:03 ` WARNING: kernel/smp.c:292 smp_call_function_single [Was: " Jiri Slaby 2009-11-27 15:17 ` Peter Zijlstra 2009-11-27 16:37 ` Thomas Gleixner 2009-11-27 16:44 ` Thomas Gleixner 2009-11-28 12:12 ` Avi Kivity 2009-11-30 8:58 ` Tejun Heo 2009-11-30 9:41 ` Avi Kivity 2009-11-30 10:02 ` Thomas Gleixner 2009-11-30 10:45 ` Tejun Heo 2009-11-30 11:02 ` [PATCH tip/sched/urgent] sched: revert 498657a478c60be092208422fefa9c7b248729c2 Tejun Heo 2009-11-30 11:13 ` Avi Kivity
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox