* Linux 2.6.10-rc2 @ 2004-11-15 2:49 Linus Torvalds 2004-11-15 4:07 ` 2.6.10-rc2 doesn't boot Adrian Bunk ` (9 more replies) 0 siblings, 10 replies; 86+ messages in thread From: Linus Torvalds @ 2004-11-15 2:49 UTC (permalink / raw) To: Kernel Mailing List Ok, the -rc2 changes are almost as big as the -rc1 changes, and we should now calm down, so I do not want to see anything but bug-fixes until 2.6.10 is released. Otherwise we'll never get there. A lot of driver updates, many of them of the small and trivial kind, others less so. USB, ALSA, fbdev, IDE, i2c, v4l, you name it. With a sprinking of core device model and PCI updates thrown in for good measure. Also, a number of architecture updates: ppc64, m68k, uml, parisc, arm. And md, NTFS, and Documentation updates too. The diffstat shows more of the story - not so much single really big changes, more of a fairly wideranging thing. Shortlog appended. Linus ----- Summary of changes from v2.6.10-rc1 to v2.6.10-rc2 ============================================ <anoy@mail.ru>: o [ALSA] Fix DXS entry for GA-7VAX <alexn:dsv.su.se>: o x86_64: assign_irq_vector should not be marked __init <jdittmer:ppp0.net>: o fakephp: introduce pci_bus_add_device o fakephp: add pci bus rescan ability <thockin:google.com>: o PCI: small PCI probe patch for odd 64 bit BARs Aaron Grothe: o [CRYPTO]: Add Anubis support Adam Belay: o [PNPBIOS] disable if ACPI is active o [PNPBIOS] acpi compile fix Adam J. Richter: o dmx3191d.c lacked MODULE_DEVICE_TABLE() Adrian Bunk: o net/tokenring/olympic.c: remove unused variable o USB: fix usb/serial/console.c compile error o small SOFTWARE_SUSPEND help text fixes o CREDITS update o ISDN hisax_fcpcipnp.c: kill unused variable o kbuild: Documentation/kbuild/makefiles.txt: check_gcc -> cc-option o [APPLETALK]: Remove an unused function o [IRDA]: Remove an unused function in net/irda/qos.c o [AX25]: Remove an unused function in ax25_route.c o [NETFILTER]: Remove an unused function in ipt_tcpmss.c o USB stv680.c: remove an unused function o USB ohci-dbg.c: remove an unused function o [SCTP]: Remove an unused function in outqueue.c o small sysfs cleanups o i2c it87.c: remove an unused function o PCI: kill old PCI changelog o i2c/busses/ : make some code static o USB: misc USB gadget cleanups o [NET]: No reason for pktgen.c to include pci.h Akinobu Mita: o schedstat: fix schedule() statistics Al Borchers: o USB: io_edgeport locking, flow control, and misc fixes o USB: revised usbserial open/close unbalanced get/put o USB: io_ti new devices, circular buffer, flow control, misc fixes Alan Cox: o [ide] remove debugging delay from CS5520 driver o [ide] apply undecoded slave fixup only for ide-cs o [ide] siimage: fix the various SI3112 hangs o moxa - dead code removal Alan Stern: o usbcore: drop reference to bus on allocation error o UHCI: No bandwidth reclamation during enumeration o USB Gadget: Use proper BCD values o USB file-storage gadget: clean up endian issues o USB device init: implement the Windows scheme o SCSI core: Fix refcounting error o UHCI: Workaround for broken remote wakeup o USB: Dequeuing of root-hub URBs o UHCI: Use a sane timeout for device initialization o dummy_hcd: minor fixups o dummy-hcd: Refactor startup and shutdown o usbcore: Make the core release hcd structures o USB PCI drivers: hcd release changes o Non-PCI OHCI drivers: remove hcd release o dummy-hcd: removal hcd release o usbcore: add comment to updated hcd.h Alasdair G. Kergon: o device-mapper: dm-crypt tidy-ups o device-mapper: dm-crypt generator extension o device-mapper: dm-crypt: new IV mode ESSIV o device-mapper trivial: duplicate kfree in error path Alex Kiernan: o UFS: solaris compatibility fix Alex Williamson: o [IA64] efi.c: fix mem= & max_addr= Alexander Viro: o FB_INTEL Kconfig breakage o tcx compile fix (typo) o missing braces in macros (asm-alpha/mmzone.h) Alexey Dobriyan: o kernel-doc: support for comma-separated members in structs and unions o kernel-doc: print arrays in declarations correctly o kernel-doc: don't print ... twice in variadic functions o kernel-doc: Print preprocessor directives correctly Andi Kleen: o Fix x86-64 genapic build o x86_64: Fix safe_smp_processor_id after genapic o x86_64: Fix warning in genapic o x86_64: Update cpuid feature tables o x86_64: Report SSE3 on AMD CPUs o x86_64: Fix compat_timer_t o x86_64: Defconfig update o x86_64: Fix e820 overflow o x86_64: Add early exception handler o x86_64: Fix some readl/writel warnings o x86_64: Fix CONFIG_X86_MCE o x86_64: add nmi button support o x86_64: Don't wait on panic o x86_64: Poison initdata o x86_64: Add 32bit quota support o x86_64: Fix setup asm constraints o x86_64: Auto enable HPET on Summit o x86_64: Fallback to swiotlb for dma_alloc_coherent o x86_64: Remove bogus __initdata in wakeup path o x86_64: set -fno-strict-aliasing for early boot code o Print real error when initramfs gunzip failed o Add panic blinking to 2.6 o x86_64: Add p4 clockmod o x86-64: Fix broken NMI change Andrea Arcangeli: o [NET]: Accept should return ENFILE not EMFILE Andreas Gruenbacher: o kbuild: Allow install of external modules to custom path Andreas Herrmann: o s390: make zfcp compile again Andrew Hendry: o [X25]: Stop x25_destroy_socket timer looping o [ETHERTAP]: Add missing newline to debug printk o [X25]: Stop /proc/net/x25/route infinitely reading o [X25]: Dont log unknown frame type when receiving clear confirm Andrew Morton: o de4x5 warning fix o igxb speedup o e1000 sparc64 dma_mapping build fix o kobject_hotplug: permit no hotplug_ops o kobject_uevent warning fix o revert "ppc: fix build with o=output_dir" o msnd.c build fix o ne2k-pci pci build fix o e1000 module_param build fix o ide_pio_sector() kmap fix o [CRYPTO]: small sha256 cleanup o [CRYPTO]: small sha512 cleanup o [CRYPTO]: reduce sha512_transform() stack usage, speedup o revert- sys_setaltroot o [IA64] Need <asm/uaccess.h> for KERNEL_DS & set_fs() definitions o key_init ordering fix o swapper_space warning suppression o ext3 reservation: default to on o convert pipefs to fs_initcall() o ext3_bread() cleanup o PG_writeback: fix waitqueue_active memory barrier o bk-kbuild utsname fix o unexport lock_page() o Fix ext3_dx_readdir o netpoll: fix null ifa_list pointer dereference o E1000 stop working after resume o ixgb: fix ixgb_intr looping checks o Fix for 802.3ad shutdown issue o x86_64: ia32_aout-build-fix o limit CONFIG_LEGACY_PTY_COUNT Andrew Vasquez: o SCSI: fix `risc_code_addr01' multiple definition Andries E. Brouwer: o avoid semi-infinite loop when mounting bad ext2 o don't divide by zero on bad ext2 fs o minix_clear_inode fix o ext2 docs update o ufs docs update o wierd typos o propogate typos o recieve typos o don't divide by 0 when trying to mount ext3 o new Solaris partition ID o remove explicit k_name use in atmel_cs.c, bt3c_cs.c o remove if !PARTITION_ADVANCED condition in defaults o add __initdata in floppy.c o __devinit in sound/oss/es1371.c o __init for inflate.c o __init in i386/kernel/cpu/nexgen.c o __devinit in pci/generic.c o __devinit in ide/pci/rz1000.c o __init and i386 timers o __init in scsi/scsi_devinfo.c o __devinit in parport_pc.c o __init in mm/slab.c o __init in reboot.c o __initdata in dm.c o no __init in serial/8250.c o no __initdata in netfilter Andy Whitcroft: o bootmem use NODE_DATA o fix pnpbios fault message Anil Keshavamurthy: o remove cpu_run_sbin_hotplug() o Add KOBJ_ONLINE Anton Altaparmakov: o NTFS: Fix two typos in Documentation/filesystems/ntfs.txt o NTFS: Improve error handling in fs/ntfs/inode.c::ntfs_truncate() o NTFS: Add fs/ntfs/aops.c to list of providers for ->b_end_io method in Documentation/filesystems/Locking. o NTFS: - Change fs/ntfs/inode.c::ntfs_truncate() to return an error code instead of void and provide a helper ntfs_truncate_vfs() for the vfs ->truncate method. o NTFS: Fix min_size and max_size definitions in ATTR_DEF structure in fs/ntfs/layout.h to be signed. o NTFS: Add attribute definition handling helpers to fs/ntfs/attrib.[hc] o NTFS: In fs/ntfs/aops.c::mark_ntfs_record_dirty(), take the mapping->private_lock around the dirtying of the buffer heads analagous to the way it is done in __set_page_dirty_buffers(). o NTFS: Ensure the mft record size does not exceed the PAGE_CACHE_SIZE at mount time as this cannot work with the current implementation. o NTFS: Check for location of attribute name and improve error handling in general in fs/ntfs/inode.c::ntfs_read_locked_inode() and friends. o NTFS: In fs/ntfs/aops.c::ntfs_writepage(), if t he page is fully outside i_size, i.e. race with truncate, invalidate the buffers on the page so that they become freeable and hence the page does not leak. o NTFS: Implement extension of resident files in the regular file write code paths (fs/ntfs/aops.c::ntfs_{prepare,commit}_write()). At present this only works until the data attribute becomes too big for the mft record after which we abort the write returning -EOPNOTSUPP from ntfs_prepare_write(). o NTFS: Remove unused function fs/ntfs/runlist.c::ntfs_rl_merge(). (Adrian Bunk) o NTFS: Fix stupid bug in fs/ntfs/attrib.c::ntfs_attr_find() that resulted in a NULL pointer dereference in the error code path when a corrupt attribute was found. o NTFS: Add MODULE_VERSION() to fs/ntfs/super.c o NTFS: Make several functions and variables static. (Adrian Bunk) o fs/buffer.c exports for NTFS o NTFS: Modify fs/ntfs/aops.c::mark_ntfs_record_dirty() so it allocates buffers for the page if they are not present and then marks the buffers belonging to the ntfs record dirty. This causes the buffers to become busy and hence they are safe from removal until the page has been written out. o NTFS: Fix stupid bug in fs/ntfs/attrib.c::ntfs_external_attr_find() in the error handling code path that resulted in a BUG() due to trying to unmap an extent mft record when the mapping of it had failed and it thus was not mapped. (Thanks to Ken MacFerrin for the bug report.) o NTFS: Drop the runlist lock after the vcn has been read in fs/ntfs/lcnalloc.c::__ntfs_cluster_free(). o NTFS: Rewrite handling of multi sector transfer errors. We now do not set PageError() when such errors are detected in the async i/o handler fs/ntfs/aops.c::ntfs_end_buffer_async_read(). All users of mst protected attributes now check the magic of each ntfs record as they use it and act appropriately. This has the effect of making errors granular per ntfs record rather than per page which solves the case where we cannot access any of the ntfs records in a page when a single one of them had an mst error. (Thanks to Ken MacFerrin for the bug report.) o NTFS: Fix error handling in fs/ntfs/quota.c::ntfs_mark_quotas_out_of_date() where we failed to release i_sem on the $Quota/$Q attribute inode. o NTFS: Fix bug in handling of bad inodes in fs/ntfs/namei.c::ntfs_lookup() o NTFS: Minor cleanup of fs/ntfs/debug.c o NTFS: - Add mapping of unmapped buffers to all remaining code paths, i.e o NTFS: - Fix creation of buffers in fs/ntfs/mft.c::ntfs_sync_mft_mirror() o NTFS: Disable the file size changing code from fs/ntfs/aops.c::ntfs_prepare_write() for now as it is not safe. o NTFS: 2.1.22 - Many bug and race fixes and error handling improvements Anton Blanchard: o fix acenic hotplug o ppc64: Add option for oprofile to backtrace through spinlocks o ppc64: Bump MAX_HWIFS in IDE code o ppc64: Fix for cpu hotplug + NUMA o ppc64: Small OF fixes Antonino Daplas: o fbdev: Fix software blanking code o fbdev: Reduce pixmap memory allocation size o fbdev: Remove inter_module_get/put from i810fb o fbdev: Various mach64 changes o fbdev: Clean up of fbcon/fbdev cursor interface o fbdev: Clean up softcursor implementation o fbdev: Clean up i810fb cursor implementation o fbdev: Cleanup rivafb cursor implementation o fbdev: Intel 830M/845G/852GM/855GM/865G framebuffer driver port o fbdev: S3 Savage Framebuffer Driver o savagefb export fixes o fbdev: Fix rivafb crashes on PPC o fbdev: Add __iomem annotations for savagefb o fbdev: Add __iomem annotations to intelfb o fbcon: Fix endian bug in fbcon_putc (console mouse problem) o fbdev: Convert MODULE_PARM to module_param in i810fb o fbdev: Remove module parameter 'disabled' from savagefb o fbdev: Convert MODULE_PARM to module_param in intelfb o fbdev: Convert MODULE_PARM to module_param in neofb o fbdev: Fix io access in neofb o fbdev: Add __iomem annotations to sstfb o fbdev: Add __iomem annotations to tdfxfb o fbdev: Do not memset the framebuffer memory in asiliantfb o fbdev: Add __iomem annotations to cyber2000fb o fbdev: Add __iomem annotations to pm2fb o fbdev: Add __iomem annotations to hgafb o fbdev: Add __iomem annotations to cirrusfb o fbdev: Add __iomem annotations to vfb o fbdev: Check if cursor image has changed in intelfb o fbdev: Maintainership o fbcon: Do not touch hardware if vc_mode != KD_TEXT o fbdev: Fix access to ROM in aty128fb o fbdev: Fix IO access in rivafb o fbdev: Fix source copy bug in neofb o fbcon/fbdev: Remove fbcon-specific fields from struct fb_info o fbdev: atyfb_base.c requires atyfb_cursor() o fbdev: Set correct mclk/xclk values for aty in ibook o fbdev: Check for intialized flag before registration in matroxfb o fbcon: "Do not touch hardware if vc_mode != KD_TEXT: fix o fbcon: Another fix for fbcon generic blanking code o rivafb: big-endian IO access fixes o fbdev: Fix IO access in rivafb (part 2) o fbdev: Fix mode handling in rivafb if with no EDID o fbdev: Use soft_cursor in i810fb o fbdev: Set color depth to 8 if in pseudocolor in vesafb o fbcon: Split set_con2fb_map() o fbdev: Introduce FB_BLANK_* constants o fbdev: Convert drivers to use the new FB_BLANK_* constants o fbdev: Fix broken fb_blank() implementation Arjan van de Ven: o [SERIAL] Remove dead code o remove NET_HW_FLOWCONTROL o [ide] remove unused internal exports from ide core o unexport raise_softirq o vmalloc_to_page helper o remove unused code: dump_extended_fpu o make filemap_fdatawrite_range() static o unexport add_timer_on() o USB: remove dead code in usb video o [NET]: Unexport call_netdevice_notifiers() o [TCP]: Unexport sysctl_tcp_tw_recycle o I2C: remove dead code from i2c o remove journal callback code from jbd o remove unused lookup_mnt export o [NET]: Mark __{lock,release}_sock() static o make cdev_get static, unexport o unexport task_nice Arnaldo Carvalho de Melo: o [SKBUFF] move common code to hdlc_type_trans o [SKBUFF] remove skb->mac.raw setting after hdlc_type_trans o [SKBUFF] introduce x25_type_trans o [NET] add missing includes and forward decls to filter.h o [NET] add missing include to divert.h o USB: add id for Siemens x65 series of mobiles to pl2303 driver o [NET] add missing include to inet.h o [NET] add missing include to inetdevice.h o [NET] add missing include to icmp.h o [NET] add missing include to iw_handler.h o [IPV6]: Fix mca_sfcount[] refcounting in error path o fix platform_rename_gsi related ia32 build breakage Arnout Engelen: o [TCP]: Add /proc/net/tcp{,6} layout documentation Arthur Kepner: o [TG3]: Use mmiowb in tg3_poll Bart De Schuymer: o [EBTABLES]: Add wildcard support for interface matching Bartlomiej Zolnierkiewicz: o [ide] pmac: kill pmac_ide_[raw_]build_sglist() o [ide] use ide_map_sg() o [ide] kill ide_raw_build_sglist() o [ide] ide-scsi: simplify+speedup DMA support o [ide] kill ide_hwif_t->ide_dma_verbose o [ide] kill /proc/ide/ide?/config o [ide] aec62xx: kill /proc/ide/aec62xx o [ide] atiixp: kill /proc/ide/atiixp o [ide] cs5520: kill /proc/ide/cs5520 o [ide] cs5530: kill /proc/ide/cs5530 o [ide] hpt366: kill /proc/ide/hpt366 o [ide] pdc202xx_new: kill /proc/ide/pdcnew o [ide] pdc202xx_old: kill /proc/ide/pdc202xx o [ide] piix: kill /proc/ide/piix o [ide] sc1200: kill /proc/ide/sc1200 o [ide] serverworks: kill /proc/ide/svwks o [ide] slc90e66: kill /proc/ide/slc90e66 o [ide] ide-disk: fix /proc/ide/hd?/smart_thresholds o [ide] ide-probe: undecoded slave fixup o [ide] add pci_get_legacy_ide_irq() o [ide] add ide_use_dma() o [ide] remove needless exports from ide-taskfile.c o [ide] PIO bugfix o [ide] remove hwif from /proc/ide/ as part of ide_unregister_hwif() o [ide] hpt34x: kill hpt34x.h o [ide] pmac: kill CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO o [ide] setup-pci: small ide_get_or_set_dma_base() cleanup o [ide] setup-pci: simplify autodma logic o [ide] kill IDEPCI_FLAG_FORCE_MASTER o [ide] make destroy_proc_ide_interfaces static o [ide] obsolete /proc/ide/hd?/settings o [ide] obsolete some command line parameters o [ide] obsolete "enable DMA by default" config options o libata PIO bugfix o [ide] shrink hw_regs_t o [ide] ns87415: small cleanup o [ide] (partially) unify hdreg.h & ata.h Ben Dooks: o I2C: Fix compile of drivers/i2c/busses/i2c-s3c2410.c o [ARM PATCH] 2134/3: S3C2410 - Power Management core (1/4) o [ARM PATCH] 2135/3: S3C2410 - Power Management timer resume (2/4) o [ARM PATCH] 2136/1: S3C2410 - Power Management IRQ wakeup (3/4) o [ARM PATCH] 2138/1: S3C2410 - Power Management documentation (4/4) o [ARM PATCH] 2146/1: S3C2410 - serial fixes and s3c2440 updates o [ARM PATCH] 2147/1: S3C2410 - reorganise board support o [ARM PATCH] 2148/1: S3C2410 - I2C platfrom data o [ARM PATCH] 2149/1: S3C2410 - usb-simtec.c fixes and cleanup o [ARM PATCH] 2151/1: S3C2410 - fix guard on include/asm-arm/arch-s3c2410/regs-iic.h o [ARM PATCH] 2152/1: S3C2410 - lcd controller register fixes o [ARM PATCH] 2155/1: S3C2410 - fix definition of S3C2410_UDC_MAXP_REG o [ARM PATCH] 2156/1: S3C2410 - Documentation updates o [ARM PATCH] 2157/2: S3C2410 - default configuration update o [ARM PATCH] 2158/1: S3C2410 - clean warnings from arch/arm/mach-s3c2410/pm.c o [ARM PATCH] 2159/1: BAST - include/asm-arm/arch-s3c2410/bast-pmu.h o [ARM PATCH] 2161/1: S3C2410 - uncompressor low level uart configuration o [ARM PATCH] 2139/1: BAST - Power management initialisation o [ARM PATCH] 2172/1: S3C2410 - clock updates o [ARM PATCH] 2176/1: S3C2410 - fixes for reset and idle o [ARM PATCH] 2189/1: S3C2410 - select pclk as source for timer if none specified for machine o [ARM PATCH] 2190/1: S3C2410 - fix compile for S3C2440 CPUs o [ARM PATCH] 2193/1: S3C2410 - fix wake mask for IRQEINT[0..3], and IRQ_RTC o [ARM PATCH] 2199/1: S3C2410 - fix warning in include/asm-arm/arch-s3c2410/dma.h o [ARM PATCH] 2208/1: S3C2410 - pm updates and fixes o [ARM PATCH] 2210/1: S3C2410 - export symbols from arch/arm/mach-s3c2410/gpio.c o [ARM PATCH] 2211/1: S3C2410 - fix idcode of S3C2410A o [ARM PATCH] 2209/1: OMAP - only offer OMAP systems if CONFIG_ARCH_OMAP o [ARM PATCH] 2214/1: S3C2410 - add missing RTCCON defs o S3C2410 i2c updates o [ARM PATCH] 2215/1: S3C2410 - i2c registers for s3c2440a o [ARM PATCH] 2220/1: S3C2410 - regs-dsc.h fixes o [ARM PATCH] 2217/2: S3C2410 - pm updates o [ARM PATCH] 2224/1: S3C2410 - s3c2440 power management device o [ARM PATCH] 2225/1: S3C2410 - export symbol from s3c2440-dsc.c o [ARM PATCH] 2226/1: S3C2410 - dma system device o [ARM PATCH] 2227/1: S3C2410 - export dma symbols to modules o [ARM PATCH] 2228/1: S3C2410 - dma register updates o [ARM PATCH] 2232/2: S3C2410 - RTC driver o [ARM PATCH] 2238/1: S3C2410 - pm.h remove init code if not used o [ARM PATCH] 2239/1: S3C2410 - add iPAQ rx3715 machine o [ARM PATCH] 2237/1: S3C2410 - new serial driver - update serial_core.h (4/4) o [ARM PATCH] 2240/1: S3C2410 - clock device id update o [ARM PATCH] 2235/1: S3C2410 - new serial driver - core updates (2/4) o [ARM PATCH] 2236/1: S3C2410 - new serial driver - machine updates (3/4) Ben Greear: o [VLAN]: Sync code and feature set with 2.4.x Benjamin Herrenschmidt: o Fix msleep to sleep _at_least_ the requested amount o ppc64: Move PCI IO mapping from pSeries_pci.c to pci.c o ppc64: Fix pSeries secondary CPU setup o ppc64: Rewrite the openpic driver o 8250: Let arch provide the list of leagacy ports o ppc64: properly build list of legacy serial ports from OF o ppc64: clean up existence-check of legacy ISAdevices o ppc64: cleanups of ppc64 pci.c o ppc64: Some small pci fixes o ppc64: Rework PCI <-> OF node matching o ppc64: cleanup/split SMP code o ppc64: Some cleanups of prom_init.c o ppc64: remove unused cruft from prom.h o ppc64: annotate remaining IO accessors o ppc64: Improve PCI config accessors o ppc64: Cleanup console detection o Remove bogus definition of local chrp_int_ack_special in pSeries_setup.c o ppc64: don't include <stddef.h> o ppc64: PCI ignores empty phb regions o ppc64: Fix new mpic driver on some POWER3 o ppc64: Fix g5-only build o ppc64: Add new "Maple" platform support o 8250: Fix empty port registration o ppc64: Some sparse fixes o ppc32: Fix boot on PowerMac o ppc64: Enable maple IDE fixup o amd8111e: Fix identation of amd8111e_rx_poll() o amd8111e: Add support for ppc64 eval board o fbdev: workaround for broken X servers o atyfb: Fix power management o Fix pmac_zilog as console o ppc64: Fix G5 low level i2c code o ppc64: Add HW CPU timebase sync Bjoern Paetzel: o USB Storage: unusual_devs entry for yakumo Bjorn Helgaas: o PCDP: call acpi_register_gsi() with arguments in correct order o ia64 iomap implementation o radeonfb: If no video memory, exit with error o acpi: better encapsulate eisa_set_level_irq() o PCI: propagate pci_enable_device() errors o PCI: remove unconditional PCI ACPI IRQ routing o HPET init/add fixes o fix HPET time_interpolator registration Bob Breuer: o sparc32: fix for HyperSPARC DMA errors Brian Gerst: o mem leak in tty_io.c Brian Haley: o [IPV6] Lookup appropriate destination when sending TCPv6 with routing header Carsten Otte: o s390: dcss segments cleanup Catalin Marinas: o [ARM] Versatile: patch-2.6.9-icst307 o [ARM] Versatile: patch-2.6.9-common o [ARM] Versatile: patch-2.6.9-ab / patch-2.6.9-pb Chas Williams: o [ATM]: [horizon] eliminate pci_find_device() o [ATM]: don't leak skb on as_indicate failure; don't wakeup twice on as_close o [ATM]: [ambassador] fix <irq> type and printk warning (from Randy Dunlap <rddunlap@osdl.org>) o [ATM]: [drivers] add missing pci_tbl exports (pointed out by Adam o [ATM]: [atmtcp] fix refcounting and vcc search Chris Wedgwood: o uml: use generic IRQ code o uml: Build fix for TT w/o SKAS o uml: Kconfig.debug update o uml: minor warning removal o uml: mconsole_proc rewrite o uml: resolve symbols in back-traces o Remove build warning from drivers/char/random.c on 32-bit platforms o [ide] remove some cruft from ide.h Chris Wright: o lsm: remove net related includes from security.h o error out on execve with no binfmts o uninline __sigqueue_alloc o binfmt_elf: handle partial reads gracefully Christian Bornträger: o s390: debug feature system control Christian Ehrhardt: o [IPV4]: Do not try to unhash null-netdev nexthops Christoph Hellwig: o [NETFILTER]: Make *_find_target_lock routines static o use generic_file_open in udf o [ATM]: Mark vcc_remove_socket static o [XFRM]: Remove dead exports o [IPV6]: Remove dead exports o [TCP]: Remove dead exports o [NET]: Remove dead socket layer exports o remove dead exports in sounds/oss o unexport getnstimeofday o unexport kick_process o remove page_follow_link o unexport sys_lseek o remove ext2 xatts exports o parport: kill dead code and exports o unexport vc_cons_allocated o mark pi_unclaim static o unexport set_selection and paste_selection o unexport firmware_class o fix show_refcnt return value type o remove invoke_softirq o remove mousedrivers.sgml o [ide] remove more dead ide exports o more hardirq.h consolidation o remove two leftover <asm/linux_logo.h> files o remove dead kernel_map_pages export o remove dead exports from random.c o unexport do_settimeofday o [NET]: Remove dead exports from net/core/dev.c o [NET]: Remove net_init.c ifdef clutter o fix sata_svw compile Christoph Lameter: o Posix layer <-> clock driver API fix o fix IBM cyclone clock and some cleanup o mmtimer driver update: add SHub interrupt support Clemens Buchacher: o sparc32: revert sys_setaltroot Colin Leroy: o clean up therm_adt746x o fix via-pmu.c compilation without CONFIG_PMAC_PBOOK o therm_adt746x: gradually change fan speed and start both fans on Albooks Dale Farnsworth: o USB: USB fixes for non-cache-coherent processors Dan Malek: o ppc32: Update MPC8xx code to quasi functional Daniel Jacobowitz: o Unwind information fix for the vsyscall DSO Darren Hart: o sched: active_load_balance fixes Dave Jiang: o [ARM PATCH] 2216/1: Update iop3xx timers to new update process times scheme o [ARM PATCH] 2222/1: iop3xx timer routine cleanup o [ARM PATCH] 2223/1: convert serial UART to platform device on iop3xx o [ARM PATCH] 2231/1: remove unused file in iop321 port Dave Jones: o [CPUFREQ] Reevaluate users requests after denial o [CPUFREQ] Don't break on FFFFFFFF'd frequencies o [CPUFREQ] struct acpi_processor_performance *acpi_processor_perf should be static o [CPUFREQ] dbs_tuners_ins should be static o [CPUFREQ] Attribute definitions in cpufreq core should be static o [CPUFREQ] cpufreq_sysctl_table should be static even though it'll be gone soon o [CPUFREQ] Dothan is stepping 13 == 0x0D instead of 0x13 == 19 o [CPUFREQ] Rename cpufreq acpi module o [CPUFREQ] Unify the CPU_FREQ config option o [CPUFREQ] 2.4 API clarification o [CPUFREQ] Add a unified cpufreq debug infrastructure o [CPUFREQ] Use the unified cpufreq debug infrastructure in the speedstep library o [CPUFREQ] Use the unified cpufreq debug infrastructure in the speedstep-smi driver o [CPUFREQ] Use the unified cpufreq debug infrastructure in the speedstep-ich driver o [CPUFREQ] Use the unified cpufreq debug infrastructure in the speedstep-centrino driver o [CPUFREQ] Use the unified cpufreq debug infrastructure in the p4-clockmod driver o [CPUFREQ] Use the unified cpufreq debug infrastructure in the longrun driver, and add some dprintks which might be / have been of interest. o [CPUFREQ] Use the unified cpufreq debug infrastructure in the powernow-k8 driver o [CPUFREQ] Use the unified cpufreq debug infrastructure in the powernow-k7 driver o [CPUFREQ] Use the unified cpufreq debug infrastructure in the longhaul driver o [CPUFREQ] Use the unified cpufreq debug infrastructure in the gx-suspmod driver o [CPUFREQ] Use the unified cpufreq debug infrastructure in the acpi-cpufreq driver o [CPUFREQ] Add (one each) dprintk for the performance and powersave cpufreq governors o [CPUFREQ] Add a few dprintks for the userspace cpufreq governor o [CPUFREQ] Add a few useful dprintks in the frequency table helpers o [CPUFREQ] Add a few useful dprintks to the cpufreq core o [CPUFREQ] Show the CPUs which can only change frequencies at the same time in a sysfs file named "affected_cpus" o [CPUFREQ] module_vid_table is only used if DEBUG isn't set, so put #ifdefs around it o [CPUFREQ] print_speed and speedbuffer are only used if DEBUG isn't set so put #ifdefs around them. o [CPUFREQ] Use __ATTR in cpufreq.c attribute definitions o [CPUFREQ] Set .owner in cpufreq_userspace.c sysfs attribute definition o [CPUFREQ] Use __ATTR in cpufreq_ondemand.c attribute definitions o [CPUFREQ] Set .owner in freq_table's sysfs definition o [CPUFREQ] ondemand return EINVAL on errors o [CPUFREQ] Fix x86-64 compile o [CPUFREQ] Remove config.h includes from ondemand driver Dave Kleikamp: o JFS: Fix extent overflow bugs o JFS: avoid assert in lbmfree o JFS: endian annotations o JFS: use alloc_metapage for consistency o JFS: make some symbols static David Brownell: o USB: usb hub descriptor fetch needs retries o USB: usb suspend support for hid-core o USB: goku_udc sparse updates o USB: usb/hcd kconfig updates o USB: usb error code docs o USB: ohci module param for broken bios o USB: omap_udc updates o USB: net2280 compile fixes o USB input Kconfig updates o USB ehci: minor pci tweaks o USB ehci: handle earlier endpoint_disable() o USB ehci: minor debug cleanups o Missed usb devices on boot o usbcore and system sleep states o PCI: make pci_save_state() only happen when no suspend() o EHCI suspend/resume updates o OHCI suspend/resume updates (minor) o usbcore, diagnostic tweaks o USB: fix ohci_restart warning o USB: fix bug o USB: clean up error messages o USB: ohci, remove pre-byteswapped constants o USB: ohci, hooks for big-endian registers o USB: usb gadget drivers, minor tweaks o USB: usb gadget serial driver v2.0 o USB: ohci-omap, updates for omap1510/5910 and innovator o USB: usb network Kconfig updates o USB: usb PM updates, PCI glue (1/4) o USB: usb PM updates, root hub stuff (2/4) o USB: usb PM updates, OHCI (3/4) o USB: usb PM updates, EHCI (4/4) o driver core: shrink struct device a bit David Gibson: o ppc64: don't build virtual IO drivers for PowerMac o ppc64: trivial sparse cleanups o ppc64: xmon sparse cleanups o ppc64: rework hugepage code David Howells: o Shift key-related error codes up and insert ECANCELED o ppc/ppc64: hook up key management syscalls o move key_init to security_initcall o Unexport some RxRPC symbols o key management: fix locking problem and move __key_check() out of line o fix page size assumption in fork() o EXT3 compiler warning fix o Make /proc/kcore conditional on CONFIG_MMU David Lazar: o fbcon: Add box drawing glyphs to 6x11 font David S. Miller: o [NETFILTER]: Fix ipt_hashlimit build with NETFILTER_DEBUG enabled o [ATY]: Fix build on sparc after viro sparse changes o [NETFILTER]: ip_ct_attach decl got removed by accident o [PKT_SCHED]: Make net/tc_act/tc_pedit.h include net/act_api.h o [VLAN]: Revert vlan_dev_hard_start_xmit part of Ben Greear's changes o [TG3]: Bump driver version and reldate o [SPARC64]: Do free_initmem() poisioning o [SPARC64]: Update defconfig o [SPARC64]: Add __must_check to user copy routines o [SPARC64]: Fix IRQ setting in sunsu serial driver o [SPARC64]: Add dummy pci_get_legacy_ide_irq() routine o [TG3]: Use ioremap_nocache() o [TG3]: Bump driver version and reldate o [GNET_STATS]: Export gnet_stats_start_copy_compat to modules o [TCP]: Fix tcp_diag build with ipv6 completely disabled o [SUNGEM]: Use CONFIG_PPC_PMAC throughout o Cset exclude: herbert@gondor.apana.org.au|ChangeSet|20041110052404|08839 o [APPLETALK]: Missing file add in recent commit Dely Sy: o PCI: Updated patch to add ExpressCard support o PCI: Updated patch to fix adapter speed mismatch for 2.6 kernel o PCI: ASPM patch for Denis Vlasenko: o kconfig.debug: mention that DEBUG_SLAB can slow down machine quite a bit o kbuild: make gcc -align options .config-settable o [CRYPTO]: aes-586-asm: formatting changes o [CRYPTO]: aes-586-asm: small optimizations Dinakar Guniguntala: o Fix do_wait race Dmitry Torokhov: o ik8.c: export power_status parameter through sysfs o Driver core: export device_attach o Driver core: add driver_probe_device o Driver core: add driver symlink to device o panic_blink and i8042 unloading Domen Puncer: o lib/parser: fix %% parsing Dominik Brodowski: o Fix PCMCIA duplicate pc_debug names Doug Maxey: o ppc64: install outside of source tree Eugene Surovegin: o PPC32: remove bogus eXecute permissions o I2C: fix recently introduced race in IBM PPC4xx I2C driver Evgeniy Polyakov: o w1/w1_family: replace schedule_timeout() with msleep_interruptible() o w1/w1: replace schedule_timeout() with msleep_interruptible() o w1/dscore: replace schedule_timeout() with msleep_interruptible() o w1/w1_int: replace schedule_timeout() with msleep_interruptible() Frank Pavlic: o s390: network driver François Romieu: o via-velocity: wrong module name in Kconfig documentation Gabriel Paubert: o I2C: Recent I2C "dead code removal" breaks pmac sound Ganesh Venkatesan: o e100 - Use pci_device_name for syslog messages till registering netdevice o e100 - use NET_IP_ALIGN to set rx data buffer alignment o e100 driver version number update o e1000 - use pci_device_name for syslog messages till registering netdevice. o e1000 - Removed support for advanced TCO features o e1000 Check value returned by from pci_enable_device o e1000 - Fix VLAN filter setup errors (while running on PPC) o e1000 - Polarity reversal workaround for 10F/10H links o e1000 - Ethtool -- 82545 do not support WoL o e1000 update -- fix MODULE_PARM, module_param, module_param_array o e1000: modified ethtool_set_pauseparam to use e1000_setup_link for flow control settings for fiber serdes link o e1000: remove unused function e1000_enable_mng_pass_thru o e1000: fix set ringparam for ethtool returning error code on bad input o e1000: driver version update o e1000: white space corrections o e100: Fix loss of connectivity to BMC when interface is brought down. o e100: Fix set ringparam for ethtool returning error code on bad input o e100: Driver version number update o e1000: Configuration and user guide update o e100: Configuration and user guide update o ixgb: Configuration and user guide update Geert Uytterhoeven: o NTFS: missing #include <linux/vmalloc.h> o Cyclades assignment warning o SCx200_ACB depends on PCI o Atyfb: kill assignment warnings on Atari due to __iomem o m68k: HP300 core updates o m68k: HP300 DIO o m68k: HP300 LANCE o m68k: HP300 fb o m68k: M68k I/O for generic 8250 on HP300 o m68k: HP300 8250 serial for DCA and APCI ports o m68k: HP300 config o m68k: HP300 SCSI chip is 98265A o m68k: hades-pci.c: replace pci_find_device() with pci_get_device() o m68k: HP300: Convert DIO bus and its drivers to the new driver model o m68k: fix incorrect config comment in check_bugs() o m68k: missing/superfluous config.h o m68k: Sun-3 Makefile: join short multi-line o m68k: MVME167 serial: Replace bottom half handler with task queue handler o m68k: Add 43 missing syscalls o m68k: Update defconfig for 2.6.9 o m68k: Add defconfig for Amiga o m68k: Add defconfig for Apollo o m68k: Add defconfig for Atari o m68k: Add defconfig for BVME4000 and BVME6000 o m68k: Add defconfig for HP9000/300 and HP9000/400 o m68k: Add defconfig for Macintosh o m68k: Add defconfig for MVME147 o m68k: Add defconfig for MVME162, MVME166, and MVME167 o m68k: Add defconfig for Q40 and Q60 o m68k: Add defconfig for Sun 3 o m68k: Add defconfig for Sun 3x o m68k: Disable SERIO_I8042 o m68k: Reiserfs: Add missing #include <linux/sched.h> o m68k: Sun 3: Fix modular XFS by exporting vmalloc_end o m68k: Remove duplicate includes George G. Davis: o [ARM PATCH] 2179/1: gcc-4.0 static declaration of 'meminfo' follows non- static declaration build error o [ARM PATCH] 2181/1: Fix gcc-4.0 static declaration of '__clz_tab' follows non-static declaration build error o [ARM PATCH] 2188/1: Add missing MODULE_LICENSE declaration in PXA Lubbock PCMCIA driver o [ARM PATCH] 2182/1: apcs-32 and alignment-traps command line options are deprecated in gcc-4.0 Gerd Knorr: o v4l: bttv IR input update o v4l: bttv whitespace cleanup o v4l: i2c whitespace cleanup o v4l: IR whitespace cleanup o v4l: msp3400 update o v4l: tuner update o v4l: videobuf whitespace cleanup o v4l: videodev whitespace cleanup o v4l: config cleanups o bttv subdev fix o v4l: yet another video-buf interface update o v4l: add video-buf-dvb.c o v4l: bttv update o v4l: saa7134 update o v4l: cx88 update o v4l: saa7146 update o v4l: tuner modparam o v4l: ir-common modparam o v4l: v4l1-compat modparam o v4l: msp3400 fix o media/video/bw-qcam.c: remove an unused function Grant Grundler: o [ide] ns87415: PA-RISC update Greg Edwards: o increase max LOG_BUF_SHIFT value Greg Kroah-Hartman: o USB: update devices.txt with the proper USB minor number information o USB: add phidgetkit driver o USB: remove unneeded checks in the usb-serial core o USB: fix build error in the USB core if CONFIG_PROCFS is disabled o USB: fix DoS in the visor driver by rate limiting sends o PCI: use pci_dev_present() in irq.c check o kobject: add CONFIG_DEBUG_KOBJECT o hotplug: prevent skips in sequence number from happening o USB: fix up serial object reference count bug on error path o USB: fix up pl2303 device ids that ended up getting duplicated o USB: fix sparse warnings in cypress_m8 driver o kevent: fix build error if CONFIG_KOBJECT_UEVENT is not selected o I2C: fix MODULE_PARAM warning in pc87360.c driver o W1: fix build warnings due to msleep changes o PCI: remove kernel log message about drivers not calling pci_disable_device() o I2C: remove probe_range from I2C sensor drivers, as it's not used o I2C: remove ignore_range from I2C sensor drivers, as it's not used o I2C: remove normal_isa_range from I2C sensor drivers, as it's not used o I2C: fix i2c_detect to allow NULL fields in adapter address structure o I2C: moved from all sensor drivers from normal_i2c_range to normal_i2c o I2C: delete normal_i2c_range logic from sensors as there are no more users o kobject: fix double kobject_put() in error path of kobject_add() o timer: fix up problem where two sysdev_class devices had the same name o PCI Hotplug: fix up remaining MODULE_PARAM usage in pci hotplug drivers o USB: fix up sparse lock warning in whiteheat driver o USB: fix up locking bugs in kl5kusb105.c that sparse found o Cset exclude: david-b@pacbell.net|ChangeSet|20041112030233|28853 o USB: fix locking bug found by sparse in ehci-sched.c o USB: fix 2 locking bugs in usbtest.c as found by sparse o USB: fix endian warnings as found by sparse in the rio500.c driver o USB: fix sparse warnings in tiglusb.c driver o USB: fix endian bug found by sparse in freecom usb-storage driver o USB: fix up endian issues found by sparse in io_edgeport.c driver o USB: fix endian issues found by sparse in mct_u232 driver o I2C: fix up some out of date Documentation o I2C: fix up rtc8564 which should not have been changed in my previous cleanups o driver core: fix up some missed power_state changes from David's patch o sysfs: fix odd patch error o USB: fix sparse warnings in io_ti.c o USB: fix up a bunch of sparse bitwise warnings in the ohci driver Greg Ungerer: o remove unused include in m68knommu mm/init.c o remove unused include in m68knommu mm/memory.c o remove uneeded includes (5206e/config.c) o remove uneeded includes (5249/config.c) o remove uneeded includes (5307/config.c) o remove unused shglcore support o clean up HZ definition o remove unused shglcore.h include o remove other unused shglcores.h include o support all relocation types for m68knommu modules o update total_vm on non-MMU configurations o m68knommu: add hardware defines for the ColdFire 527x CPU family o m68knommu: new CPU support strings in setup o m68knommu: update syscall table to be inline with other architectures o m68knommu: build real lib udelay() function o m68knommu: new board support nad missing sections for linker script o m68knommu: create real lib udelay() function o m68knommu: new CPU and board options for configuration o m68knommu: update syscall definitions to match new syscall table o m68knommu: fix calculation overflow in udelay() on fast CPU's o m68knommu: clock definitions for 527x ColdFire CPU's o m68knommu: fix do_signal() to properly use get_signal_to_deliver() o m68knommu: makefile support for new CPU and board types o m68knommu: checksum.h needs linux/in6.h o m68knommu: move ColdFire PIT timer to common code directory o m68knommu: new device support for ColdFire FEC ethernet driver o m68knommu: kernel startup code for Freescale M5271EVB board o m68knommu: update defconfig o m68knommu: 527x platform support Makefile o m68knommu: build PIT timer for 527x and 528x CPUs o m68knommu: use linux/delay.h instead of asm/delay.h o m68knommu: get flash based boot args for SCALES and CAMcam boards o m68knommu: dynamic RAM sizing for Motorola 5206e platform o m68knommu: hardware configuration for Freescale 527x family of CPUs o m68knommu: add kernel startup code for the Freescale M5275EVB board o m68knommu: move ColdFire 5282 config code to common 528x config code o m68knommu: move ColdFire 5282 Makefile to common 528x Makefile o m68knommu: move ColdFire M5282EVB kernel startup code to common 528x platform directory o m68knommu: remove unused include of delay.h in ColdFire 5407 configuration code o m68knommu: use correct register offsets for ColdFire 527x FEC ethernet o m68knommu: move ColdFire 5282 definitions to common 528x include o m68knommu: add kernel startup code for the ColdFire 5272 Feith CANcam board o m68knommu: add 527x and 528x support to ColdFire UART definitions o m68knommu: add 527x and 528x support to ColdFire DMA definitions o m68knommu: move definition of kernel stack size o m68knommu: update comments in ColdFire PIT timer include o m68knommu: kernel startup code for the ColdFire 5272 Feith SCALES board o m68knommu: add ColdFire 528x CPU reset code o m68knommu: include 527x and 528x SIM hardware defines in common ColdFire SIM header o m68knommu: move senTec board supoprt to common 528x ColdFire directory Guido Barzini: o [ARM PATCH] 2177/1: Trivial: contents of mach-h720x/Kconfig should be conditional on ARCH_H720X Guido Guenther: o rivafb: stricter memory ordering o rivafb: clean up ordering constraints Hanna V. Linder: o hw_random.c: replace pci_find_device o add 'for_each_pci_dev()' helper macro o PCI: Changed pci_find_device to pci_get_device o cyclades.c: replace pci_find_device o zr36120.c: Convert pci_find_device to pci_dev_present o ide.c: replace pci_find_device with pci_dev_present o scx200_wdt.c: replace pci_find_device with pci_dev_present o ibmphp_core.c: replace pci_get_device with pci_dev_present o chrp_pci.c: replace pci_find_device with for_each_pci_dev o gemini_pci.c: replace pci_find_device with for_each_pci_dev o matroxfb_base.c: convert pci_find_device to pci_get_device o lopec.c: replace pci_find_device with pci_get_device o k2.c: replace pci_find_device with pci_get_device o cmipci.c: convert pci_find_device to pci_get_device o drm_drv.h: replace pci_find_device o sis-agp.c: replace pci_find_device with pci_get_device o pci-gart.c: replace pci_find_device with pci_get_device o ret_mb_a_pci.c: replace pci_find_device with pci_get_device o pci_iommu.c: replace pci_find_device with pci_get_device o isa.c: replace pci_find_device with pci_get_device o ebus.c: replace pci_find_device with pci_get_device o fixups-dreamcast.c: replace pci_find_device with pci_get_device o sandpoint.c: replace pci_find_device with pci_get_device o prpmc750.c: replace pci_find_device with pci_get_device o mcpn765.c: replace pci_find_device with pci_get_device o pcore.c: replace pci_find_device with pci_get_device o pmac_pci.c: replace pci_find_device with pci_get_device o pplus.c: replace pci_find_device with pci_get_device o prep_pci.c: replace pci_find_device with pci_get_device Harald Welte: o [NETFILTER]: fix ipt_ULOG bogus error messages o [NET]: Fix NLM_F_MULTI in tcp_diag and xfrm_user Herbert Xu: o [TCP]: Only re-set TSO size for packet which was TSO to begin with o [NET]: Give skb_checksum_help() an skb_buff * again o [TCP]: Handle real partial-ACKs of TSO frames correctly o [TCP]: Move tcp_get_info() into tcp.c o [NETLINK]: Remove netlink_sock_nr o [NETLINK]: Check netlink_insert in kernel_create o [XFRM]: Don't panic in xfrm_user_init o [ETHTOOL]: Enforce SG requires TX csum rule o [XFRM]: Move xfrm4_rcv export to its site o [IPSEC]: Make ah4/esp4/ipcomp depend on INET o [TCP]: Modularize tcpdiag o [XFRM]: Fix build failures without CONFIG_INET o [TCP]: Modular ipv6 support in tcpdiag o [NETLINK]: Hash sockets by pid if not multicast o [NET]: Neighbour table entries counter needs to be atomic_t o [NET]: Get rid of unused global counter in neighbour o [NETLINK]: Fix pid rover code o [IPV6]: Close small race in ip6_del_rt Hideaki Yoshifuji: o [IPV6] Remove codes related to RTF_ALLONLINK o [IPV6] simplify functions related to RTF_ALLONLINK o [IPV6] NDISC: update neighbor cache entry by RS o [IPV6] kill a warning when building without CONFIG_SYSCTL o [IPV6]: Do not purge default routes by RA o [IPV6] Fix unresolved symbol timer_bug_msg o [IPV6] introduce lightweight IPv6 address comparison function o [IPV6] Use ipv6_addr_equal() where appropriate Hidetoshi Seto: o futex_wait hang fix Hirofumi Ogawa: o FAT: remove incorrect BUG_ON() o FAT: fix VFAT_IOCTL_READDIR_BOTH ioctl Hirokazu Takata: o m32r: fix a typo of delay.c o m32r: Fix ELF_CORE_COPY_REGS macro to generate a correct "core" file o m32r: remove rep_nop() o m32r: remove old ELF relocation types o m32r: fix arch/m32r/lib/memset.S o m32r: fix for use of Mappi PCC Hollis Blanchard: o HVSI hangup oops o HVSI early boot console o HVSI reset support Hugh Dickins: o shmem NUMA policy spinlock o statm: __vm_stat_accounting o statm: shared = rss - anon_rss o statm: fix negative data o omit CommitAvail o tmpfs truncate latency o anon cris align address_space o tmpfs: CONFIG_TMPFS=n mount fix Ian Campbell: o [ARM PATCH] 2219/2: Ignore IRQ_NONE for edge triggered interrupts Ingo Molnar: o Avoid small irq preemption recursion window o [NET]: Fix unbalanced local_bh_enable() in dev_queue_xmit() Ivan Kokshaysky: o alpha: fix sparse warnings o alpha: fix CIA IO o alpha: bootp fixes o PCI: add pci_fixup_early Jack Steiner: o [IA64] Delete obsolete code from SGI console driver o [IA64-SGI] Update asm-ia64/sn/sn_cpuid.h macros o [IA64-SGI] Delete simulator support from SN idle loop o [IA64-SGI] Update asm-ia64/sn/sn_cpuid.h macros o [IA64-SGI] Delete unused variable (master_node_bedrock_address) Jamal Hadi Salim: o [PKT_SCHED]: Add generic packet editor o [NETFILTER]: ipt mutex locks access o [PKT_SCHED]: Add iptables action James Bottomley: o make osst compile again after st structure changes James Cleverdon: o x86-64 clustered APIC support James Morris: o Add d_alloc_name() to libfs o SELinux: fix netif bugs and simplify o SELinux: fix sidtab locking bug James Nelson: o ramdisk.txt update o ftape has no maintainer o ftape documentation fixes o Documentation/cpqarray.txt update o Documentation/mkdev.ida removal o Patch to arch/sparc/Kconfig [1 of 5] o More patches to arch/sparc/Kconfig [3 of 5] o More patches to arch/sparc/Kconfig [5 of 5] o More patches to arch/sparc/Kconfig [4 of 5] o Re: More patches to arch/sparc/Kconfig [2 of 5] o Documentation/digiboard.txt update o Documentation/00-INDEX.txt update o MAINTAINERS update o Documentation/digiecpa.txt update o digiecpa MAINTAINERS update o computone: Documentation/computone.txt update o computone: MAINTAINERS update o floppy: Updates to Documentation/floppy.txt o hw_random: Remove changelog from hw_random.txt o documentation: Remove drivers/char/README.computone o documentation: Remove drivers/char/README.cyclomY o documentation: Remove drivers/char/README.ecpa o documentation: Remove drivers/char/README.scc o tipar: Documentation/tipar.txt cleanup o ramdisk: Correction to Documentation/kernel-parameters.txt o md: Documentation/md.txt update Jan Dittmer: o aic7xxx remove warnings Jan Kara: o Quota warnings somewhat broken Jan Kasprzak: o Minor fix of RCU documentation Jaroslav Kysela: o ALSA CVS update ENS1370/1+ driver Fixed AC3-passthru on ens1371/1373 boards. o ALSA CVS update ICE1712 driver Allow the private EEPROM image for evaluation boards o ALSA CVS update ES18xx driver Fixed a bug in setting the filter register. o [ALSA] Added __GFP_NORETRY to avoid OOM-killer o [ALSA] Enable __GFP_NOWARN as default for buffer allocation o [ALSA] Korg1212 misc fixes o [ALSA] AC97 96 kHz sample rate support o [ALSA] add missing ifdef for disabling MIDI o [ALSA] suppress auto-loading of modules in module_init() o [ALSA] Fix latency in ens1371 driver o [ALSA] add AC97 quirk for Fujitsu-Siemens E4010 o [ALSA] remove gameport/MIDI support o [ALSA] add mixer quirk for LineX FM Transmitter o [ALSA] [ac97] Added VIA shared type o [ALSA] [ac97] Check ac97 codec id in quirk table o [ALSA] ac97 quirk entry for Soltek SL-75DRV5 o [ALSA] inverted EAPD support o [ALSA] detect errors reported by the hardware o [ALSA] Added Compaq Evo W4000 quirk o [ALSA] [emu10k1] Audigy DSP support o [ALSA] Fix the OSS PCM emulation - O_NONBLOCK write o [ALSA] Added support for AudioTrak Prodigy 192 cards o [ALSA] add UA-1000 sample rate detection o [ALSA] mark snd_card_dummy_new_mixer() as static o [ALSA] [ac97 core] added AC97_SCAP_DETECT_BY_VENDOR flag o [ALSA] copy_to_user() return value checking in snd_seq_read() o [ALSA] Added missing header file for AudioTrak Prodigy 192 cards o [ALSA] Fix driver name for nforce and clean-up o [ALSA] show codec name in card description o [ALSA] adjust intel8x0 joystick documentation o [ALSA] enhance Kconfig help texts o [ALSA] remove 'ALSA' from Kconfig USB menu name o [ALSA] fix ALI M5451 description o [ALSA] Fixes for PCM/control 32bit emulation o [ALSA] Support for capture of 16,32,64 channels on emu10k1 device 2 o [ALSA] Remove delay() to improve latency o [ALSA] Improved clock measurement o [ALSA] Fixed the obsolete description in comments o [ALSA] Fix auto-loading of sequencer modules o [ALSA] Fix iomem variable type o [ALSA] Added support of Mediastation o [ALSA] rme32 segfault fix o [ALSA] [hdsp] Fix for 64bit architectures o [ALSA] Fix SPDIF rate setting for old ICHs o [ALSA] use card-specific driver name o [ALSA] remove 'Rawmidi' part from sequencer port names o [ALSA] don't stop capture on errors o [ALSA] Fix the variable types in struct o [ALSA] more au88x0 eq cleanups o [ALSA] Fix HDSP meter ioctl o [ALSA] Aureon S/PDIF input fixes o [ALSA] Aureon S/PDIF input fixes o [ALSA] Fix drain/drop of linked PCM streams o [ALSA] snd-usb-usx2y 0.7.3 o [ALSA] Replace with usb_kill_urb() o [ALSA] Fix peakmeter ioctl on big-endian o [ALSA] Clean up ice1712 chip struct o [ALSA] Adds AC'97 support to Aureon cards o [ALSA] Add reset_workaround module option o [ALSA] add overclocking option for the analog input o [ALSA] Add (experimental) CM9761 support o [ALSA] Fix SPDIF support on ICH4/5/6 o [ALSA] Fix AC97 master mute o [ALSA] Fix AC3 playback on SB Live o ALSA CVS update USB generic driver add Edirol UA-25 support o [ALSA] Fix / clean up OPL3 for CS4281 o [ALSA] fix DAC slot assignment o [ALSA] fix description of SPSA=3 in the proc file o [ALSA] fix snd_opl3_init documentation o [ALSA] Clean up bitmap o [ALSA] Fix dead blocking during module_init() o [ALSA] Fix pci_restore_state() o [ALSA] Add KERN_ERR to error messages o [ALSA] Fix typo o [ALSA] Added dxs quirk for QDI Kudoz 7X/600-6AL o [ALSA] Fix ac97 codec reset and clean up o [ALSA] Fix compilation (sync with parisc tree) o [ALSA] Fix Aureon CCS init sequence o [ALSA] Fix the detection of secondary codec o [ALSA] fixing a two-rme32-in-one-machine bug o [ALSA] Add routing/volume of ADAT I/O on EWS88D o [ALSA] Misc. volume fixes o [ALSA] RME9632 precise_ptr fix o [ALSA] fix build in !KMOD case (sequencer) o [ALSA] Fixed SPDIF on CS4298 o [ALSA] Fix AC97_EXTENDED_STATUS initialial value o [ALSA] Add VIA8237 driver type o [ALSA] PCM boundary fix in 32bit compat layer o [ALSA] Fix non-blocking write in ALSA OSS emulation o [ALSA] boot_devs removal - module_param_array() accepts NULL now Jason Baron: o fix alt-sysrq deadlock Jason Uhlenkott: o [IA64] fix pgtable.h comments Jean Delvare: o I2C: New LM63 chip driver o I2C: New PC8736x chip driver o I2C: Check for unregistered adapter in i2c_del_adapter o I2C: add Tyan S4882 driver o I2C: Missing newlines in debug messages Jean Tourrilhes: o Wireless Extension dropped patchlet Jeff Dike: o uml: use PTRACE_SYSEMU also for TT mode o uml: Lots of little fixes by Jeff Dike o uml: update atomic.h so UML builds cleanly o uml: handle signal api o uml: sysenter is syscall o uml: generic singlestep syscall o uml: generic singlestepping o uml: clear singlestep o uml: dont check NR_syscalls o uml: set DTRACE correctly Jeff Garzik: o [netdev] Remove no-op in-driver implementations of ->set_config() o Cset exclude: elf@buici.com|ChangeSet|20040920183610|08290 o [libata] return ENOTTY rather than EOPNOTSUPP for unknown-ioctl o [libata] use kunmap_atomic() correctly o [libata] cosmetic libata.h changes to make merging with 2.4 easier o add nth_page() o [libata ahci] bump version to 1.00 o Remove silly comment from linux/ata.h o [libata] remove dependence on PCI o [libata] bump versions, add MODULE_VERSION() tags o Parenthize nth_page() macro arg, in linux/mm.h Jens Axboe: o fix bad segment coalescing in blk_recalc_rq_segments() o kill excessive cdrom prints o cfq v2 switch bug o issues with online scheduler switching o [ide] ide-disk: enable stroke by default o fix SCSI bounce limit o add READ_BUFFER_CAPACITY as read-ok command o queue congestion threshold hysteresis o direct-IO: handle EOF o warn once for unknown SCSI command o minor io scheduler documentation fixes o allow arch override of BIOVEC_PHYS_MERGEABLE o Mark as_init and as_exit as init and exit functions o Mark cfq_exit as an exit function o Mark deadline_init and deadline_exit as init and exit functions Jesper Juhl: o ds_ioctl.c usercopy check o [NET]: Fix spelling error for IPComp help in Kconfig o kconfig: Small spelling fix for MODULE_SRCVERSION_ALL Kconfig o add a bunch of missing files to Documentation/00-INDEX Jesse Barnes: o sched: small load balance fix o mmtimer sparse fixes o I/O space write barrier o [IA64] fix machine vectors for mmiowb o [TG3]: Use mmiowb in tg3.c o [IA64-SGI] remove duplicate INVALID_* defines from arch.h o [IA64-SGI] remove redundant macros o [IA64-SGI] move nic_t to asm/sn/types.h o [IA64-SGI] update sn2_defconfig o document mmiowb and readX_relaxed a bit more in deviceiobook.tmpl o fix find_next_best_node() o remove contention on profile_lock Jesse Brandeburg: o ixgb: fix endianness issue for tx cleanup o e100: fix NAPI race with watchdog o e100: whitespace and DPRINTKS Jim Hague: o pm2fb: Blanking fixes o pm2fb: Colour palette fixes Jim Houston: o idr_remove safety checking John Hawkes: o sched: improved load_balance() tolerance for pinned tasks John Johansen: o delay rq_lock acquisition in setscheduler John Lenz: o [ARM PATCH] 2206/1: convert locomo to use platform_get_resource\platform_get_irq John W. Linville: o 3c59x: style change in vortex_ethtool_ops declaration o [BONDING]: Add MODULE_VERSION o [VLAN]: Add MODULE_VERSION Jon Smirl: o PCI: add PCI ROMs to sysfs Jonathan McDowell: o USB: add KC2190 support for usbnet Justin Thiessen: o I2C: lm85.c driver update o I2C: fix lm85.c build warnings Kai Mäkisara: o SCSI tape: remove remaining typedefs Karsten Wiese: o UHCI: Convert remainder to bitwise-and Kay Sievers: o kobject: fix hotplug bug with seqnum o take me home, hotplug_path[] o add the physical device and the bus to the hotplug environment o add the driver name to the hotplug environment o add the bus name to the hotplug environment o print hotplug SEQNUM as unsigned Keith Owens: o [IA64] Correct bit test for salinfo oem decode o [IA64] Correct references from text/data to init.text/data o kbuild: Include useful absolute symbols in kallsyms Kenji Kaneshige: o add missing pci_disable_device for e1000 o PCI: add hook for PCI resource deallocation Krzysztof Chmielewski: o [ide] pdc202xx_old: PDC20267 needs the same LBA48 fixup as PDC20265 Kumar Gala: o ppc32: dded MPC8555/8541 security block infrastructure o ppc32: fix rheap warning o ppc32: updated reporting of CPU rev & freq for e500 CPUs o ppc32: add performance counters to cpu_spec o ppc32: remove __setup_cpu_8xx o ppc32: remove zero initializations in cpu_specs Lars Marowsky-Bree: o device-mapper trivial: stray semi-colon Len Brown: o [ACPI] Notify SMM of cpufreq http://marc.theaimsgroup.com/?l=acpi4linux&m=109428989121089&w=2 o EXPORT_SYMBOL(acpi_os_write_port); EXPORT_SYMBOL(acpi_fadt_is_v1); o [ACPI] firmware wakeup address is physical, not virtual (David Shaohua Li) http://bugzilla.kernel.org/show_bug.cgi?id=3390 o [ACPI] add module parameters: processor.c2=[0,1] processor.c3=[0,1] to disable/enable C2 or C3 blacklist entries for R40e and Medion 41700 http://bugme.osdl.org/show_bug.cgi?id=3549 o [ACPI] create IBM ThinkPad ACPI driver -- ibm-acpi-0.6.patch o [ACPI] simplify ES7000 IRQ re-naming scheme so that it works for all PCI interrupts. o [ACPI] clarify #define ACPI_THERMAL_MODE_CRITICAL (Pavel Machek) o [ACPI] disable printk on AML breakpoint https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=135856 o [ACPI] ACPICA 20040827 update from Bob Moore o [ACPI] ACPICA 20040922 from Bob Moore o [ACPI] acpi_os_sleep() now takes a single 64-bit value in [ms] o [ACPI] ACPICA 20040924 from Bob Moore o [ACPI] place-holder for ACPI 3.0 acpi_os_get_timer() o [ACPI] ACPICA 20041006 from Bob Moore o [ACPI] fix build warning in tables/tbget.c o [ACPI] ACPICA 20041015 from Bob Moore o [ACPI] fix build warning o Cset exclude: jason.davis@unisys.com[torvalds]|ChangeSet|20040914144015|50315 o [ACPI] ibm-acpi 0.7 from Borislav Deianov o [ACPI] ACPI_CUSTOM_DSDT for IA64 too o [ACPI] Extensions for Display Adapters (Bruno Ducrot) http://bugme.osdl.org/show_bug.cgi?id=1944 o [ACPI] ACPI_VIDEO is EXPERIMENTAL o [ACPI] Move the "only do this once" stuff from acpi_register_gsi() into eisa_set_level(). o [ACPI] C1 fixes when processor driver is loaded honor "halt=" cmdline parameter use monitor/mwait when available http://bugzilla.kernel.org/show_bug.cgi?id=2280 o apply recent ES7000 ACPI interrupt fix to MPS mode o 8250_pnp serial_req.port_high fix for Tiger o [ACPI] introduces acpi_penalize_isa_irq() to to avoid PCI devices use IRQ of legacy PNP devices. o [ACPI] export acpi_match_ids() o [ACPI] create ACPI-based PNP driver o [ACPI] fix video module unload oops o [PNP] handler more than 16 IRQs o [ACPI] ACPIPNP handle IRQ resource value of 0 (David Shaohua Li) o [ACPI] fix x86_64 build warnings in video.c (Luming Yu) o [ACPI] correct compiled-in acpi_dbg_level default o [ACPI] fix return values for ACPI_FUNCTION_TRACE http://bugzilla.kernel.org/show_bug.cgi?id=3336 o [ACPI] Remove default PNPACPI driver binding to legacy ACPI devices o [ACPI] remove obsolete blacklist entries (Andi Kleen) http://bugzilla.kernel.org/show_bug.cgi?id=3164 o [ACPI] enable VIA quirk to fix audio interrupt on VIA_8233_5 http://bugzilla.kernel.org/show_bug.cgi?id=3175 o [ACPI] keep processor driver loaded even if acpi_disabled o [ACPI] disable PNPBIOS if ACPI, even without PNPACPI o [ACPI] delete duplicated code resulting from auto-merge o [ACPI] Allow limiting idle C-States o [ACPI] ACPICA 20041105 from Bob Moore o [ACPI] ibm ACPI 0.8 by Chris Wright and Borislav Deianov Lennert Buytenhek: o [ARM PATCH] 2178/1: mnfd (move negated) emulation is busted on big- endian Liam Girdwood: o [ARM PATCH] 2085/1: PXA SSP driver o [ARM PATCH] 2084/1: PXA SSP, I2S and other misc register defs Linus Torvalds: o Start supporting lock context annotations o Annotate the trivial unconditional lock/unlock functions on SMP o Un-inline the big kernel lock o Fix broken intel8x0.c ALSA "merge" o ppc64: make G5 setup compile again o Allow BKL re-acquire to fail, causing us to re-schedule o Fix UP non-preempt build for kernel lock changes o Don't ask the user for esoteric compiler tweaks by default o Fix up "compat_sys_keyctl()" system call o Fix atyfb modular build on ppc o Fix kbuild problem with O= o Make x86 semaphore routines use register calling convention o amd8111e network driver: fix silly typo o Make "atomic_dec_and_lock()" a macro o Add sparse checker rules for conditional lock functions: trylock and atomic_dec_and_lock. o Annotate scheduler locking behaviour o Lock-annotate some kernel functions as an example of how it works o Annotate UP spinlock stubs with lock annotations o Make sparse pick up the gcc internal include directory automatically o Undo totally broken m68k patch o x86: regparm calling convention for exceptions and interrupts o Make "unlock_buffer()" use the optimized "smp_mb__after_clear_bit()" o usb: don't "unsuspend" ports that aren't suspended o Fix USB debugging build o usb: remove totally bogus OHCI iomem casts o Revert x86-64 flexmap code for now o Remove stale 0-byte files o Do EFI partitions only on ia64 o aio: remove incorrect initialization of "nr_pages" o pc110 touchpad driver: be more polite o fbdev: fix compile of rivafb on __BIG_ENDIAN o wait_task_stopped() must not just return 0 when it has released the tasklist_lock. o Fix the fix o Revert recent EDD changes to use EXTENDED READ comand and CONFIG_EDD_SKIP_MBR o ppc: fix up pmac IDE driver for driver core changes o usb: edgeport serial driver uses CMSPAR, which not all architectures support o x86: only single-step into signal handlers if the tracer asked for it. o Linux 2.6.10-rc2 Lonnie Mendez: o hid-core: add two devices to device blacklist o usb-serial: add interrupt out support and improved debug messages o cypress_m8: add usb-serial driver 'cypress_m8' to kernel tree o usb-serial: free interrupt_out_buffer in cleanup routines Luca Risolia: o USB: W996[87]CF driver updates o USB: SN9C10x driver updates Luiz Capitulino: o USB: Module version info for CyberJack o USB: Module version info for PL2303 o USB: Module version info for Belkin_sa Maciej W. Rozycki: o defxx trivial updates o defxx device name fixes o UP local APIC bootstrap cleanup o x86, x86_64: Only handle system NMIs on the BSP Maneesh Soni: o sysfs backing store - prepare sysfs_file_operations helpers o fix oops with firmware loading o sysfs backing store - add sysfs_direct structure o sysfs backing store: use sysfs_dirent based tree in file removal o sysfs backing store: use sysfs_dirent based tree in dir file operations o sysfs backing store: stop pinning dentries/inodes for leaf entries o sysfs: fix sysfs backing store error path confusion o fix kernel BUG at fs/sysfs/dir.c:20! o sysfs: fix duplicate driver registration error Manfred Spraul: o handle posix message queues with /proc/sys disabled Marc Singer: o [ARM PATCH] 2213/1: lh7a40x serial.h cleanup Marcel Holtmann: o [Bluetooth] Ignore the BPA 100/105 devices o [Bluetooth] Fix another disconnect race o [Bluetooth] Allow vendor specific packet types o Fix deprecated MODULE_PARM for CAPI subsystem o [Bluetooth] Fix deprecated MODULE_PARM for PCCARD drivers o [Bluetooth] Send HCI_Reset for new Microsoft dongle o [Bluetooth] Add security callback to the core o [Bluetooth] Fix connection hash bug o [Bluetooth] Use usb_kill_urb() for synchronous unlink o [Bluetooth] Add function for triggering a link key change o [Bluetooth] Support responses with zero SCID o [Bluetooth] Make some functions static o Use add_hotplug_env_var() in firmware loader o [Bluetooth] Some trivial s/int/unsigned int/ Marcelo Tosatti: o Change pagevec counters back to unsigned long and cacheline align Margit Schubert-While: o Add prism54 to MAINTAINERS Mark A. Greer: o ppc32: add setup_indirect_pci_nomap() routine o ppc32: remove CONFIG_SERIAL_CONSOLE_BAUD Mark Goodwin: o [IA64] sn_hwperf correctly handle bricks with multiple slabs Markus Lidel: o fix bug in i2o_iop_systab_set where address is used instead of length Martin Schlemmer: o kbuild: check timestamps on files for initramfs Martin Schwidefsky: o s390: sacf local root exploit (CAN-2004-0887) o s390: core changes o s390: tty_write fix Martin Waitz: o fix wrong kfifo_init buffer size argument Martin Wilck: o skip sync_arb_IDs on P4/Xeon Matt Domsch: o [NET]: Zero out SIOCGIFHWADDR buffer if dev->addr_len is zero o EFI GPT: reduce alternate header probing o EDD: fix too short array Matt Porter: o ppc32: disable broken L2 cache on all 440GX revs o ppc32: fix ppc4xx_progress warnings o ppc32: 40x and Book E debug: core support o ppc32: 40x and Book E debug: 4xx platform support o ppc32: add PPC440GX L2C error handler Matthew Dharm: o USB Storage: Fix queuecommand() for disconnected devices Matthew Wilcox: o sym2 2.1.18m o stifb bugfixes o kernel-parameters update for PA-RISC o parisc: arch/parisc/kernel/perf_asm.S o parisc: unwind fixes o parisc: spinlock fixes o parisc: debuglock fixes o parisc: fix 64-bit gcc 3.3 compiles o parisc: register usage documentation update o parisc: remove unused header file o parisc: make atomic_t 32-bit o parisc: make __kernel_clock_t long o parisc: fix HPUX compile problem o parisc: assembly fixes and comments o Use optimised byteswap again o parisc: Merge head64.S and head.S o parisc: small debug cleanup in power.c o parisc: add HP copyright to perf counters o parisc: Fix 64-bit linking o parisc: Kconfig debugging options o parisc: make install o parisc: Fix N-class SMP o parisc: update a500_defconfig o parisc: Initialise restart_block o parisc: Add user_space macro o parisc: Light-weight syscall support o parisc: add copyright to sba_iommu o parisc: better stack traces o parisc: fix ptrace o parisc: signal race fixes o parisc: support get/put_unaligned o parisc: _raw_write_trylock o parisc: remove K_STW_PIC and K_LDW_PIC o parisc: Remove isr verification o parisc: use fixups for exception support o parisc: export global fixup routines o parisc: Add memory clobber to userspace syscall wrapper o parisc: Fix LBA/SBA bugs o parisc: fix CONFIG_DISCONTIGMEM support o parisc: new memcpy routines o parisc: register cpus with sysfs o parisc: dump the stack on a BUG() o parisc: Stop exporting the old memcpy symbols o parisc: remove lcopy_*_user o parisc: fix PTRACE_GETEVENTMSG o parisc: new syscalls o parisc: fix security hole o parisc: superio cleanup o parisc: checksum improvements o compat syscalls naming standardisation Matthias Burghardt: o [ARM PATCH] 2183/1: GPIO84:81 for PXA26x defines o [ARM PATCH] 2185/1: Bit definitions for PXA PWER o [ARM PATCH] 2191/1: bugfix for PXA SSP Matthijs Melchior: o [libata ahci] fix rather serious (and/or embarassing) bugs Maximilian Attems: o USB: tiglusb: replace schedule_timeout() with msleep_interruptible() o USB: dabusb: replace schedule_timeout() with msleep_interruptible() o scsi/53c700: replace schedule_timeout() with o scsi/scsi_lib: replace schedule_timeout() with o [SERIAL] replace schedule_timeout() with msleep/msleep_interruptible() o VFS maintainer email address updates Meelis Roos: o ata.h undefined types in USB Michael Hunold: o DVB: rework debugging in av7110 o DVB: misc. updates to the dvb-core o DVB: add new driver o DVB: revamp dibusb driver o DVB: misc. updates to frontend drivers o v4l: mxb driver and i2c helper cleanup o v4l: keep tvaudio driver away from saa7146 Michal Rokos: o [ALSA] Exclude uneeded code when ! CONFIG_PROC_FS Mika Kukkonen: o sparse: fix warnings in net/irda/* Mikael Starvik: o CRIS: configuration and Build o CRIS: update simple drivers o CRIS: ethernet driver o CRIS: IDE driver o CRIS: Add USB host driver o CRIS: Core kernel updates o CRIS: Console setup handling o CRIS: Move drivers o CRIS: Update Makefiles o CRIS: Update MAINTAINERS Mike Waychison: o [TG3]: Fix fiber hw autoneg bounces Miles Bader: o v850: Work around include-definition-loop problem in <asm-v850/posix_types.h> o v850: Add definitions for memcpy_fromio and memcpy_toio o v850: Add __param linker section o v850: Fix misnamed variable in ptrace.c o v850: signal handling race fix Milton D. Miller II: o net/Kconfig: undo duplicate patch application o hamradio/hdlcdrv: undo duplicat patch application o fix sysfs backing store error path confusion Mingming Cao: o ext2: discard preallocation in last iput o ext3 block reservation patch set -- ext3 preallocation cleanup o ext3 block reservations Måns Rullgård: o SysRq-n changes RT tasks to normal Naoki Shibata: o USB: usbnet patch (new ax8817x device) Neil Brown: o md: remove md_flush_all o md: make retry_list non-global in raid1 and multipath o md: rationalise issue_flush function in md personalities o md: rationalise unplug functions in md o md: make sure md always uses rdev_dec_pending properly o md: fix two little bugs in raid10 o md: modify locking when accessing subdevices in md o md: make read retry use a new bio in raid1 and raid10 o md: discard calc_sb_csum_common in favour of csum_fold o md: don't hold lock on md devices while waiting for them to finish resync o md: fix typos in md and raid10 o md: fixes to make version-1 superblocks work in md driver o md: fix problem with md/linear for devices larger than 2 terabytes o md: fix raid6 problem o md: delete unplug timer before shutting down md array o md: "Faulty" personality Neil Horman: o ns83820: add vlan tag hardware acceleration support Nick Piggin: o mm: help zone padding o vm: unreclaimable pages debugginf o vmscan: pages_scanned fix Nickolai Zeldovich: o ext3 umount hang Nicolas Pitre: o [ARM PATCH] 2080/1: clean up io-{read|write}sl o fix smc91x compilation error o [ARM PATCH] 2175/1: add reference for problem worked around by patch #1824/1 o [ARM PATCH] 2187/1: fix lacking capability in pxa_gpio_mode() o [ARM PATCH] 2203/1: trivial asm optimization for csum code o [ARM PATCH] 2192/1: small optimization to {read|write}sl routines o [ARM PATCH] 2154/2: XIP kernel for ARM o [ARM PATCH] 2160/1: allow modules to work with XIP kernel o [ARM PATCH] 2230/1: fix generic_fls declaration mismatch Nigel Croxon: o [IA64-HP] Fix for bits_wanted in sba_iommu.c Nigel Cunningham: o Fix dm_io.c oops in low memory conditions Nishanth Aravamudan: o net/de2104x: replace schedule_timeout() with msleep() o [PNPBIOS] use msleep_interruptible() o scsi/ahci: replace schedule_timeout() with msleep()/ssleep() o pci/quirks: replace schedule_timeout() with msleep() Olaf Hering: o remove old version check from mac8390 o remove double newline from sysrq action_msg o rmmod ohci1394 hangs o x86_64: Fix make all o fix initcall_debug on ppc64/ia64 Olaf Kirch: o statfs compat functions can return EOVERFLOW on NFS Oleg Drokin: o "Bad" naming of structures and functions in ext3 reservation code Oliver Neukum: o kaweth: full conversion to usb_unlink_urb o kaweth: no need for packed Olof Johansson: o ppc64: setup cpu_sibling_map on iSeries o ppc64: VIO iommu table property parsing wrong Ondrej Zary: o make cdu31a work on at least one system Pablo Neira: o [NETFILTER]: Clean up ip_conntrack stats o [NETFILTER]: fix stats in __ip_conntrack_confirm Paolo 'Blaisorblade' Giarrusso: o uml: Kconfig and defconfig updates o uml: resync LDS script for SMP changes o uml: unused label o uml: add conf INITRAMFS_SOURCE o uml: fix mainline lazyness about TTY layer patch o Kbuild: avoid backup localversion files o ptrace POKEUSR: add comment about the DR7 check o uml: fix ptrace() hang on 2.6.9 host due to host changes o uml - some comments about forcing /bin/bash o uml: add startup check for mmap(...PROT_EXEC...) from /tmp o uml: fix syscall auditing o uml: fix symbol conflict in linking o uml: cleanup header names o uml: remove useless inclusion o uml: no duplicate current_thread definition o uml: mconsole_proc simplify and partial fix o uml: catch EINTR in generic_console_write o uml: remove SIGPROF from change_signals o uml: use kallsyms when dumping stack o uml: revert compile-only changes for other ones o uml: fix sysemu test at startup o uml: more careful test startup o uml: clear errno in CATCH_EINTR o uml: re-add linux Makefile target - fixes to the old version o uml: add missing newline in help string o uml: use sys_getpid bypassing glibc (fixes UML on Gentoo) Pat Gefre: o [IA64-SGI] only allocate irq if the device can interrupt Patrick Caulfield: o [DECNET]: Connect hang bugfix o [DECNET]: Route RCU fix o [DECNET]: Fix return codes Patrick McHardy: o [NETFILTER]: Introduce tabs to ip6t_ah.c o [NETFILTER]: ip6t_esp.c whitespace cleanup o [NETFILTER]: Convert ip6t_physdev match function to new argument order o [NETFILTER]: Select source address for gateway in MASQUERADE o [PKT_SCHED]: Fix rcu_assign_pointer fallout, use it in the right place o [PKT_SCHED]: pedit: Convert jiffies values to USER_HZ when dumping o [PKT_SCHED]: mirred: Convert jiffies values to USER_HZ when dumping o [PKT_SCHED]: gact: Convert jiffies values to USER_HZ when dumping o [PKT_SCHED]: ipt: Convert jiffies values to USER_HZ when dumping o [NETFILTER]: Don't use skb_header_pointer in amanda conntrack helper o [PKT_SCHED]: Fix device leaks in mirred action o [PKT_SCHED]: Mark some functions static in tc actions/act_api o [PKT_SCHED]: Fix scheduler/classifier module unload race o [PKT_SCHED]: Unline inner qdiscs immediately in qdisc_destroy() o [PKT_SCHED]: Fix overflow on 64bit in times reported to userspace Paul E. McKenney: o scheduler: remove redundant #ifdef o RCU: rcu_assign_pointer() removal of memory barriers o RCU: use rcu_assign_pointer() o RCU: eliminating explicit memory barriers from SysV IPC Paul Fulghum: o serial send_break duration fix Paul Mackerras: o ppc64: provide notifier list for EEH slot isolations o ppc64: crash during firmware flash update o ppc64: create iommu_free_table() o ppc64: __ioremap_explicit() criterion change o ppc64: cpu hotplug notifier for numa o PPC/PPC64: Fix FP state corruption on UP o Fix deadlocks on dpm_sem o PPC64 mmu_context_init needs to run earlier o ppc64: iommu fixes, round 3 o ppc64: iSeries_pci.c use for_each_pci_dev() o ppc64: pmac_pci.c replace pci_find_device with pci_get_device o ppc64: pSeries_pci.c use for_each_pci_dev() o ppc64: pSeries_iommu.c use for_each_pci_dev o ppc64: u3_iommu.c use for_each_pci_dev() o Check character flags in ppp_async ldisc o Update ppc list addresses in MAINTAINERS Paul Mundt: o sh: do_signal() update for generic changes o sh: compile fixes o sh: syscall updates Pavel Fedin: o VIA8231 support for parallel port driver Pavel Machek: o swsuspend for ne2k-pci cards o power/disk.c: small fixups o Kill useless pm_access from vt.c o Add typechecking to suspend types and powerdown types Pawel Sikora: o signal.c: gcc-3.4 fix o /proc/kcore - enable/disable o x86: optimize stack pointer access (reduce register usage) Pekka Enberg: o radeonfb: screeninfo initialization cleanup o fbcon: Remove spurious casts o fbcon: Replace logo_shown magic numbers with constants o radeonfb: more initializer fixes Pete Zaitcev: o USB: usblp BKL removal o USB: Patch for ub Peter Chubb: o standalone sys_ni.c for not-implemented syscalls o [ARM PATCH] 2205/1: Fix compilation for IXDP425: typo in mach-ixp4xx/common.c Peter Osterlund: o Fix incorrect kunmap_atomic in pktcdvd o Fix incorrect Mt Rainier detection o fix bttv oops in btcx_riscmem_free Peter Pregler: o cpia.c rmmod deadlock fix Petr Konecny: o netpoll with xircom_cb Petr Vandrovec: o Weak symbols in modules and versioned symbols o Add argument-less ppdev ioctls to compat_ioctl.h Phil Dibowitz: o USB Storage: Add unusual_devs entry for iPod Philippe Bertin: o USB: Superfluous statement in usb.c Prasanna S. Panchamukhi: o kprobes: Minor i386 changes required for porting kprobes to x86_64 o kprobes: kprobes ported to x86_64 o kprobes: Minor changes for sparc64 Pu Long: o x86_64: Use compat readdir and aio functions Rajesh Venkatasubramanian: o prio_tree: fix prio_tree_expand corner case o prio_tree: add Documentation/prio_tree.txt Ralf Bächle: o Stop queue on close in hdlcdrv o [AX25]: Fix cb lookup Randolph Chung: o Fix cc-option call for xcompiles Randy Dunlap: o pcnet32: use unsigned 1-bit fields o skfp: remove assignment expression in conditional (sparse)(v2) o kconfig: OVERRIDE: save kernel version in .config file o qla1280: driver_setup not __initdata o checkstack: add x86_64 arch. support o __init dependencies: ignore __param o via-rhine: references __init code during resume o convert MODULE_PARM() to module_param() family o more MODULE_PARM conversions o scsi/mesh: module_param corrections Richard Henderson: o Add __ioremap Robert III: o USB: PL2303 - PharosGPS patch Robert Love: o make dnotify a configure-time option o kobject_uevent: fix init ordering o kobject_uevent: add MAINTAINER entry Roland McGrath: o Invalid BUG_ONs in signal.c o Fix ptrace problem o fix core-dump return code o acct: report single record for multithreaded process o session leader tty disassociation fix o Wake up signalled tasks when exiting ptrace Romain Liévin: o USB: tiglusb.c: add direct USB support on some new TI handhelds Roman Zippel: o hfs: update key after rename o hfs: relax dirty check o hfs: manage correct block count o hfs: read correct dir time o hfs: write back resource info directly o hfs: export type/creator via xattr Russell King: o [PCMCIA] Fix PCMCIA behaviour on resume with different card o [ARM] Fix missing parens for __FD_* operations o arm: Fix ARM kernel build with permitted binutils versions o [ARM] Group linux/* includes together in mcbsp.c o [MMC] Fix incorrectly balanced spin_lock_irq() o [MMC] Add support for passing scatterlists to MMC host drivers o [MMC] Remove block knowledge from MMCI driver o [MMC] Switch PXAMCI to use supplied scatterlist o [MMC] Deprecate "req" member of mmc_data structure o [ARM] Use cpu_vm_mask to indicate whether the MM is mapped o [ARM] Use cpu_vm_mask to determine whether to flush TLB/caches o [ARM] Add disable_irq_nosync() and CPU number headings o [ARM] Remove extraneous spaces o [ARM] include/asm-arm/arch-integrator/time.h is unused, remove it o [ARM] Fix wrong variable name in icside.c o [ARM] etherh: add ethtool support o [ARM] etherh: report errors when trying to parse MAC address o 8390.c: Use mdelay(10) rather than udelay(10*1000) o [ARM] etherh: add __iomem annotations o [ARM] Add initial __iomem annotations to ARM io.h headers o [ARM] s3c2410: DMA uses __iomem pointers o [ARM] Add __iomem annotations to ARM amba drivers o [SERIAL] Clean up serial_core.c write functions o [SERIAL] 8250: Fix resource handling o [SERIAL] 8250: move basic initialisation of 8250 ports o [SERIAL] Re-order 8250 serial driver initialisation/finalisation o [SERIAL] 8250: Add platform device for ISA 8250-compatible devices o [SERIAL] 8250: add probe and remove device driver methods o [SERIAL] 8250: prevent ports with zero clocks being registered o [SERIAL] Undo "get_legacy_serial_ports" patch for PPC o [SERIAL] 8250_acorn: Convert to use serial8250_{un,}register_port o [ARM] No need for rpc_map_io to be public o [ARM] riscpc: add iomd, keyboard and acornfb platform devices o [SERIAL] 8250: Warn when ports with zero base_baud are registered o [SERIAL] serial_cs: Convert to use serial8250_{un,}register_port o [SERIAL] 8250_pnp: Convert to use serial8250_{un,}register_port o [SERIAL] Don't use UPF_AUTOPROBE, fix two build problems o [SERIAL] 8250_acpi: Convert to use serial8250_{un,}register_port o [SERIAL] Don't detect console availability using port->ops o [SERIAL] Fix deadlock on removal of 8250 module o [ARM] Remove duplicate includes from ARM files o [SERIAL] 8250: Return interrupt handler status o [SERIAL] 8250_gsc: Convert to use serial8250_{un,}register_port o [ARM] mtd: update mapping drivers o [SERIAL] Add support for Dell PCI Remote Access Card III o [SERIAL] Add ALPHA_KLUDGE_MCR from include/linux/serialP.h o [SERIAL] 8250: Remove two warnings o [SERIAL] Fix PPC64 for recent serial changes o saa7111.c: fix VIDEO_MODE_SECAM o [ARM] sa11x0: use ID of -1 for single devices o [ARM] Optimise cache_is_xxx() macros o [ARM] Fix double compare with zero instructions o [ARM] Versatile: Remove CONFIG_MMC ifdef blocks o [ARM] Eliminate include/asm-arm/arch-*/serial.h o [ARM] Update mach-types o [ARM] rtctime tweaks o [ARM] Add static partitioning information to flash_platform_data o [ARM] Add SA1100 generic flash infrastructure o [ARM] Add Assabet flash device partitioning and location data o [ARM] Fix IMX build error post sys_timer merge o [ARM] Remove unused 'mclk' element from MMC platform structure o [ARM] Add platform_device-based partition and map information o [ARM] Remove broken SA1100 machine support o [MTD] sa1100: add driver model support and remove static flash probing o [MTD] sa1100: split out sub-device init/destruction o [MTD] sa1100: consolidate mtd and partition destructors o [MTD] sa1100: add container structure for one logical flash device o [MTD] sa1100: more driver model integration and consolidation o [MTD] sa1100: remove static partitioning information o [MTD] sa1100: Use set_vpp functions provided by machine support code o [MTD] sa1100: Obtain flash device location from platform device o [SERIAL] Add sparse __iomem annotations o [SERIAL] serial driver fixes o [ARM] Fix Acorn SCSI drivers to use ecard_{request,release}_resources o [ARM] ecard: dumpirq state on unrecognised interrupts as well o [ARM] icside: use MMIO for board specific registers o [ARM] icside: use MMIO for IDE registers o [ARM] rapide: use MMIO for IDE registers Rusty Russell: o [NETFILTER]: Change MASQUERADE to Use Device Address Directly o MODULE_PARM must die: make it warn first o Remove MODULE_PARM from i386 defconfig o Remove MODULE_PARM from arch/i386 o Fix for MODULE_PARM obsolete o Builtin Module Parameters in sysfs too o boot parameters: quoting of environment variables revisited o Eliminate init_module and cleanup_module from Documentation o [NETFILTER]: Avoid warning on CONNTRACK_STAT_INC in destroy_conntrack() o Don't ignore try_stop_module return o [NETFILTER]: Fix find_appropriate_src() to actually work Sam Ravnborg: o kbuild: Create Makefile in output dir for *config targets o kbuild: Add cc-option-align o kbuild/usr: initramfs list fixed and simplified o m32r: misc kbuild cleanups o kbuild: allow architectures to specify defconfig file with KBUILD_DEFCONFIG o Do not recompile if localversion changes o kbuild: Prefer Kbuild as name of the kbuild files o kconfig: drop usage of shared libraries o ppc: fix building arch/ppc/boot/lib/ with make O= o kconfig: fix xconfig and gconfig Sascha Hauer: o [ARM] Update h720x for timer changes o [ARM PATCH] 1956/2: Re: Motorola i.MX serial driver Scott Feldman: o janitor: net/sis900: pci_find_device to pci_get_device o janitor: net/tulip: pci_find_device to pci_dev_present o e100: update maintainer Sebastian Witt: o [CPUFREQ] NVidia nForce2 FSB cpufreq driver Sergey S. Kostyliov: o Add megaraid PCI IDs Simon Derr: o Fix race in sysfs_read_file() and sysfs_write_file() o Possible race in sysfs_read_file() and sysfs_write_file() Sridhar Samudrala: o [SCTP] Change sctp_assoc_t to a sized type(s32) o [SCTP] Adaption layer indication support o [SCTP] Update cwnd/ssthresh as per the sctpimpguide modifications o [SCTP] When an address is deleted, update any transports that are caching it as a source adddress o [SCTP] Fix HEARTBEAT_ACKs being sent to wrong dest. ip address in a multi-homing scenario after a failback. Stelian Pop: o sonypi: module related fixes o sonypi: replace homebrew queue with kfifo o sonypi: power management related fixes o sonypi: rework input support o sonypi: make CONFIG_SONYPI depend on CONFIG_INPUT o sonypi: don't suppose the bluetooth subsystem is initialy off o sonypi: whitespace and coding style fixes o sonypi: bump up the version number o meye: module related fixes o meye: replace homebrew queue with kfifo o meye: picture depth is in bits not in bytes o meye: do lock properly when waiting for buffers o meye: implement non blocking access using poll() o meye: cleanup init/exit paths o meye: the driver is no longer experimental and depends on PCI o meye: module parameters documentation fixes o meye: add v4l2 support o meye: whitespace and coding style cleanups o meye: bump up the version number o meye: cache the camera settings in the driver o sonypi: documentation fixes o videodev2.h patchlet Stephen C. Tweedie: o ext3: online resizing Stephen D. Smalley: o lsm: fix send_sigurg mediation o Add DAC check for setxattr(security.selinux) Stephen Hemminger: o (1/4) acenic - use netdev_priv o (2/4) acenic - eliminate MAX_SKB_FRAGS #if o (3/4) acenic - __iomem warnings cleanup o (4/4) acenic - don't spin forever in hard_start_xmit o ns83820: use module_param o eql: use netdev_priv o dummy: use netdev_priv o tg3: use module_param o tg3: use netdev_priv o tg3: make driver only data static o slip: use module_param o slip: use netdev_priv o kaweth: use alloc_etherdev to allocate device private o usbnet: use alloc_etherdev to allocate private data o USB kaweth: use alloc_etherdev to allocate device private data - fix o cdev: protect against buggy drivers o avoid problems with kobject_set_name and name with % o [PKT_SCHED]: netem: use timer to handle packets not rescheduling o [NETFILTER]: Fix build without INET o loop: convert to module_param o rd: convert to module_param and add module alias Stephen Rothwell: o ppc64: iSeries console: cleanup after tty_write user copies removal o ppc64 iSeries pci cleanups o ppc64 iSeries: fix for generic irq changes o ppc64: iSeries iommu cleanups o ppc64: iSeries combine some MF code o ppc64: iSeries remove trailing white space o ppc64: iSeries remove some Studly Caps o ppc64: iSeries more MF cleanup o ppc64: iSeries remove more Studly Caps from MF code o ppc64: iSeries last of the cleanups fo the MF code Stéphane Eranian: o [IA64] misc small patches for perfmon Suparna Bhattacharya: o Fix O_SYNC speedup for generic_file_write_nolock Suresh B. Siddha: o intel irqbalance quirk cleanup o x86-64: fix sibling map again Suresh Krishnan: o [NET]: Address family not supported for sendmsg() Sylvain Meyer: o fbdev: intelfb code cleanup Takayoshi Kochi: o [IA64] cleanup CPU drift print Tejun Heo: o kbuild: use two double-quotes for localversion o kbuild: explicit enable framepointer o driver-model: comment fix in bus.c o driver-model: bus_recan_devices() locking fix o driver-model: sysfs_release() dangling pointer reference fix o driver-model: kobject_add() error path reference counting fix o driver-model: device_add() error path reference counting fix Tero Roponen: o Don't initialize /dev/pg0 to be always busy Theodore Y. Ts'o: o Licencing of drivers/char/rocket.c Thomas Gleixner: o Lock initializer unifying (Core) o Lock initializer unifying (Network drivers) o Lock initializer unifying Batch 2 (USB) o Lock initializer unifying Batch 2 (PCI) o [BLUETOOTH]: Lock initializer unifying o [NET]: Lock initializer unifying Thomas Graf: o [PKT_SCHED]: u32: Remove unused hgenerator field in tc_u_hnode o [NETFILTER]: Fix warning in CONNMARK o [PKT_SCHED]: Rename TCQ_F_INGRES to TCQ_F_INGRESS o [PKT_SCHED]: pkt_cls.h needs pkt_sched.h o [PKT_SCHED]: Add net/sch_generic.h with generic sched definitions o [PKT_SCHED]: Remove obsolete definitions in pkt_cls.h o [PKT_SCHED]: Add net/act_api.h with public action/policer bits o [PKT_SCHED]: Remove obsolete definitions in pkt_sched.h o [PKT_SCHED]: Transform pkt_sched.h prototypes to be extern o [PKT_SCHED]: Move tc_classify from pkt_cls.h to sch_api.c o [PKT_SCHED]: psched_*_per_* can be static o [PKT_SCHED]: Cleanup cls_set_class o [PKT_SCHED]: Inline psched_tod_diff o [PKT_SCHED]: Use new header architecture o [PKT_SCHED]: Remove bogus lock and make cls_set_class return unsigned long o [PKT_SCHED]: Add generic classifier routines o [PKT_SCHED]: cls_fw: Cleanup fw_classify o [PKT_SCHED]: cls_fw: Use generic routines to configure action/policer o [PKT_SCHED]: cls_fw: Use generic routines to dump action/policer o [PKT_SCHED]: cls_fw: Whitespace/ifdef fixes o [PKT_SCHED]: cls_fw: Break is not enough to stop walking o [PKT_SCHED]: cls_fw: CONFIG_NET_CLS_IND is not dependant on CONFIG_NET_CLS_ACT o [PKT_SCHED]: cls_route: Use generic routines for class binding and police config/dump o [PKT_SCHED]: cls_rsvp*: Use generic routines for class binding and police config/dump o [PKT_SCHED]: cls_tcindex: Use generic routines for class binding and police config/dump o [PKT_SCHED]: cls_u32: Use generic routines for class binding and police config/dump o [PKT_SCHED]: tcf_action: copy generic stats via TCA_ACT_STATS o [PKT_SCHED]: gact: use gnet_stats for action stats o [PKT_SCHED]: ipt: use gnet_stats for action stats o [PKT_SCHED]: mirred: use gnet_stats for action stats o [PKT_SCHED]: pedit: use gnet_stats for action stats o [PKT_SCHED]: police: use gnet_stats for action policer stats o [PKT_SCHED]: police: use gnet_stats for old policer stats o [PKT_SCHED]: cls_*: use tcf_police_dump_stats to dump via new gnet_stats API o [PKT_SCHED]: Initialize lists of builtin qdiscs o [PKT_SCHED]: Builtin qdiscs should avoid all qdisc_destroy() processing o [PKT_SCHED]: Remove old estimator code, no longer used Tobias Lorenz: o [libata sata_promise] s/sata/ata/ Tom Fredrik Blenning Klaussen: o firmware spelling errors Tom L. Nguyen: o PCI: pci-mmconfig fix Tom Rini: o kbuild: fix 'htmldocs' and friends with O= o ppc32: Fix building for Motorola Sandpoint with O= o kbuild: warning fixes on Solaris 9 o ppc32: Move request_irq() calls to arch_initcall() functions o ppc32: Fix warning in gen550 code o ppc32: Remove sandpoint_early_serial_map() o Fix ppc32 compile o kconfig: Fix menuconfig on Solaris o kbuild: additional warning fixes on Solaris 9 o ppc32: fix early request_irq o ppc32: CPM2 bug o ppc32: Add support for Sandpoint X2 o ppc32: Fixup <asm/time.h> includes o Fix building of samba userland o Add __KERNEL__ to <linux/crc-ccitt.h> o Fix CPM2 uart driver device number brain damage Tommy Christensen: o [NET]: Move local_bh_enable back in dev_queue_xmit Tony Lindgren: o [ARM PATCH] 2162/1: OMAP update 1/8: Improved cpu detection and serial init o [ARM PATCH] 2164/1: OMAP update 3/8: Include files o [ARM PATCH] 2165/1: OMAP update 4/X: Replace 1610 and 5912 header files with 16xx o [ARM PATCH] 2166/1: OMAP update 5/8: Change OMAP to use generic clock framework o [ARM PATCH] 2167/1: OMAP update 6/8: Add graphics acceleration support to DMA o [ARM PATCH] 2169/1: OMAP update 8/8: McBSP update o [ARM PATCH] 2170/1: OMAP update 2/8, take 2: Arch files o [ARM PATCH] 2173/1: OMAP update 7/8, take 3: Add PM support o [ARM PATCH] 2194/1: Change OMAP serial port init to use autodetection o [ARM PATCH] 2195/1: Updates to OMAP clock framework Tony Luck: o [IA64] Need <asm/meminit.h> for GRANULEROUNDDOWN o [IA64] fix(?) unwind data for ia64_monarch_init_handler o [IA64] tiger_defconfig update for 2.6.10-rc1 o [IA64] promote configs/generic_defconfig to defconfig o [IA64] implement pcibios_resource_to_bus and pcibios_bus_to_resource o [IA64-SGI] Do not disable interrupts in ia64_sn_plat_specific_err_print Toshihiro Iwamoto: o direct IO write memory leak fix Utz Bacher: o s390: qdio changes Venkatesh Pallipadi: o HPET reenabling after suspend-resume Ville Syrjala: o fbdev: Fix atyfb cursor problems Wen Xiong: o icom makefile fix o "PORT_ICOM" defination for icom adapter Wensong Zhang: o [IPVS]: Update version to 1.2.1 Werner Almesberger: o update CREDITS entry of Werner Almesberger o make buffer head argument of buffer_##name "const" William Lee Irwin III: o remove itimer_ticks and itimer_next Yanmin Zhang: o hugetlb_get_unmapped_area fix o x86_64: Fix 32bit aio setup Yasuyuki Kozakai: o [NETFILTER]: prearation of removing skb_linearize() o [NETFILTER]: Enable ip6t_LOG.c to work without skb_linearize() o [NETFILTER]: Enable ip6t_ah.c to work without skb_linearize() o [NETFILTER]: Enable ip6t_esp.c to work without skb_linearize() o [NETFILTER]: Enable ip6t_rt.c to work without skb_linearize() o [NETFILTER]: Enable ip6t_multiport.c to work without skb_linearize() o [NETFILTER]: Enable ip6t_frag.c to work without skb_linearize() o [NETFILTER]: Fix multiple bugs in dst match o [NETFILTER]: Fix multiple bugs in hbh match o [NETFILTER]: Introduce skb_header_pointer() to dst match o [NETFILTER]: Introduce skb_header_pointer() to hbh match Yi Zhu: o swsusp: print error message when swapping is disabled Yoshinori Sato: o H8/300 inline cleanup o H8/300 build error fix o H8/300 vmlinux.lds update o fix "extern inline" Zachary Amsden: o faster signal handling on x86 ^ permalink raw reply [flat|nested] 86+ messages in thread
* 2.6.10-rc2 doesn't boot 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds @ 2004-11-15 4:07 ` Adrian Bunk 2004-11-15 4:48 ` Linus Torvalds 2004-11-15 7:25 ` 2.6.10-rc2 doesn't boot Andrew Morton 2004-11-15 10:26 ` Linux 2.6.10-rc2 Russell King ` (8 subsequent siblings) 9 siblings, 2 replies; 86+ messages in thread From: Adrian Bunk @ 2004-11-15 4:07 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List [-- Attachment #1: Type: text/plain, Size: 2005 bytes --] I don't know what might have caused this: Both 2.6.9 and 2.6.10-rc1-mm5 boot fine on my computer. 2.6.10-rc2 doesn't boot. It stops at the following place (from a 2.6.10-rc1-mm5 log): <-- snip --> ... ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 ACPI: PS/2 Keyboard Controller [PS2K] at I/O 0x60, 0x64, irq 1 ACPI: PS/2 Mouse Controller [PS2M] at irq 12 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP] parport0: irq 7 detected lp0: using parport0 (polling). io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered ----> 2.6.10-rc2 stops here loop: loaded (max 8 devices) sis900.c: v1.08.07 11/02/2003 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 6 PCI: setting IRQ 6 as level-triggered ACPI: PCI interrupt 0000:00:04.0[A] -> GSI 6 (level, low) -> IRQ 6 eth0: Realtek RTL8201 PHY transceiver found at address 1. eth0: Using transceiver found at address 1 as default eth0: SiS 900 PCI Fast Ethernet at 0xdc00, IRQ 6, 00:0b:6a:3b:93:a8. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SIS5513: IDE controller at PCI slot 0000:00:02.5 SIS5513: chipset revision 0 SIS5513: not 100% native mode: will probe irqs later SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller ide0: BM-DMA at 0xff00-0xff07, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0xff08-0xff0f, BIOS settings: hdc:DMA, hdd:DMA ... <-- snip --> My .config is attached. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed [-- Attachment #2: .config --] [-- Type: text/plain, Size: 30066 bytes --] # # Automatically generated make config: don't edit # Linux kernel version: 2.6.10-rc1-mm5 # Thu Nov 11 15:24:35 2004 # CONFIG_X86=y CONFIG_MMU=y CONFIG_UID16=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y CONFIG_BROKEN_ON_SMP=y CONFIG_LOCK_KERNEL=y # # General setup # CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_POSIX_MQUEUE is not set CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set CONFIG_SYSCTL=y # CONFIG_AUDIT is not set CONFIG_LOG_BUF_SHIFT=14 CONFIG_HOTPLUG=y CONFIG_KOBJECT_UEVENT=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_FUTEX=y CONFIG_EPOLL=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SHMEM=y CONFIG_CC_ALIGN_FUNCTIONS=0 CONFIG_CC_ALIGN_LABELS=0 CONFIG_CC_ALIGN_LOOPS=0 CONFIG_CC_ALIGN_JUMPS=0 # CONFIG_TINY_SHMEM is not set # # Loadable module support # CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_OBSOLETE_MODPARM=y CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y # # Processor type and features # CONFIG_X86_PC=y # CONFIG_X86_ELAN is not set # CONFIG_X86_VOYAGER is not set # CONFIG_X86_NUMAQ is not set # CONFIG_X86_SUMMIT is not set # CONFIG_X86_BIGSMP is not set # CONFIG_X86_VISWS is not set # CONFIG_X86_GENERICARCH is not set # CONFIG_X86_ES7000 is not set # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set # CONFIG_M686 is not set # CONFIG_MPENTIUMII is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMM is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set CONFIG_MK7=y # CONFIG_MK8 is not set # CONFIG_MCRUSOE is not set # CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set # CONFIG_X86_GENERIC is not set CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_USE_3DNOW=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y # CONFIG_SMP is not set CONFIG_PREEMPT=y # CONFIG_PREEMPT_BKL is not set # CONFIG_X86_UP_APIC is not set CONFIG_X86_TSC=y # CONFIG_X86_MCE is not set # CONFIG_TOSHIBA is not set # CONFIG_I8K is not set # CONFIG_MICROCODE is not set # CONFIG_X86_MSR is not set # CONFIG_X86_CPUID is not set # # Firmware Drivers # CONFIG_EDD=y # CONFIG_EDD_SKIP_MBR is not set CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y # CONFIG_EFI is not set CONFIG_HAVE_DEC_LOCK=y CONFIG_REGPARM=y # # Performance-monitoring counters support # # CONFIG_PERFCTR is not set CONFIG_KERN_PHYS_OFFSET=1 # CONFIG_KEXEC is not set # # Power management options (ACPI, APM) # CONFIG_PM=y # CONFIG_PM_DEBUG is not set # CONFIG_SOFTWARE_SUSPEND is not set # # ACPI (Advanced Configuration and Power Interface) Support # CONFIG_ACPI=y CONFIG_ACPI_BOOT=y CONFIG_ACPI_INTERPRETER=y # CONFIG_ACPI_SLEEP is not set # CONFIG_ACPI_AC is not set # CONFIG_ACPI_BATTERY is not set # CONFIG_ACPI_BUTTON is not set # CONFIG_ACPI_VIDEO is not set # CONFIG_ACPI_FAN is not set # CONFIG_ACPI_PROCESSOR is not set # CONFIG_ACPI_ASUS is not set # CONFIG_ACPI_THINKPAD is not set # CONFIG_ACPI_IBM is not set # CONFIG_ACPI_TOSHIBA is not set CONFIG_ACPI_BLACKLIST_YEAR=0 # CONFIG_ACPI_DEBUG is not set CONFIG_ACPI_BUS=y CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_PCI=y CONFIG_ACPI_SYSTEM=y # CONFIG_X86_PM_TIMER is not set # CONFIG_ACPI_CONTAINER is not set # # APM (Advanced Power Management) BIOS Support # # CONFIG_APM is not set # # CPU Frequency scaling # # CONFIG_CPU_FREQ is not set # # Bus options (PCI, PCMCIA, EISA, MCA, ISA) # CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GOMMCONFIG is not set # CONFIG_PCI_GODIRECT is not set CONFIG_PCI_GOANY=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_LEGACY_PROC=y CONFIG_PCI_NAMES=y # CONFIG_ISA is not set # CONFIG_MCA is not set # CONFIG_SCx200 is not set # # PCCARD (PCMCIA/CardBus) support # # CONFIG_PCCARD is not set # # PC-card bridges # # # PCI Hotplug Support # # CONFIG_HOTPLUG_PCI is not set # # Executable file formats # CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_MISC=y # # Device Drivers # # # Generic Driver Options # CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # CONFIG_DEBUG_DRIVER is not set # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Parallel port support # CONFIG_PARPORT=y CONFIG_PARPORT_PC=y CONFIG_PARPORT_PC_CML1=y # CONFIG_PARPORT_SERIAL is not set CONFIG_PARPORT_PC_FIFO=y # CONFIG_PARPORT_PC_SUPERIO is not set # CONFIG_PARPORT_OTHER is not set CONFIG_PARPORT_1284=y # # Plug and Play support # # CONFIG_PNP is not set # # Block devices # CONFIG_BLK_DEV_FD=y # CONFIG_PARIDE is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set # CONFIG_BLK_DEV_RAM is not set CONFIG_INITRAMFS_SOURCE="" # CONFIG_LBD is not set # CONFIG_CDROM_PKTCDVD is not set # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # # ATA/ATAPI/MFM/RLL support # CONFIG_IDE=y CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives # # CONFIG_BLK_DEV_IDE_SATA is not set # CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=y CONFIG_IDEDISK_MULTI_MODE=y CONFIG_BLK_DEV_IDECD=y # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set # CONFIG_BLK_DEV_IDESCSI is not set # CONFIG_IDE_TASK_IOCTL is not set # # IDE chipset support/bugfixes # # CONFIG_IDE_GENERIC is not set # CONFIG_BLK_DEV_CMD640 is not set CONFIG_BLK_DEV_IDEPCI=y CONFIG_IDEPCI_SHARE_IRQ=y # CONFIG_BLK_DEV_OFFBOARD is not set # CONFIG_BLK_DEV_GENERIC is not set # CONFIG_BLK_DEV_OPTI621 is not set # CONFIG_BLK_DEV_RZ1000 is not set CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDEDMA_ONLYDISK is not set # CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_ALI15X3 is not set # CONFIG_BLK_DEV_AMD74XX is not set # CONFIG_BLK_DEV_ATIIXP is not set # CONFIG_BLK_DEV_CMD64X is not set # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_CY82C693 is not set # CONFIG_BLK_DEV_CS5520 is not set # CONFIG_BLK_DEV_CS5530 is not set # CONFIG_BLK_DEV_HPT34X is not set # CONFIG_BLK_DEV_HPT366 is not set # CONFIG_BLK_DEV_SC1200 is not set # CONFIG_BLK_DEV_PIIX is not set # CONFIG_BLK_DEV_NS87415 is not set # CONFIG_BLK_DEV_PDC202XX_OLD is not set # CONFIG_BLK_DEV_PDC202XX_NEW is not set # CONFIG_BLK_DEV_SVWKS is not set # CONFIG_BLK_DEV_SIIMAGE is not set CONFIG_BLK_DEV_SIS5513=y # CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_VIA82CXXX is not set # CONFIG_IDE_ARM is not set CONFIG_BLK_DEV_IDEDMA=y # CONFIG_IDEDMA_IVB is not set CONFIG_IDEDMA_AUTO=y # CONFIG_BLK_DEV_HD is not set # # SCSI device support # CONFIG_SCSI=y # CONFIG_SCSI_PROC_FS is not set # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set # CONFIG_BLK_DEV_SR is not set # CONFIG_CHR_DEV_SG is not set # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set # # SCSI Transport Attributes # # CONFIG_SCSI_SPI_ATTRS is not set # CONFIG_SCSI_FC_ATTRS is not set # # SCSI low-level drivers # # CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AACRAID is not set # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_DPT_I2O is not set # CONFIG_MEGARAID_NEWGEN is not set # CONFIG_MEGARAID_LEGACY is not set # CONFIG_SCSI_SATA is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_IMM is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_QLOGIC_ISP is not set # CONFIG_SCSI_QLOGIC_FC is not set # CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280_1040 is not set CONFIG_SCSI_QLA2XXX=y # CONFIG_SCSI_QLA21XX is not set # CONFIG_SCSI_QLA22XX is not set # CONFIG_SCSI_QLA2300 is not set # CONFIG_SCSI_QLA2322 is not set # CONFIG_SCSI_QLA6312 is not set # CONFIG_SCSI_QLA6322 is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set # # Multi-device support (RAID and LVM) # CONFIG_MD=y # CONFIG_BLK_DEV_MD is not set CONFIG_BLK_DEV_DM=y # CONFIG_DM_CRYPT is not set CONFIG_DM_SNAPSHOT=y # CONFIG_DM_MIRROR is not set # CONFIG_DM_ZERO is not set # # Fusion MPT device support # # CONFIG_FUSION is not set # # IEEE 1394 (FireWire) support # # CONFIG_IEEE1394 is not set # # I2O device support # # CONFIG_I2O is not set # # Networking support # CONFIG_NET=y # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y # CONFIG_NETLINK_DEV is not set CONFIG_UNIX=y # CONFIG_NET_KEY is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set # CONFIG_SYN_COOKIES is not set # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set # CONFIG_INET_TUNNEL is not set # CONFIG_IP_TCPDIAG is not set # CONFIG_IP_TCPDIAG_IPV6 is not set # # IP: Virtual Server Configuration # # CONFIG_IP_VS is not set # CONFIG_IPV6 is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set # # IP: Netfilter Configuration # CONFIG_IP_NF_CONNTRACK=y # CONFIG_IP_NF_CT_ACCT is not set # CONFIG_IP_NF_CONNTRACK_MARK is not set # CONFIG_IP_NF_CT_PROTO_SCTP is not set CONFIG_IP_NF_FTP=y # CONFIG_IP_NF_IRC is not set # CONFIG_IP_NF_TFTP is not set # CONFIG_IP_NF_AMANDA is not set # CONFIG_IP_NF_QUEUE is not set CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_MATCH_LIMIT=y # CONFIG_IP_NF_MATCH_IPRANGE is not set CONFIG_IP_NF_MATCH_MAC=y # CONFIG_IP_NF_MATCH_PKTTYPE is not set # CONFIG_IP_NF_MATCH_MARK is not set CONFIG_IP_NF_MATCH_MULTIPORT=y CONFIG_IP_NF_MATCH_TOS=y # CONFIG_IP_NF_MATCH_RECENT is not set # CONFIG_IP_NF_MATCH_ECN is not set # CONFIG_IP_NF_MATCH_DSCP is not set # CONFIG_IP_NF_MATCH_AH_ESP is not set CONFIG_IP_NF_MATCH_LENGTH=y CONFIG_IP_NF_MATCH_TTL=y # CONFIG_IP_NF_MATCH_TCPMSS is not set # CONFIG_IP_NF_MATCH_HELPER is not set CONFIG_IP_NF_MATCH_STATE=y # CONFIG_IP_NF_MATCH_CONNTRACK is not set # CONFIG_IP_NF_MATCH_OWNER is not set # CONFIG_IP_NF_MATCH_ADDRTYPE is not set # CONFIG_IP_NF_MATCH_REALM is not set # CONFIG_IP_NF_MATCH_SCTP is not set # CONFIG_IP_NF_MATCH_COMMENT is not set # CONFIG_IP_NF_MATCH_HASHLIMIT is not set CONFIG_IP_NF_FILTER=y # CONFIG_IP_NF_TARGET_REJECT is not set CONFIG_IP_NF_TARGET_LOG=y # CONFIG_IP_NF_TARGET_ULOG is not set # CONFIG_IP_NF_TARGET_TCPMSS is not set # CONFIG_IP_NF_NAT is not set # CONFIG_IP_NF_MANGLE is not set # CONFIG_IP_NF_RAW is not set # CONFIG_IP_NF_ARPTABLES is not set # # SCTP Configuration (EXPERIMENTAL) # # CONFIG_IP_SCTP is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set # CONFIG_VLAN_8021Q is not set # CONFIG_DECNET is not set # CONFIG_LLC2 is not set # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # CONFIG_NET_CLS_ROUTE is not set # # Network testing # # CONFIG_NET_PKTGEN is not set # CONFIG_KGDBOE is not set # CONFIG_NETPOLL is not set # CONFIG_NETPOLL_RX is not set # CONFIG_NETPOLL_TRAP is not set # CONFIG_NET_POLL_CONTROLLER is not set # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set # CONFIG_BT is not set CONFIG_NETDEVICES=y CONFIG_DUMMY=y # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # # ARCnet devices # # CONFIG_ARCNET is not set # # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y CONFIG_MII=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_NET_VENDOR_3COM is not set # # Tulip family network device support # # CONFIG_NET_TULIP is not set # CONFIG_HP100 is not set CONFIG_NET_PCI=y # CONFIG_PCNET32 is not set # CONFIG_AMD8111_ETH is not set # CONFIG_ADAPTEC_STARFIRE is not set # CONFIG_B44 is not set # CONFIG_FORCEDETH is not set # CONFIG_DGRS is not set # CONFIG_EEPRO100 is not set # CONFIG_E100 is not set # CONFIG_FEALNX is not set # CONFIG_NATSEMI is not set # CONFIG_NE2K_PCI is not set # CONFIG_8139CP is not set # CONFIG_8139TOO is not set CONFIG_SIS900=y # CONFIG_EPIC100 is not set # CONFIG_SUNDANCE is not set # CONFIG_TLAN is not set # CONFIG_VIA_RHINE is not set # # Ethernet (1000 Mbit) # # CONFIG_ACENIC is not set # CONFIG_DL2K is not set # CONFIG_E1000 is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_R8169 is not set # CONFIG_SK98LIN is not set # CONFIG_VIA_VELOCITY is not set # CONFIG_TIGON3 is not set # # Ethernet (10000 Mbit) # # CONFIG_IXGB is not set # CONFIG_S2IO is not set # # Token Ring devices # # CONFIG_TR is not set # # Wireless LAN (non-hamradio) # # CONFIG_NET_RADIO is not set # # Wan interfaces # # CONFIG_WAN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # CONFIG_NET_FC is not set # CONFIG_SHAPER is not set # CONFIG_NETCONSOLE is not set # # ISDN subsystem # # CONFIG_ISDN is not set # # Telephony Support # # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1280 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1024 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_TSDEV is not set CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set # # Input I/O drivers # # CONFIG_GAMEPORT is not set CONFIG_SOUND_GAMEPORT=y CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_RAW is not set # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_SERIAL=y # CONFIG_MOUSE_VSXXXAA is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TOUCHSCREEN is not set CONFIG_INPUT_MISC=y # CONFIG_INPUT_PCSPKR is not set # CONFIG_INPUT_UINPUT is not set # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y # CONFIG_SERIAL_NONSTANDARD is not set # # Serial drivers # CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_CONSOLE is not set # CONFIG_SERIAL_8250_ACPI is not set CONFIG_SERIAL_8250_NR_UARTS=4 # CONFIG_SERIAL_8250_EXTENDED is not set # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set CONFIG_PRINTER=y # CONFIG_LP_CONSOLE is not set # CONFIG_PPDEV is not set # CONFIG_TIPAR is not set # # IPMI # # CONFIG_IPMI_HANDLER is not set # # Watchdog Cards # # CONFIG_WATCHDOG is not set # CONFIG_HW_RANDOM is not set CONFIG_NVRAM=y CONFIG_RTC=y # CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_SONYPI is not set # # Ftape, the floppy tape device driver # # CONFIG_FTAPE is not set CONFIG_AGP=y # CONFIG_AGP_ALI is not set # CONFIG_AGP_ATI is not set # CONFIG_AGP_AMD is not set # CONFIG_AGP_AMD64 is not set # CONFIG_AGP_INTEL is not set # CONFIG_AGP_INTEL_MCH is not set # CONFIG_AGP_NVIDIA is not set CONFIG_AGP_SIS=y # CONFIG_AGP_SWORKS is not set # CONFIG_AGP_VIA is not set # CONFIG_AGP_EFFICEON is not set CONFIG_DRM=y # CONFIG_DRM_TDFX is not set # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=y # CONFIG_DRM_MGA is not set # CONFIG_DRM_SIS is not set # CONFIG_MWAVE is not set # CONFIG_RAW_DRIVER is not set # CONFIG_HPET is not set # CONFIG_HANGCHECK_TIMER is not set # # I2C support # CONFIG_I2C=y CONFIG_I2C_CHARDEV=y # # I2C Algorithms # CONFIG_I2C_ALGOBIT=y # CONFIG_I2C_ALGOPCF is not set # CONFIG_I2C_ALGOPCA is not set # # I2C Hardware Bus support # # CONFIG_I2C_ALI1535 is not set # CONFIG_I2C_ALI1563 is not set # CONFIG_I2C_ALI15X3 is not set # CONFIG_I2C_AMD756 is not set # CONFIG_I2C_AMD8111 is not set # CONFIG_I2C_I801 is not set # CONFIG_I2C_I810 is not set CONFIG_I2C_ISA=y # CONFIG_I2C_NFORCE2 is not set # CONFIG_I2C_PARPORT is not set # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_PROSAVAGE is not set # CONFIG_I2C_SAVAGE4 is not set # CONFIG_SCx200_ACB is not set # CONFIG_I2C_SIS5595 is not set # CONFIG_I2C_SIS630 is not set CONFIG_I2C_SIS96X=y # CONFIG_I2C_STUB is not set # CONFIG_I2C_VIA is not set # CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VOODOO3 is not set # CONFIG_I2C_PCA_ISA is not set # # Hardware Sensors Chip support # CONFIG_I2C_SENSOR=y # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ASB100 is not set # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_FSCHER is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_LM63 is not set # CONFIG_SENSORS_LM75 is not set # CONFIG_SENSORS_LM77 is not set # CONFIG_SENSORS_LM78 is not set # CONFIG_SENSORS_LM80 is not set # CONFIG_SENSORS_LM83 is not set # CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM87 is not set # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_MAX1619 is not set # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_SMSC47M1 is not set # CONFIG_SENSORS_VIA686A is not set CONFIG_SENSORS_W83781D=y # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # # Other I2C Chip support # # CONFIG_SENSORS_EEPROM is not set # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_SENSORS_RTC8564 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set # # Dallas's 1-wire bus # # CONFIG_W1 is not set # # Misc devices # # CONFIG_IBM_ASM is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set # # Digital Video Broadcasting Devices # # CONFIG_DVB is not set # # Graphics support # CONFIG_FB=y CONFIG_FB_MODE_HELPERS=y # CONFIG_FB_TILEBLITTING is not set # CONFIG_FB_CIRRUS is not set # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set # CONFIG_FB_VGA16 is not set # CONFIG_FB_VESA is not set CONFIG_VIDEO_SELECT=y # CONFIG_FB_HGA is not set # CONFIG_FB_RIVA is not set # CONFIG_FB_I810 is not set # CONFIG_FB_INTEL is not set # CONFIG_FB_MATROX is not set # CONFIG_FB_RADEON_OLD is not set CONFIG_FB_RADEON=y CONFIG_FB_RADEON_I2C=y # CONFIG_FB_RADEON_DEBUG is not set # CONFIG_FB_ATY128 is not set # CONFIG_FB_ATY is not set # CONFIG_FB_SAVAGE is not set # CONFIG_FB_SIS is not set # CONFIG_FB_NEOMAGIC is not set # CONFIG_FB_KYRO is not set # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_VIRTUAL is not set # # Console display driver support # CONFIG_VGA_CONSOLE=y CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FONTS=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y # CONFIG_FONT_6x11 is not set # CONFIG_FONT_PEARL_8x8 is not set # CONFIG_FONT_ACORN_8x8 is not set # CONFIG_FONT_MINI_4x6 is not set # CONFIG_FONT_SUN8x16 is not set # CONFIG_FONT_SUN12x22 is not set # # Logo configuration # # CONFIG_LOGO is not set # # Sound # CONFIG_SOUND=y # # Advanced Linux Sound Architecture # CONFIG_SND=y CONFIG_SND_TIMER=y CONFIG_SND_PCM=y CONFIG_SND_RAWMIDI=y CONFIG_SND_SEQUENCER=y # CONFIG_SND_SEQ_DUMMY is not set CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=y CONFIG_SND_PCM_OSS=y CONFIG_SND_SEQUENCER_OSS=y CONFIG_SND_RTCTIMER=y # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set # # Generic devices # CONFIG_SND_MPU401_UART=y # CONFIG_SND_DUMMY is not set # CONFIG_SND_VIRMIDI is not set # CONFIG_SND_MTPAV is not set # CONFIG_SND_SERIAL_U16550 is not set CONFIG_SND_MPU401=y # # PCI devices # CONFIG_SND_AC97_CODEC=y # CONFIG_SND_ALI5451 is not set # CONFIG_SND_ATIIXP is not set # CONFIG_SND_ATIIXP_MODEM is not set # CONFIG_SND_AU8810 is not set # CONFIG_SND_AU8820 is not set # CONFIG_SND_AU8830 is not set # CONFIG_SND_AZT3328 is not set # CONFIG_SND_BT87X is not set # CONFIG_SND_CS46XX is not set # CONFIG_SND_CS4281 is not set # CONFIG_SND_EMU10K1 is not set # CONFIG_SND_KORG1212 is not set # CONFIG_SND_MIXART is not set # CONFIG_SND_NM256 is not set # CONFIG_SND_RME32 is not set # CONFIG_SND_RME96 is not set # CONFIG_SND_RME9652 is not set # CONFIG_SND_HDSP is not set # CONFIG_SND_TRIDENT is not set # CONFIG_SND_YMFPCI is not set # CONFIG_SND_ALS4000 is not set # CONFIG_SND_CMIPCI is not set # CONFIG_SND_ENS1370 is not set CONFIG_SND_ENS1371=y # CONFIG_SND_ES1938 is not set # CONFIG_SND_ES1968 is not set # CONFIG_SND_MAESTRO3 is not set # CONFIG_SND_FM801 is not set # CONFIG_SND_ICE1712 is not set # CONFIG_SND_ICE1724 is not set # CONFIG_SND_INTEL8X0 is not set # CONFIG_SND_INTEL8X0M is not set # CONFIG_SND_SONICVIBES is not set # CONFIG_SND_VIA82XX is not set # CONFIG_SND_VX222 is not set # # USB devices # # CONFIG_SND_USB_AUDIO is not set # CONFIG_SND_USB_USX2Y is not set # # Open Sound System # # CONFIG_SOUND_PRIME is not set # # USB support # CONFIG_USB=y CONFIG_USB_DEBUG=y # # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y # CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_SUSPEND is not set # CONFIG_USB_OTG is not set CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y # # USB Host Controller Drivers # CONFIG_USB_EHCI_HCD=y # CONFIG_USB_EHCI_SPLIT_ISO is not set # CONFIG_USB_EHCI_ROOT_HUB_TT is not set # CONFIG_USB_OHCI_HCD is not set # CONFIG_USB_UHCI_HCD is not set # # USB Device Class drivers # # CONFIG_USB_AUDIO is not set # CONFIG_USB_BLUETOOTH_TTY is not set # CONFIG_USB_MIDI is not set # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_RW_DETECT=y # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_DPCM is not set # CONFIG_USB_STORAGE_HP8200e is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # # USB Input Devices # # CONFIG_USB_HID is not set # # USB HID Boot Protocol drivers # # CONFIG_USB_KBD is not set # CONFIG_USB_MOUSE is not set # CONFIG_USB_AIPTEK is not set # CONFIG_USB_WACOM is not set # CONFIG_USB_KBTAB is not set # CONFIG_USB_POWERMATE is not set # CONFIG_USB_MTOUCH is not set # CONFIG_USB_EGALAX is not set # CONFIG_USB_XPAD is not set # CONFIG_USB_ATI_REMOTE is not set # # USB Imaging devices # # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USB_HPUSBSCSI is not set # # USB Multimedia devices # # CONFIG_USB_DABUSB is not set # # Video4Linux support is needed for USB Multimedia device support # # # USB Network adaptors # # CONFIG_USB_CATC is not set # CONFIG_USB_KAWETH is not set # CONFIG_USB_PEGASUS is not set # CONFIG_USB_RTL8150 is not set # CONFIG_USB_USBNET is not set # # USB port drivers # # CONFIG_USB_USS720 is not set # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # # USB Miscellaneous drivers # # CONFIG_USB_EMI62 is not set # CONFIG_USB_EMI26 is not set # CONFIG_USB_TIGL is not set # CONFIG_USB_AUERSWALD is not set # CONFIG_USB_RIO500 is not set # CONFIG_USB_LEGOTOWER is not set # CONFIG_USB_LCD is not set # CONFIG_USB_LED is not set # CONFIG_USB_CYTHERM is not set # CONFIG_USB_PHIDGETKIT is not set # CONFIG_USB_PHIDGETSERVO is not set # CONFIG_USB_TEST is not set # # USB ATM/DSL drivers # # # USB Gadget Support # # CONFIG_USB_GADGET is not set # # File systems # CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y # CONFIG_EXT2_FS_SECURITY is not set # CONFIG_EXT3_FS is not set # CONFIG_JBD is not set CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y # CONFIG_XFS_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_ROMFS_FS is not set # CONFIG_QUOTA is not set CONFIG_DNOTIFY=y # CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS4_FS is not set # # Caches # # CONFIG_FSCACHE is not set # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_ZISOFS_FS=y # CONFIG_UDF_FS is not set # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=y # CONFIG_MSDOS_FS is not set CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_NTFS_FS=y # CONFIG_NTFS_DEBUG is not set # CONFIG_NTFS_RW is not set # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_SYSFS=y # CONFIG_DEVFS_FS is not set CONFIG_DEVPTS_FS_XATTR=y # CONFIG_DEVPTS_FS_SECURITY is not set CONFIG_TMPFS=y # CONFIG_TMPFS_XATTR is not set # CONFIG_HUGETLBFS is not set # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y # # Miscellaneous filesystems # # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set # CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set # # Network File Systems # # CONFIG_NFS_FS is not set CONFIG_NFSD=y CONFIG_NFSD_V3=y CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_SUNRPC=y # CONFIG_RPCSEC_GSS_KRB5 is not set # CONFIG_RPCSEC_GSS_SPKM3 is not set CONFIG_SMB_FS=y CONFIG_SMB_NLS_DEFAULT=y CONFIG_SMB_NLS_REMOTE="cp852" CONFIG_CIFS=y # CONFIG_CIFS_STATS is not set CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set # CONFIG_OSF_PARTITION is not set # CONFIG_AMIGA_PARTITION is not set # CONFIG_ATARI_PARTITION is not set # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set # CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_LDM_PARTITION is not set # CONFIG_SGI_PARTITION is not set # CONFIG_ULTRIX_PARTITION is not set # CONFIG_SUN_PARTITION is not set # CONFIG_EFI_PARTITION is not set # # Native Language Support # CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-15" CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set CONFIG_NLS_CODEPAGE_852=y # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set CONFIG_NLS_CODEPAGE_1250=y # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set CONFIG_NLS_ISO8859_15=y # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set CONFIG_NLS_UTF8=y # # Profiling support # # CONFIG_PROFILING is not set # # Kernel hacking # CONFIG_DEBUG_KERNEL=y CONFIG_MAGIC_SYSRQ=y # CONFIG_SCHEDSTATS is not set # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_PREEMPT is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_INFO is not set # CONFIG_FRAME_POINTER is not set CONFIG_EARLY_PRINTK=y # CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_KPROBES is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_PAGEALLOC is not set CONFIG_4KSTACKS=y # CONFIG_KGDB is not set # # Security options # # CONFIG_KEYS is not set # CONFIG_SECURITY is not set # # Cryptographic options # # CONFIG_CRYPTO is not set # # Library routines # # CONFIG_CRC_CCITT is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set CONFIG_ZLIB_INFLATE=y CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_X86_BIOS_REBOOT=y CONFIG_PC=y ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot 2004-11-15 4:07 ` 2.6.10-rc2 doesn't boot Adrian Bunk @ 2004-11-15 4:48 ` Linus Torvalds 2004-11-15 5:29 ` Adrian Bunk 2004-11-15 7:25 ` 2.6.10-rc2 doesn't boot Andrew Morton 1 sibling, 1 reply; 86+ messages in thread From: Linus Torvalds @ 2004-11-15 4:48 UTC (permalink / raw) To: Adrian Bunk; +Cc: Kernel Mailing List On Mon, 15 Nov 2004, Adrian Bunk wrote: > io scheduler deadline registered > io scheduler cfq registered > > ----> 2.6.10-rc2 stops here > > loop: loaded (max 8 devices) Strange. There is not a lot in between those two registrations. The "cfq registered" comes from cfq_init(), and the "loop: loaded" thing comes from loop_init(), and in between them in the link there is just floppy.o. And I don't see that _any_ of those three has changed. Yes, cfq got an __exit added to its exit function, and floppy got __initdata added, but neither of those should make any difference what-so-ever. Just for interest, what happens if you disable floppy support? It doesn't look like you have a floppy on that system.. Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot 2004-11-15 4:48 ` Linus Torvalds @ 2004-11-15 5:29 ` Adrian Bunk 2004-11-15 23:27 ` Chris Wright 0 siblings, 1 reply; 86+ messages in thread From: Adrian Bunk @ 2004-11-15 5:29 UTC (permalink / raw) To: Linus Torvalds, Bjorn Helgaas; +Cc: Kernel Mailing List On Sun, Nov 14, 2004 at 08:48:22PM -0800, Linus Torvalds wrote: > > > On Mon, 15 Nov 2004, Adrian Bunk wrote: > > io scheduler deadline registered > > io scheduler cfq registered > > > > ----> 2.6.10-rc2 stops here > > > > loop: loaded (max 8 devices) > > Strange. There is not a lot in between those two registrations. The "cfq > registered" comes from cfq_init(), and the "loop: loaded" thing comes from > loop_init(), and in between them in the link there is just floppy.o. > > And I don't see that _any_ of those three has changed. Yes, cfq got an > __exit added to its exit function, and floppy got __initdata added, but > neither of those should make any difference what-so-ever. > > Just for interest, what happens if you disable floppy support? It doesn't > look like you have a floppy on that system.. Bingo. I don't have a floppy and floppy support is disabled in the BIOS. And thinking about it, I had exactly the same problem in -mm three months ago (the thread subject was "2.6.8-rc4-mm1 doesn't boot"). (I didn't think it might be the same problem again since this was so long ago...). It seems Bjorns "PCI: remove unconditional PCI ACPI IRQ routing" was merged now into your tree, but his patch to fix floppy.c wasn't merged... > Linus cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot 2004-11-15 5:29 ` Adrian Bunk @ 2004-11-15 23:27 ` Chris Wright 2004-11-15 23:58 ` Andrew Morton 2004-11-18 23:14 ` 2.6.10-rc2 doesn't boot (if no floppy device) Len Brown 0 siblings, 2 replies; 86+ messages in thread From: Chris Wright @ 2004-11-15 23:27 UTC (permalink / raw) To: Adrian Bunk; +Cc: Linus Torvalds, Bjorn Helgaas, Kernel Mailing List * Adrian Bunk (bunk@stusta.de) wrote: > It seems Bjorns "PCI: remove unconditional PCI ACPI IRQ routing" was > merged now into your tree, but his patch to fix floppy.c wasn't > merged... What's the likelihood of getting some derivative of Bjorn's patch merged? W/out the patch (and w/ floppy built) I've the same issue. thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot 2004-11-15 23:27 ` Chris Wright @ 2004-11-15 23:58 ` Andrew Morton 2004-11-18 23:14 ` 2.6.10-rc2 doesn't boot (if no floppy device) Len Brown 1 sibling, 0 replies; 86+ messages in thread From: Andrew Morton @ 2004-11-15 23:58 UTC (permalink / raw) To: Chris Wright; +Cc: bunk, torvalds, bjorn.helgaas, linux-kernel, Brown, Len Chris Wright <chrisw@osdl.org> wrote: > > * Adrian Bunk (bunk@stusta.de) wrote: > > It seems Bjorns "PCI: remove unconditional PCI ACPI IRQ routing" was > > merged now into your tree, but his patch to fix floppy.c wasn't > > merged... > > What's the likelihood of getting some derivative of Bjorn's patch > merged? W/out the patch (and w/ floppy built) I've the same issue. > I've had no bug reports against it for some time, but I was hoping to talk Len into merging it up because ACPI makes my head swim. From: Bjorn Helgaas <bjorn.helgaas@hp.com> This can be disabled with "floppy=no_acpi", which should only be required if your BIOS supplies incorrect ACPI _CRS information about I/O ports, IRQs, or DMA channels. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> --- 25-akpm/Documentation/floppy.txt | 6 + 25-akpm/drivers/block/floppy.c | 183 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 189 insertions(+) diff -puN Documentation/floppy.txt~add-acpi-based-floppy-controller-enumeration Documentation/floppy.txt --- 25/Documentation/floppy.txt~add-acpi-based-floppy-controller-enumeration 2004-11-11 01:19:18.835616160 -0800 +++ 25-akpm/Documentation/floppy.txt 2004-11-11 01:19:18.840615400 -0800 @@ -204,6 +204,12 @@ in /etc/modprobe.conf. It's been recommended that take about 1/4 of the default speed in some more extreme cases." + floppy=no_acpi + Don't enumerate floppy controllers using ACPI namespace. + You may need this if your ACPI is buggy and doesn't report + a floppy controller when it actually exists, or if it + reports incorrect I/O port, IRQ, or DMA information. + Supporting utilities and additional documentation: ================================================== diff -puN drivers/block/floppy.c~add-acpi-based-floppy-controller-enumeration drivers/block/floppy.c --- 25/drivers/block/floppy.c~add-acpi-based-floppy-controller-enumeration 2004-11-11 01:19:18.837615856 -0800 +++ 25-akpm/drivers/block/floppy.c 2004-11-11 01:31:30.094447920 -0800 @@ -181,6 +181,13 @@ static int print_unex = 1; #include <linux/device.h> #include <linux/buffer_head.h> /* for invalidate_buffers() */ +#ifdef CONFIG_ACPI +#include <linux/acpi.h> +#include <acpi/acpi_bus.h> + +static int no_acpi_floppy; +#endif + /* * PS/2 floppies have much slower step rates than regular floppies. * It's been recommended that take about 1/4 of the default speed @@ -4150,6 +4157,9 @@ static struct param_table { {"slow", NULL, &slow_floppy, 1, 0}, {"unexpected_interrupts", NULL, &print_unex, 1, 0}, {"no_unexpected_interrupts", NULL, &print_unex, 0, 0}, +#ifdef CONFIG_ACPI + {"no_acpi", NULL, &no_acpi_floppy, 1, 0}, +#endif {"L40SX", NULL, &print_unex, 0, 0} EXTRA_FLOPPY_PARAMS @@ -4222,11 +4232,180 @@ static struct kobject *floppy_find(dev_t return get_disk(disks[drive]); } +#ifdef CONFIG_ACPI +static int acpi_floppy_registered; +static int acpi_floppies; + +struct region { + unsigned int base; + unsigned int size; +}; + +struct floppy_resources { + unsigned int nr_io_regions; + struct region io_region[2]; + unsigned int irq; + unsigned int dma_channel; +}; + +static acpi_status acpi_floppy_resource(struct acpi_resource *res, void *data) +{ + struct floppy_resources *fd = (struct floppy_resources *) data; + struct acpi_resource_io *io; + struct acpi_resource_irq *irq; + struct acpi_resource_ext_irq *ext_irq; + struct acpi_resource_dma *dma; + int n; + + if (res->id == ACPI_RSTYPE_IO) { + io = &res->data.io; + if (io->range_length) { + n = fd->nr_io_regions; + if (n < 2) { + fd->io_region[n].base = io->min_base_address; + fd->io_region[n].size = io->range_length; + fd->nr_io_regions++; + } else { + printk(KERN_WARNING "%s: ignoring I/O port region 0x%x-0x%x\n", + DEVICE_NAME, io->min_base_address, + io->min_base_address + io->range_length - 1); + } + } + } else if (res->id == ACPI_RSTYPE_IRQ) { + irq = &res->data.irq; + if (irq->number_of_interrupts > 0) + fd->irq = acpi_register_gsi(irq->interrupts[0], + irq->edge_level, irq->active_high_low); + } else if (res->id == ACPI_RSTYPE_EXT_IRQ) { + ext_irq = &res->data.extended_irq; + if (ext_irq->number_of_interrupts > 0) + fd->irq = acpi_register_gsi(ext_irq->interrupts[0], + ext_irq->edge_level, ext_irq->active_high_low); + } else if (res->id == ACPI_RSTYPE_DMA) { + dma = &res->data.dma; + if (dma->number_of_channels > 0) + fd->dma_channel = dma->channels[0]; + } + return AE_OK; +} + +static int acpi_floppy_add(struct acpi_device *device) +{ + struct floppy_resources fd; + acpi_status status; + unsigned int base, dcr; + + memset(&fd, 0, sizeof(fd)); + status = acpi_walk_resources(device->handle, METHOD_NAME__CRS, + acpi_floppy_resource, &fd); + if (ACPI_FAILURE(status)) + return -ENODEV; + + strncpy(acpi_device_name(device), "Floppy Controller", + sizeof(acpi_device_name(device))); + printk("ACPI: %s [%s] at I/O 0x%x-0x%x", + acpi_device_name(device), acpi_device_bid(device), + fd.io_region[0].base, + fd.io_region[0].base + fd.io_region[0].size - 1); + if (fd.nr_io_regions > 1) { + if (fd.io_region[1].size == 1) + printk(", 0x%x", fd.io_region[1].base); + else + printk(", 0x%x-0x%x", fd.io_region[1].base, + fd.io_region[1].base + fd.io_region[1].size - 1); + } + printk(" irq %d dma channel %d\n", fd.irq, fd.dma_channel); + + /* + * The most correct resource description is probably of the form + * 0x3f2-0x3f5, 0x3f7 + * Those are the only ports this driver actually uses. + * + * 0x3f0 and 0x3f1 were apparently used on PS/2 systems (though + * this driver doesn't touch them), and 0x3f6 is used by IDE. + * Some BIOS's erroneously include those ports, or omit 0x3f7, + * so we should also be able to handle the following: + * 0x3f0-0x3f5 + * 0x3f0-0x3f5, 0x3f7 + * 0x3f0-0x3f7 + * 0x3f2-0x3f7 + */ + base = fd.io_region[0].base & ~0x7; + dcr = base + 7; + +#define contains(region, port) ((region).base <= (port) && \ + (port) < (region).base + (region).size) + + if (!(contains(fd.io_region[0], dcr) || contains(fd.io_region[1], dcr))) { + printk(KERN_WARNING "ACPI: [%s] doesn't declare FD_DCR; also claiming 0x%x\n", + acpi_device_bid(device), dcr); + } + +#undef contains + + if (acpi_floppies == 0) { + FDC1 = base; + FLOPPY_IRQ = fd.irq; + FLOPPY_DMA = fd.dma_channel; + } else if (acpi_floppies == 1) { + FDC2 = base; + if (fd.irq != FLOPPY_IRQ || fd.dma_channel != FLOPPY_DMA) + printk(KERN_WARNING "%s: different IRQ/DMA info for [%s]; may not work\n", + DEVICE_NAME, acpi_device_bid(device)); + } else { + printk(KERN_ERR "%s: only 2 controllers supported; [%s] ignored\n", + DEVICE_NAME, acpi_device_bid(device)); + return -ENODEV; + } + + acpi_floppies++; + return 0; +} + +static struct acpi_driver acpi_floppy_driver = { + .name = "floppy", + .ids = "PNP0700", + .ops = { + .add = acpi_floppy_add, + }, +}; + +static int acpi_floppy_init(void) +{ + int err; + + if (no_acpi_floppy) { + printk("%s: ACPI detection disabled\n", DEVICE_NAME); + return -ENODEV; + } + err = acpi_bus_register_driver(&acpi_floppy_driver); + if (err >= 0) + acpi_floppy_registered = 1; + return err; +} + +static void acpi_floppy_exit(void) +{ + if (acpi_floppy_registered) { + acpi_bus_unregister_driver(&acpi_floppy_driver); + acpi_floppy_registered = 0; + } +} +#else +static inline int acpi_floppy_init(void) { return -ENODEV; } +static inline void acpi_floppy_exit(void) { } +#endif + int __init floppy_init(void) { int i, unit, drive; int err, dr; + if (acpi_floppy_init() == 0) { + err = -ENODEV; + goto out_put_acpi; + } + raw_cmd = NULL; for (dr = 0; dr < N_DRIVE; dr++) { @@ -4411,6 +4590,8 @@ out_put_disk: del_timer(&motor_off_timer[dr]); put_disk(disks[dr]); } +out_put_acpi: + acpi_floppy_exit(); return err; } @@ -4627,6 +4808,8 @@ void cleanup_module(void) /* eject disk, if any */ fd_eject(0); + acpi_floppy_exit(); + wait_for_completion(&device_release); } _ ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-15 23:27 ` Chris Wright 2004-11-15 23:58 ` Andrew Morton @ 2004-11-18 23:14 ` Len Brown 2004-11-19 7:09 ` Chris Wright ` (2 more replies) 1 sibling, 3 replies; 86+ messages in thread From: Len Brown @ 2004-11-18 23:14 UTC (permalink / raw) To: Chris Wright Cc: Adrian Bunk, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton [-- Attachment #1: Type: text/plain, Size: 796 bytes --] Chris, Please apply this debug patch and boot with apic=debug acpi_dbg_level=1 If the disabled floppy hardware doesn't cause the floppy.c to hang the system, (or if running Linus' recent floppy.c update, if the floppy.c doesn't nuke IRQ6) then please send me the dmesg. Then try with apic=debug pci=routeirq and capture that dmesg. If the patch makes no functional difference, then please add pci=routeirq to the cmdline above and send me that dmesg. apic=debug enables print_PIC() so we can see what the BIOS gave us, and what we do to the PIC. acpi_dbg_level=1 will prevent ACPI from blindly disabling the PCI Interrupt Link Devices, which I'm guessing may be confusing the BIOS on this box. if you can send me the acpidmp and lspci -vv for this box, that would help too. thanks, -Len [-- Attachment #2: debug.patch --] [-- Type: text/plain, Size: 1079 bytes --] ===== arch/i386/pci/acpi.c 1.18 vs edited ===== --- 1.18/arch/i386/pci/acpi.c 2004-10-19 00:44:01 -04:00 +++ edited/arch/i386/pci/acpi.c 2004-11-18 17:57:20 -05:00 @@ -56,6 +56,10 @@ if (acpi_ioapic) print_IO_APIC(); #endif + { + extern void print_PIC(void); + print_PIC(); + } return 0; } ===== drivers/acpi/pci_link.c 1.34 vs edited ===== --- 1.34/drivers/acpi/pci_link.c 2004-11-02 02:40:09 -05:00 +++ edited/drivers/acpi/pci_link.c 2004-11-18 18:11:15 -05:00 @@ -475,6 +475,9 @@ struct acpi_pci_link *link = NULL; int i = 0; +extern void print_PIC(void); +print_PIC(); + ACPI_FUNCTION_TRACE("acpi_irq_penalty_init"); /* @@ -685,8 +688,13 @@ acpi_link.count++; end: + /* disable all links -- to be activated on use */ +if (acpi_dbg_level != 1) acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL); +else + printk("NOT disabled\n"); + if (result) kfree(link); @@ -865,6 +873,9 @@ if (acpi_noirq) return_VALUE(0); + +extern void print_PIC(void); +print_PIC(); acpi_link.count = 0; INIT_LIST_HEAD(&acpi_link.entries); ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-18 23:14 ` 2.6.10-rc2 doesn't boot (if no floppy device) Len Brown @ 2004-11-19 7:09 ` Chris Wright 2004-11-20 9:02 ` Len Brown 2004-11-19 13:47 ` Adrian Bunk 2004-11-23 1:57 ` Chris Wright 2 siblings, 1 reply; 86+ messages in thread From: Chris Wright @ 2004-11-19 7:09 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Adrian Bunk, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton * Len Brown (len.brown@intel.com) wrote: > Chris, > > Please apply this debug patch and boot with > apic=debug acpi_dbg_level=1 Len, unfortunately the disk drive went south on my laptop. So testing will take a bit longer as I piece things back together. thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-19 7:09 ` Chris Wright @ 2004-11-20 9:02 ` Len Brown 2004-11-20 12:40 ` Adrian Bunk ` (2 more replies) 0 siblings, 3 replies; 86+ messages in thread From: Len Brown @ 2004-11-20 9:02 UTC (permalink / raw) To: Chris Wright Cc: Adrian Bunk, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton [-- Attachment #1: Type: text/plain, Size: 2463 bytes --] Please try this updated debug patch. It clears the ELCR on Linux boot. Also, it prints out the ICH PIRQ registers which are the hardware underlying the ACPI PCI Interrupt Links. It no longer depends on IOAPIC support in the kernel, nor the apic=debug flag. Please boot it with no kernel parameters and report if it makes the floppy probe failure (or 8042 probe failure) go away, and send dmesg. If it still fails, please boot it with pci=routeirq and capture the dmesg; also boot it with acpi_dbg_level=1 and capture the dmesg. The former will program all the links before device probe, the later will cause the kernel to skip disabling the links and skip clearning the ELCR. thanks, -Len ps. what I think is happening... To its credit, he BIOS correctly recognizes that there is no floppy, and it routes a PIRQ to IRQ6. It correctly sets the ELCR bit for this IRQ. Linux boots and disables all the PCI Interrupt Links, which un-programs the PIRQ directed to IRQ6. However, Linux doesn't clear the ELCR first, and for some reason that causes an interrupt to latch in IRQ6 -- though it is masked. Along comes the broken floppy driver before the PCI devices probe. floppy doesn't realize there is no hardware and unwittingly does a request_irq(6). Since nobody is camped on IRQ6, this exclusive request succeeds, IRQ6 is unmasked and the floppy driver takes the outstaning interrupt. For some reason it is unable to clear the IRQ. I don't think it is because the line is being driven by the PIRQ, that is disabled. It may have something to do with the ELCR still being set to level senstive for this IRQ. So this hangs the system, or with Linus' update to floppy.c, it nukes IRQ6. I'm hopeful that with a cleared ELCR, the misguided legacy floppy probe will work as it always has, and floppy will then unload so the PCI device can later claim IRQ6 and program the link and the ELCR accordingly. I do believe that Linux should continue to disable the PCI Interrupt Links at boot and enable them only on demand. We used to leave them all enabled and on some systems that caused spurious interrupts, duplicated interrupts, and all kinds of crazy things. Note if the floppy driver had not requested IRQ6, then a PCI device would have requested it, the link would be programmed, and ELCR would be set (redundant), and the interrupt unmasked. The device would take the initial interrupt, it would clear it successfully, and run normally from then on. [-- Attachment #2: debug.patch --] [-- Type: text/plain, Size: 4628 bytes --] ===== arch/i386/kernel/i8259.c 1.38 vs edited ===== --- 1.38/arch/i386/kernel/i8259.c 2004-10-20 04:37:14 -04:00 +++ edited/arch/i386/kernel/i8259.c 2004-11-20 03:18:08 -05:00 @@ -243,10 +243,21 @@ /** * ELCR registers (0x4d0, 0x4d1) control edge/level of IRQ */ -static void restore_ELCR(char *trigger) + +void restore_ELCR(char *trigger) { outb(trigger[0], 0x4d0); outb(trigger[1], 0x4d1); +} + +void +clear_ELCR(void) +{ + char trigger[2] = {0, 0}; + + restore_ELCR(trigger); + printk("clear ELCR\n"); + print_ICH_PIC(); /* XXX debug */ } static void save_ELCR(char *trigger) ===== arch/i386/kernel/acpi/boot.c 1.75 vs edited ===== --- 1.75/arch/i386/kernel/acpi/boot.c 2004-11-11 19:08:40 -05:00 +++ edited/arch/i386/kernel/acpi/boot.c 2004-11-20 01:23:46 -05:00 @@ -801,7 +801,9 @@ acpi_boot_init (void) { int error; - + extern int print_ICH_PIC(void); + + print_ICH_PIC(); /* * If acpi_disabled, bail out * One exception: acpi=ht continues far enough to enumerate LAPICs ===== arch/i386/pci/acpi.c 1.18 vs edited ===== --- 1.18/arch/i386/pci/acpi.c 2004-10-19 00:44:01 -04:00 +++ edited/arch/i386/pci/acpi.c 2004-11-20 01:23:46 -05:00 @@ -56,6 +56,10 @@ if (acpi_ioapic) print_IO_APIC(); #endif + { + extern int print_ICH_PIC(void); + print_ICH_PIC(); + } return 0; } ===== drivers/acpi/bus.c 1.47 vs edited ===== --- 1.47/drivers/acpi/bus.c 2004-11-02 02:40:09 -05:00 +++ edited/drivers/acpi/bus.c 2004-11-20 03:47:22 -05:00 @@ -31,6 +31,7 @@ #include <linux/proc_fs.h> #ifdef CONFIG_X86 #include <asm/mpspec.h> +#include <asm/i8259.h> #endif #include <acpi/acpi_bus.h> #include <acpi/acpi_drivers.h> @@ -629,6 +630,11 @@ #ifdef CONFIG_X86 if (!acpi_ioapic) { extern acpi_interrupt_flags acpi_sci_flags; + + if (acpi_dbg_level == 1) /* XXX hack use of dbg flag */ + printk("NOT clearing ELCR\n"); + else + clear_ELCR(); /* compatible (0) means level (3) */ if (acpi_sci_flags.trigger == 0) ===== drivers/acpi/pci_link.c 1.34 vs edited ===== --- 1.34/drivers/acpi/pci_link.c 2004-11-02 02:40:09 -05:00 +++ edited/drivers/acpi/pci_link.c 2004-11-20 03:47:34 -05:00 @@ -54,6 +54,56 @@ #define ACPI_PCI_LINK_FILE_STATUS "state" #define ACPI_PCI_LINK_MAX_POSSIBLE 16 +int print_ICH_PIC(void) +{ + extern spinlock_t i8259A_lock; + unsigned int v; + u8 b; + unsigned long flags; + int i; + + spin_lock_irqsave(&i8259A_lock, flags); + + v = inb(0xa1) << 8 | inb(0x21); + printk(KERN_DEBUG "... PIC IMR: %04x\n", v); + + v = inb(0xa0) << 8 | inb(0x20); + printk(KERN_DEBUG "... PIC IRR: %04x\n", v); + + outb(0x0b,0xa0); + outb(0x0b,0x20); + v = inb(0xa0) << 8 | inb(0x20); + outb(0x0a,0xa0); + outb(0x0a,0x20); + + spin_unlock_irqrestore(&i8259A_lock, flags); + + printk(KERN_DEBUG "... PIC ISR: %04x\n", v); + + v = inb(0x4d1) << 8 | inb(0x4d0); + printk(KERN_DEBUG "... PIC ELCR: %04x\n", v); +#define PCI_CONF1_ADDRESS(bus, devfn, reg) \ + (0x80000000 | (bus << 16) | (devfn << 8) | (reg & ~3)) + + for (i = 0; i < 8; ++i) { + u32 bus = 0; + u32 devfn = 0x1F << 3; /* ICH is dev 31, func 0 */ + u32 reg; + + if (i < 4) + reg = 0x60 + i; + else + reg = 0x64 + i; + + outl(PCI_CONF1_ADDRESS(bus, devfn, reg), 0xCF8); + b = inb(0xCFC + (reg & 3)); + printk("PIRQ%c -> IRQ%d %s\n", 'A' + i, b & 0xF, + b & 0x80 ? "disabled" : "ACTIVE"); + } + return 0; +} + +late_initcall(print_ICH_PIC); static int acpi_pci_link_add (struct acpi_device *device); static int acpi_pci_link_remove (struct acpi_device *device, int type); @@ -475,6 +525,8 @@ struct acpi_pci_link *link = NULL; int i = 0; +print_ICH_PIC(); + ACPI_FUNCTION_TRACE("acpi_irq_penalty_init"); /* @@ -685,8 +737,15 @@ acpi_link.count++; end: + /* disable all links -- to be activated on use */ +if (acpi_dbg_level == 1) { + printk("NOT _DISabled\n"); +} else { acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL); + printk("_DISabled\n"); +} + if (result) kfree(link); @@ -865,6 +924,9 @@ if (acpi_noirq) return_VALUE(0); + +printk("LENB: ACPI has not touched Links yet\n"); +print_ICH_PIC(); acpi_link.count = 0; INIT_LIST_HEAD(&acpi_link.entries); ===== include/asm-i386/i8259.h 1.2 vs edited ===== --- 1.2/include/asm-i386/i8259.h 2003-03-06 13:14:05 -05:00 +++ edited/include/asm-i386/i8259.h 2004-11-20 03:17:06 -05:00 @@ -13,5 +13,7 @@ extern void enable_8259A_irq(unsigned int irq); extern void disable_8259A_irq(unsigned int irq); extern unsigned int startup_8259A_irq(unsigned int irq); +extern void clear_ELCR(void); +extern void print_ICH_PIC(void); /* debug hack only */ #endif /* __ASM_I8259_H__ */ ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 9:02 ` Len Brown @ 2004-11-20 12:40 ` Adrian Bunk 2004-11-20 18:28 ` Linus Torvalds 2004-11-22 18:28 ` Len Brown 2004-11-20 16:41 ` 2.6.10-rc2 doesn't boot (if no floppy device) Linus Torvalds 2004-11-23 1:58 ` Chris Wright 2 siblings, 2 replies; 86+ messages in thread From: Adrian Bunk @ 2004-11-20 12:40 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, Nov 20, 2004 at 04:02:04AM -0500, Len Brown wrote: > Please try this updated debug patch. > > It clears the ELCR on Linux boot. > > Also, it prints out the ICH PIRQ registers which > are the hardware underlying the ACPI PCI Interrupt Links. > It no longer depends on IOAPIC support in the kernel, > nor the apic=debug flag. > > Please boot it with no kernel parameters > and report if it makes the floppy probe failure > (or 8042 probe failure) go away, and send dmesg. >... With your patch, the boot failure goes away. This was with a kernel without Linus' patch applied. desg is below. > thanks, > -Len >... cu Adrian BTW: Is all what ACPI does really required, if all I need ACPI for is to turn the power off after halting my computer? Linux version 2.6.10-rc2 (bunk@r063144.stusta.swh.mhn.de) (gcc version 3.4.2 (Debian 3.4.2-3)) #2 Sat Nov 20 13:20:42 CET 2004 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000000fff0000 (usable) BIOS-e820: 000000000fff0000 - 000000000fff8000 (ACPI data) BIOS-e820: 000000000fff8000 - 0000000010000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000ffee0000 - 00000000fff00000 (reserved) BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved) 255MB LOWMEM available. On node 0 totalpages: 65520 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 61424 pages, LIFO batch:14 HighMem zone: 0 pages, LIFO batch:1 DMI 2.3 present. ... PIC IMR: fffb ... PIC IRR: 0001 ... PIC ISR: 0000 ... PIC ELCR: 0c68 PIRQA -> IRQ15 disabled PIRQB -> IRQ15 disabled PIRQC -> IRQ15 disabled PIRQD -> IRQ15 disabled PIRQE -> IRQ15 disabled PIRQF -> IRQ15 disabled PIRQG -> IRQ15 disabled PIRQH -> IRQ15 disabled ACPI: RSDP (v000 AMI ) @ 0x000fab70 ACPI: RSDT (v001 AMIINT SiS740XX 0x00001000 MSFT 0x0100000b) @ 0x0fff0000 ACPI: FADT (v001 AMIINT SiS740XX 0x00000011 MSFT 0x0100000b) @ 0x0fff0030 ACPI: MADT (v001 AMIINT SiS740XX 0x00001000 MSFT 0x0100000b) @ 0x0fff00c0 ACPI: DSDT (v001 SiS 746 0x00000100 MSFT 0x0100000d) @ 0x00000000 Built 1 zonelists Kernel command line: BOOT_IMAGE=test ro root=301 mode=1280x1024@760 Initializing CPU#0 CPU 0 irqstacks, hard=c0466000 soft=c0465000 PID hash table entries: 1024 (order: 10, 16384 bytes) Detected 1800.276 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 255340k/262080k available (2365k kernel code, 6172k reserved, 942k data, 144k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay loop... 3563.52 BogoMIPS (lpj=1781760) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: After generic identify, caps: 0383fbff c1c3fbff 00000000 00000000 CPU: After vendor identify, caps: 0383fbff c1c3fbff 00000000 00000000 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 256K (64 bytes/line) CPU: After all inits, caps: 0383fbff c1c3fbff 00000000 00000020 CPU: AMD Athlon(tm) XP 2200+ stepping 01 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. clear ELCR ... PIC IMR: fffa ... PIC IRR: 0000 ... PIC ISR: 0000 ... PIC ELCR: 0000 PIRQA -> IRQ15 disabled PIRQB -> IRQ15 disabled PIRQC -> IRQ15 disabled PIRQD -> IRQ15 disabled PIRQE -> IRQ15 disabled PIRQF -> IRQ15 disabled PIRQG -> IRQ15 disabled PIRQH -> IRQ15 disabled ACPI: IRQ9 SCI: Edge set to Level Trigger. NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfdb31, last bus=2 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20041105 ACPI: Interpreter enabled ACPI: Using PIC for interrupt routing LENB: ACPI has not touched Links yet ... PIC IMR: fdfa ... PIC IRR: 0000 ... PIC ISR: 0000 ... PIC ELCR: 0200 PIRQA -> IRQ15 disabled PIRQB -> IRQ15 disabled PIRQC -> IRQ15 disabled PIRQD -> IRQ15 disabled PIRQE -> IRQ15 disabled PIRQF -> IRQ15 disabled PIRQG -> IRQ15 disabled PIRQH -> IRQ15 disabled ACPI: PCI Root Bridge [PCI0] (00:00) PCI: Probing PCI hardware (bus 00) Uncovering SIS963 that hid as a SIS503 (compatible=0) Enabling SiS 96x SMBus. ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) _DISabled ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. _DISabled ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. _DISabled ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 *6 7 10 11 12 14 15) _DISabled ACPI: PCI Interrupt Link [LNKE] (IRQs *3 4 5 6 7 10 11 12 14 15) _DISabled ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 *5 6 7 10 11 12 14 15) _DISabled ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. _DISabled ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *10 11 12 14 15) _DISabled SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing ... PIC IMR: fdfa ... PIC IRR: 0c68 ... PIC ISR: 0000 ... PIC ELCR: 0200 PIRQA -> IRQ15 disabled PIRQB -> IRQ15 disabled PIRQC -> IRQ15 disabled PIRQD -> IRQ15 disabled PIRQE -> IRQ15 disabled PIRQF -> IRQ15 disabled PIRQG -> IRQ15 disabled PIRQH -> IRQ15 disabled ** PCI interrupts are no longer routed automatically. If this ** causes a device to stop working, it is probably because the ** driver failed to call pci_enable_device(). As a temporary ** workaround, the "pci=routeirq" argument restores the old ** behavior. If this argument makes the device work again, ** please email the output of "lspci" to bjorn.helgaas@hp.com ** so I can fix the driver. ... PIC IMR: fdfa ... PIC IRR: 0c68 ... PIC ISR: 0000 ... PIC ELCR: 0200 PIRQA -> IRQ15 disabled PIRQB -> IRQ15 disabled PIRQC -> IRQ15 disabled PIRQD -> IRQ15 disabled PIRQE -> IRQ15 disabled PIRQF -> IRQ15 disabled PIRQG -> IRQ15 disabled PIRQH -> IRQ15 disabled NTFS driver 2.1.22 [Flags: R/O]. ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 PCI: setting IRQ 11 as level-triggered ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 radeonfb: Found Intel x86 BIOS ROM Image radeonfb: Retreived PLL infos from BIOS radeonfb: Reference=27.00 MHz (RefDiv=60) Memory=155.00 Mhz, System=155.00 MHz radeonfb: PLL min 12000 max 35000 radeonfb: Monitor 1 type DFP found radeonfb: EDID probed radeonfb: Monitor 2 type no found Console: switching to colour frame buffer device 160x64 radeonfb: ATI Radeon QY DDR SGRAM 64 MB lp: driver loaded but no devices found Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 Linux agpgart interface v0.100 (c) Dave Jones agpgart: Detected SiS 746 chipset agpgart: Maximum main memory to use for agp memory: 203M agpgart: AGP aperture is 64M @ 0xd0000000 ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 [drm] Initialized radeon 1.11.0 20020828 on minor 0: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE] serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP] parport0: irq 7 detected lp0: using parport0 (polling). io scheduler noop registered io scheduler cfq registered elevator: using cfq as default io scheduler floppy0: no floppy controllers found loop: loaded (max 8 devices) sis900.c: v1.08.07 11/02/2003 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 6 PCI: setting IRQ 6 as level-triggered ACPI: PCI interrupt 0000:00:04.0[A] -> GSI 6 (level, low) -> IRQ 6 eth0: Realtek RTL8201 PHY transceiver found at address 1. eth0: Using transceiver found at address 1 as default eth0: SiS 900 PCI Fast Ethernet at 0xdc00, IRQ 6, 00:00:00:00:00:00. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SIS5513: IDE controller at PCI slot 0000:00:02.5 SIS5513: chipset revision 0 SIS5513: not 100% native mode: will probe irqs later SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller ide0: BM-DMA at 0xff00-0xff07, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0xff08-0xff0f, BIOS settings: hdc:DMA, hdd:DMA Probing IDE interface ide0... hda: SAMSUNG SV1604N, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... hdc: LITE-ON LTR-12101B, ATAPI CD/DVD-ROM drive ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 1024KiB hda: 312581808 sectors (160041 MB) w/2048KiB Cache, CHS=19457/255/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 32X CD-ROM CD-R/RW drive, 2048kB Cache, DMA Uniform CD-ROM driver Revision: 3.20 ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10 PCI: setting IRQ 10 as level-triggered ACPI: PCI interrupt 0000:00:03.2[D] -> GSI 10 (level, low) -> IRQ 10 ehci_hcd 0000:00:03.2: Silicon Integrated Systems [SiS] USB 2.0 Controller ehci_hcd 0000:00:03.2: irq 10, pci mem 0xcffff000 ehci_hcd 0000:00:03.2: new USB bus registered, assigned bus number 1 PCI: cache line size of 64 is not supported by device 0000:00:03.2 ehci_hcd 0000:00:03.2: USB 2.0 initialized, EHCI 1.00, driver 26 Oct 2004 hub 1-0:1.0: USB hub found hub 1-0:1.0: 6 ports detected Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 input: ImPS/2 Generic Wheel Mouse on isa0060/serio1 i2c /dev entries driver Advanced Linux Sound Architecture Driver Version 1.0.6 (Sun Aug 15 07:17:53 2004 UTC). ACPI: PCI interrupt 0000:00:0c.0[A] -> GSI 11 (level, low) -> IRQ 11 ALSA device list: #0: Ensoniq AudioPCI ENS1371 at 0xd800, irq 11 NET: Registered protocol family 2 IP: routing cache hash table of 2048 buckets, 16Kbytes TCP: Hash tables configured (established 16384 bind 32768) ip_conntrack version 2.1 (2047 buckets, 16376 max) - 176 bytes per conntrack ip_tables: (C) 2000-2002 Netfilter core team NET: Registered protocol family 1 NET: Registered protocol family 17 ... PIC IMR: 20f8 ... PIC IRR: 00a8 ... PIC ISR: 0000 ... PIC ELCR: 0e40 PIRQA -> IRQ15 disabled PIRQB -> IRQ15 disabled PIRQC -> IRQ15 disabled PIRQD -> IRQ15 disabled PIRQE -> IRQ15 disabled PIRQF -> IRQ15 disabled PIRQG -> IRQ15 disabled PIRQH -> IRQ15 disabled BIOS EDD facility v0.16 2004-Jun-25, 1 devices found VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 144k freed Adding 987988k swap on /dev/hda2. Priority:-1 extents:1 eth0: Media Link On 10mbps half-duplex agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0. agpgart: Putting AGP V3 device at 0000:00:00.0 into 4x mode agpgart: SiS delay workaround: giving bridge time to recover. agpgart: Putting AGP V3 device at 0000:01:00.0 into 4x mode ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 12:40 ` Adrian Bunk @ 2004-11-20 18:28 ` Linus Torvalds 2004-11-20 19:10 ` Linus Torvalds ` (3 more replies) 2004-11-22 18:28 ` Len Brown 1 sibling, 4 replies; 86+ messages in thread From: Linus Torvalds @ 2004-11-20 18:28 UTC (permalink / raw) To: Adrian Bunk Cc: Len Brown, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, 20 Nov 2004, Adrian Bunk wrote: > > With your patch, the boot failure goes away. > This was with a kernel without Linus' patch applied. It boots for me too, but it all seems pretty accidental. In particular, the code will disable irq12 (mouse interrupt), so the mouse has no chance of working. Having tested it, it so happens that if I boot with a mouse actually conntected, the BIOS will not use irq12 for PCI devices, so that will hide the problem since ACPI won't try to disable it when it doesn't see it. But if I had more PCI devices, or another legacy device that doesn't have the same kind of "test if something is connected" logic, it really looks like it would break again. (It's entirely possible that Windows has the exact same issue, of course, at which point it's fairly safe to say that manufacturers will have tested this and just not done it, but I don't feel all that safe making that assumption). So I think the simpler fix is just this one-liner: we should not disable preexisting links, because non-PCI devices may depend on the same routing information, and thus the comments about "being activated on use" is not actually true. Linus ===== drivers/acpi/pci_link.c 1.34 vs edited ===== --- 1.34/drivers/acpi/pci_link.c 2004-11-01 23:40:09 -08:00 +++ edited/drivers/acpi/pci_link.c 2004-11-20 09:43:56 -08:00 @@ -685,9 +685,6 @@ acpi_link.count++; end: - /* disable all links -- to be activated on use */ - acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL); - if (result) kfree(link); ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 18:28 ` Linus Torvalds @ 2004-11-20 19:10 ` Linus Torvalds 2004-11-22 19:55 ` Len Brown 2004-11-24 16:26 ` Alan Cox 2004-11-21 16:29 ` Adrian Bunk ` (2 subsequent siblings) 3 siblings, 2 replies; 86+ messages in thread From: Linus Torvalds @ 2004-11-20 19:10 UTC (permalink / raw) To: Adrian Bunk Cc: Len Brown, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, 20 Nov 2004, Linus Torvalds wrote: > > In particular, the code will disable irq12 (mouse interrupt), so the mouse > has no chance of working. Btw, looking closer still, this all will most likely vary wildly according to southbridge (and BIOS setups). At least some SB's seem to put the legacy interrupts totally separately from the PIRQ stuff, in which case the PIRQ disable will not matter one whit - the legacy interrupt is inserted "after" the PIRQ gating/translation anyway. This seems to be especially common for controllers for keyboard/mouse/i2c etc that are actually on the southbridge itself. But the basic notion remains: disabling a PIRQ line is valid only if you know it's only used by PCI devices. There might be other special devices on the board that don't show up as PCI devices, eg things like the Sony programmable I/O thing that doesn't show up as a PCI device at all, it's just "invisibly" connected to the bus (it just hijacks port 0x66 or something - the range 0-0x3ff is generally reserved for "motherboard devices"). These kinds of things hopefully aren't all that common (there can't be a lot of extra hw required to follow the PCI spec _properly_), but if I were a hw designer, I'd connect such a chip to the PIRQ input, and just make the BIOS enable it automatically. Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 19:10 ` Linus Torvalds @ 2004-11-22 19:55 ` Len Brown 2004-11-24 16:26 ` Alan Cox 1 sibling, 0 replies; 86+ messages in thread From: Len Brown @ 2004-11-22 19:55 UTC (permalink / raw) To: Linus Torvalds Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, 2004-11-20 at 14:10, Linus Torvalds wrote: > > On Sat, 20 Nov 2004, Linus Torvalds wrote: > > > > In particular, the code will disable irq12 (mouse interrupt), so the > mouse > > has no chance of working. > > Btw, looking closer still, this all will most likely vary wildly > according to southbridge (and BIOS setups). At least some SB's seem to > put the legacy interrupts totally separately from the PIRQ stuff, in > which case the PIRQ disable will not matter one whit - the legacy > interrupt is inserted "after" the PIRQ gating/translation anyway. This > seems to be especially common for controllers for keyboard/mouse/i2c > etc that are actually on the southbridge itself. Right, programming a PIRQ router to an IRQ doesn't mean that a legacy device isn't still attached to that IRQ. > But the basic notion remains: disabling a PIRQ line is valid only if > you know it's only used by PCI devices. There might be other special > devices on the board that don't show up as PCI devices, eg things like > the Sony programmable I/O thing that doesn't show up as a PCI device > at all, it's just "invisibly" connected to the bus (it just hijacks > port 0x66 or something - the range 0-0x3ff is generally reserved for > "motherboard devices"). > These kinds of things hopefully aren't all that common (there can't be > a lot of extra hw required to follow the PCI spec _properly_), but if > I were a hw designer, I'd connect such a chip to the PIRQ input, and > just make the BIOS enable it automatically. While there may be non-standard non-PCI legacy devices that (erroneously) use PIRQ routers on legacy systms, that isn't the issue at hand. The issue at hand is what to do in ACPI mode. ACPI PCI Interrupt Link Devices, by definition, are used only by PCI devices, or devices that look like them. You look up the device in the _PRT by its devid. Although links are often implemented underneath by PIRQ routers, they are much more general. ACPI PCI Interrupt Links can specificy any trigger/polarity, as well as connect to IOAPIC inputs. If there is "special" hardware using an ACPI PCI Interrupt Link without being listed in the DSDT _PRT that describes the link, then the BIOS is simply broken. -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 19:10 ` Linus Torvalds 2004-11-22 19:55 ` Len Brown @ 2004-11-24 16:26 ` Alan Cox 1 sibling, 0 replies; 86+ messages in thread From: Alan Cox @ 2004-11-24 16:26 UTC (permalink / raw) To: Linus Torvalds Cc: Adrian Bunk, Len Brown, Chris Wright, Bjorn Helgaas, Linux Kernel Mailing List, Andrew Morton On Sad, 2004-11-20 at 19:10, Linus Torvalds wrote: > These kinds of things hopefully aren't all that common (there can't be a > lot of extra hw required to follow the PCI spec _properly_), but if I were > a hw designer, I'd connect such a chip to the PIRQ input, and just make > the BIOS enable it automatically. The PCI spec includes several such bits of magic itself remember - notably on a PC the use of IRQ14 and IRQ15 by the IDE controller is not via the PCI PIRQ routing. ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 18:28 ` Linus Torvalds 2004-11-20 19:10 ` Linus Torvalds @ 2004-11-21 16:29 ` Adrian Bunk 2004-11-22 19:29 ` Len Brown 2004-11-23 2:00 ` Chris Wright 3 siblings, 0 replies; 86+ messages in thread From: Adrian Bunk @ 2004-11-21 16:29 UTC (permalink / raw) To: Linus Torvalds Cc: Len Brown, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, Nov 20, 2004 at 10:28:27AM -0800, Linus Torvalds wrote: >... > So I think the simpler fix is just this one-liner: we should not disable > preexisting links, because non-PCI devices may depend on the same routing > information, and thus the comments about "being activated on use" is not > actually true. I can confirm this patch fixes the problem for me in an otherwise unmodified 2.6.10-rc2. > Linus > > ===== drivers/acpi/pci_link.c 1.34 vs edited ===== > --- 1.34/drivers/acpi/pci_link.c 2004-11-01 23:40:09 -08:00 > +++ edited/drivers/acpi/pci_link.c 2004-11-20 09:43:56 -08:00 > @@ -685,9 +685,6 @@ > acpi_link.count++; > > end: > - /* disable all links -- to be activated on use */ > - acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL); > - > if (result) > kfree(link); cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 18:28 ` Linus Torvalds 2004-11-20 19:10 ` Linus Torvalds 2004-11-21 16:29 ` Adrian Bunk @ 2004-11-22 19:29 ` Len Brown 2004-11-22 20:02 ` Linus Torvalds 2004-11-23 2:00 ` Chris Wright 3 siblings, 1 reply; 86+ messages in thread From: Len Brown @ 2004-11-22 19:29 UTC (permalink / raw) To: Linus Torvalds Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, 2004-11-20 at 13:28, Linus Torvalds wrote: > > On Sat, 20 Nov 2004, Adrian Bunk wrote: > > > > With your patch, the boot failure goes away. > > This was with a kernel without Linus' patch applied. > > It boots for me too, but it all seems pretty accidental. > > In particular, the code will disable irq12 (mouse interrupt), so the > mouse has no chance of working. Having tested it, it so happens that > if I boot with a mouse actually conntected, the BIOS will not use > irq12 for PCI devices, so that will hide the problem since ACPI won't > try to disable it when it doesn't see it. This is not an accident that is being hidden by mistake. The BIOS probes for the legacy mouse. If it finds one, it gives it IRQ12. If it doesn't find one it gives IRQ12 to PCI. Other BIOS's are not as good as these and they don't give the free IRQs to PCI. Sub-optimal, but perfectly legal. Exact same situation Chris and Adrian see with the floppy and IRQ6. Exact same situation could potentially be seen with any motherboard device and any IRQ -- except, of course, those that can't be probed or are otherwise hard-coded for well known legacy devices, such as the RTC on IRQ8. > But if I had more PCI devices, or another legacy device that doesn't > have the same kind of "test if something is connected" logic, it > really looks like it would break again. (It's entirely possible that > Windows has the exact same issue, of course, at which point it's > fairly safe to say that manufacturers will have tested this and just > not done it, but I don't feel all that safe making that assumption). Windows uses ACPI to probe the legacy motherboard devices, and ACPI uses what the BIOS finds. If the BIOS and ACPI don't know about the motherboard device, then it isn't an ACPI system and among other failures, it would never have got a nifty Made for Windows sticker, and thus would have market penetration of approximately 0. Linux is just now learning to use ACPI for probing legacy motherboard devices. I believe that this transition can be made safely and that legacy probes should continue to work both during and after the transition. > So I think the simpler fix is just this one-liner: we should not > disable preexisting links, because non-PCI devices may depend on the > same routing information, and thus the comments about "being activated > on use" is not actually true. > > Linus > > ===== drivers/acpi/pci_link.c 1.34 vs edited ===== > --- 1.34/drivers/acpi/pci_link.c 2004-11-01 23:40:09 -08:00 > +++ edited/drivers/acpi/pci_link.c 2004-11-20 09:43:56 -08:00 > @@ -685,9 +685,6 @@ > acpi_link.count++; > > end: > - /* disable all links -- to be activated on use */ > - acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL); > - > if (result) > kfree(link); This is not a fix, it will break systems in the field. When we enable a link, we must set the ELCR. When we disable a link, we must clear the ELCR. We need to be able to enable and disable all links in the system. The bug was that while we were were setting the ELCR when we enabled a link, we were not clearing it when we disabled one. We also have an issue when we move the destiation of a link, though we don't do that very often. My debug patch cleared every bit in the ELCR even if no PCI interrupt link device pointed to that entry. Yes, this assumes that ACPI knows about every level triggered interrupt in the system. I think that is a valid assumption on an ACPI-compliant system. But if you're more comfortable with disabling the associated ELCR bit only when we disable links directed at that entry, we can do that too. The complication with that approach is that links are many to one, so clearing the bit without disabling all links directed to that entry would result in a failure. Also, the SCI uses the ELCR too, and it isn't described by links at all. -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 19:29 ` Len Brown @ 2004-11-22 20:02 ` Linus Torvalds 2004-11-22 20:10 ` Linus Torvalds 2004-11-22 20:38 ` Len Brown 0 siblings, 2 replies; 86+ messages in thread From: Linus Torvalds @ 2004-11-22 20:02 UTC (permalink / raw) To: Len Brown Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 22 Nov 2004, Len Brown wrote: > > Windows uses ACPI to probe the legacy motherboard devices, and ACPI uses > what the BIOS finds. If the BIOS and ACPI don't know about the > motherboard device, then it isn't an ACPI system and among other > failures, it would never have got a nifty Made for Windows sticker, and > thus would have market penetration of approximately 0. One thing that matters is definitely "how does Windows do things", because that's what has been tested. However, "Windows" clearly does not use ACPI for all enumeration, since there are different versions of Windows, and some of them don't (and some of them very much don't boot on all hardware either). In other words, Linux actually needs to be _more_ careful than Windows, because it's supposed to just magically work on pretty much anything out there. Nasty. So "what windows does" can never be anything but a hint on what kind of functionality has ever been tested. > When we enable a link, we must set the ELCR. > When we disable a link, we must clear the ELCR. > We need to be able to enable and disable all links in the system. > > The bug was that while we were were setting the ELCR > when we enabled a link, we were not clearing it when we disabled one. Fair enough. That may be a good fix too, but so far I can see the bug on a system I actually have access to, and my one-liner fixes it in a fundamentally more acceptable manner than any other patch I've seen. Why? Because _not_ touching things is the other thing that _has_ been tested on machines, ie mb manufacturers actually tend to test things that have no ACPI knowledge at all, still. DOS comes to mind, but so do pretty much all other operating systems. Because of that, there's this dichtonomy: you either do everything exactly like Windows does things, or you try very carefully to do the minimal amount of untrusted accesses possible. Linux ends up mixing the two approaches as best it can. But feel free to send me a patch that doesn't just clear ELCR totally, but clears the bits we are disabling. I just don't believe in the "let's just clear everything" approach. In particular, I don't have the same kind of "ACPI will provide" belief in higher powers that you seem to have. > But if you're more comfortable with disabling the associated ELCR bit > only when we disable links directed at that entry, we can do that too. > The complication with that approach is that links are many to one, so > clearing the bit without disabling all links directed to that entry > would result in a failure. Also, the SCI uses the ELCR too, and it > isn't described by links at all. Wouldn't it be nicer to take the _reverse_ approach: let's assume that any PCI interrupts that we have already enabled are fine and should not be disabled? Mark them in the ELCR, and _report_ when the ELCR seems to be incorrect (let's make a wild guess here, and realize that the screaming VIA interrupts you talk about are exactly because the ELCR was wrong). This is exactly what you are already doing with SCI, thanks to "acpi_pic_sci_set_trigger()", no? So I'm really suggesting that instead of disabling the PCI irq routing, it should do exactly the same thing that SCI already does. Namely make sure that ELCR is set correctly for it. So in "acpi_pci_link_add()", when you find a link that is enabled, add a call to make sure that it is set to level triggered in the ELCR. That's not even ACPI-specific, now we're talking fundamental PCI behaviour, so the likelihood of that being wrong is pretty low, no? That seems like a _safe_ thing to do. Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 20:02 ` Linus Torvalds @ 2004-11-22 20:10 ` Linus Torvalds 2004-11-22 20:38 ` Len Brown 1 sibling, 0 replies; 86+ messages in thread From: Linus Torvalds @ 2004-11-22 20:10 UTC (permalink / raw) To: Len Brown Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 22 Nov 2004, Linus Torvalds wrote: > > This is exactly what you are already doing with SCI, thanks to > "acpi_pic_sci_set_trigger()", no? > > So I'm really suggesting that instead of disabling the PCI irq routing, it > should do exactly the same thing that SCI already does. Namely make sure > that ELCR is set correctly for it. In fact, we would even use the same function for it (the only thing that makes it SCI-specific right now is the "printk()" that says "SCI IRQ", the rest really is totally generic. So how about renaming "acpi_pic_sci_set_trigger()" to not have the "sci" part in there, and remove it's dependence on CONFIG_ACPI_BUS, and just using it in "apic_pci_link_add()" to make sure that any PCI links we find to be enabled have the right ELCR. That's _logical_, since if we were to actually enable them, we'd set ELCR right. So literally the only difference between disabling them at boot (and then re-enabling them when a driver finds them) _is_ that ELCR setting.. And that would make me much happier, because it's a "minimally intrusive" thing to do. Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 20:02 ` Linus Torvalds 2004-11-22 20:10 ` Linus Torvalds @ 2004-11-22 20:38 ` Len Brown 2004-11-23 2:45 ` Linus Torvalds 1 sibling, 1 reply; 86+ messages in thread From: Len Brown @ 2004-11-22 20:38 UTC (permalink / raw) To: Linus Torvalds Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 2004-11-22 at 15:02, Linus Torvalds wrote: > > On Mon, 22 Nov 2004, Len Brown wrote: > > > > When we enable a link, we must set the ELCR. > > When we disable a link, we must clear the ELCR. > > We need to be able to enable and disable all links in the system. > > > > The bug was that while we were were setting the ELCR > > when we enabled a link, we were not clearing it when we disabled > one. > > Fair enough. ... > But feel free to send me a patch that doesn't just clear ELCR totally, > but clears the bits we are disabling. I just don't believe in the > "let's just clear everything" approach. Will do. > > > But if you're more comfortable with disabling the associated ELCR > bit> only when we disable links directed at that entry, we can do that > too. > > The complication with that approach is that links are many to one, > so > > clearing the bit without disabling all links directed to that entry > > would result in a failure. Also, the SCI uses the ELCR too, and it > > isn't described by links at all. > > Wouldn't it be nicer to take the _reverse_ approach: let's assume that > any PCI interrupts that we have already enabled are fine and should > not be disabled? Mark them in the ELCR, and _report_ when the ELCR > seems to be incorrect (let's make a wild guess here, and realize that > the screaming VIA interrupts you talk about are exactly because the > ELCR was wrong). I think the VIA case is more complicated than that, but I'll take another look at it. thanks, -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 20:38 ` Len Brown @ 2004-11-23 2:45 ` Linus Torvalds 2004-11-23 4:57 ` Linus Torvalds 0 siblings, 1 reply; 86+ messages in thread From: Linus Torvalds @ 2004-11-23 2:45 UTC (permalink / raw) To: Len Brown Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton, Stian Jordet On Mon, 22 Nov 2004, Len Brown wrote: > > I think the VIA case is more complicated than that, but I'll take > another look at it. Ok, having looked at the bugzilla entry, I have to concur. Looks like we do need to disable the PCI interrupts and re-enable them. Mea culpa. So what's the right way to get ELCR into a useful state? I'm starting to lean towards your "just clear it all" after all, but that does the wrong thing for SCI (which is _usually_ level-triggered), and I worry that there are other cases too. Any reasonably simple patch that likely gets it right? Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-23 2:45 ` Linus Torvalds @ 2004-11-23 4:57 ` Linus Torvalds 2004-11-23 7:06 ` Len Brown 0 siblings, 1 reply; 86+ messages in thread From: Linus Torvalds @ 2004-11-23 4:57 UTC (permalink / raw) To: Len Brown Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton, Stian Jordet On Mon, 22 Nov 2004, Linus Torvalds wrote: > > So what's the right way to get ELCR into a useful state? I'm starting to > lean towards your "just clear it all" after all, but that does the wrong > thing for SCI (which is _usually_ level-triggered), and I worry that there > are other cases too. > > Any reasonably simple patch that likely gets it right? Len, how about this patch - it re-enables the link disable and then re-codes the ELCR setting to match. Basically it just computes the new ELCR: if acpi_noirq is set, it leaves it at the old value, otherwise it zeroes it - and in both cases it fixes the SCI entry. Your argument for doing this ended up being convincing, so the only difference between this and your debug patch is really just the obvious organizational ones, and the test for "acpi_noirq", which I think is needed (since if acpi_noirq is set, we're not going to disable and re-enable the PCI interrupts, so we'll just have to trust ELCR). Linus ---- ===== arch/i386/kernel/acpi/boot.c 1.75 vs edited ===== --- 1.75/arch/i386/kernel/acpi/boot.c 2004-11-11 16:08:40 -08:00 +++ edited/arch/i386/kernel/acpi/boot.c 2004-11-22 20:55:57 -08:00 @@ -409,28 +409,38 @@ void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger) { - unsigned char mask = 1 << (irq & 7); - unsigned int port = 0x4d0 + (irq >> 3); - unsigned char val = inb(port); + unsigned int mask = 1 << irq; + unsigned int old, new; - - printk(PREFIX "IRQ%d SCI:", irq); - if (!(val & mask)) { - printk(" Edge"); + /* Real old ELCR mask */ + old = inb(0x4d0) | (inb(0x4d1) << 8); - if (trigger == 3) { - printk(" set to Level"); - outb(val | mask, port); - } - } else { - printk(" Level"); + /* + * If we use ACPI to set PCI irq's, then we should clear ELCR + * since we will set it correctly as we enable the PCI irq + * routing. + */ + new = acpi_noirq ? old : 0; - if (trigger == 1) { - printk(" set to Edge"); - outb(val & ~mask, port); - } + /* + * Update SCI information in the ELCR, it isn't in the PCI + * routing tables.. + */ + switch (trigger) { + case 1: /* Edge - clear */ + new &= ~mask; + break; + case 3: /* Level - set */ + new |= mask; + break; } - printk(" Trigger.\n"); + + if (old == new) + return; + + printk(PREFIX "setting ELCR to %04x (from %04x)\n", new, old); + outb(new, 0x4d0); + outb(new >> 8, 0x4d1); } ===== drivers/acpi/pci_link.c 1.35 vs edited ===== --- 1.35/drivers/acpi/pci_link.c 2004-11-22 10:41:11 -08:00 +++ edited/drivers/acpi/pci_link.c 2004-11-22 20:02:53 -08:00 @@ -685,6 +685,9 @@ acpi_link.count++; end: + /* disable all links -- to be activated on use */ + acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL); + if (result) kfree(link); ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-23 4:57 ` Linus Torvalds @ 2004-11-23 7:06 ` Len Brown 2004-11-23 20:13 ` Stian Jordet 0 siblings, 1 reply; 86+ messages in thread From: Len Brown @ 2004-11-23 7:06 UTC (permalink / raw) To: Linus Torvalds Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton, Stian Jordet On Mon, 2004-11-22 at 23:57, Linus Torvalds wrote: > > On Mon, 22 Nov 2004, Linus Torvalds wrote: > > > Len, how about this patch - it re-enables the link disable and then > re-codes the ELCR setting to match. > > Basically it just computes the new ELCR: if acpi_noirq is set, it > leaves it at the old value, otherwise it zeroes it - and in both cases > it fixes the SCI entry. > Your argument for doing this ended up being convincing, so the only > difference between this and your debug patch is really just the > obvious organizational ones, and the test for "acpi_noirq", which I > think is needed (since if acpi_noirq is set, we're not going to > disable and re-enable the PCI interrupts, so we'll just have to trust > ELCR). I think your use of acpi_noirq in acpi_pic_sci_set_trigger() was clever -- maybe more clever than the name of the routine suggests -- but it looks correct. thanks for restoring pci_link.c -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-23 7:06 ` Len Brown @ 2004-11-23 20:13 ` Stian Jordet 0 siblings, 0 replies; 86+ messages in thread From: Stian Jordet @ 2004-11-23 20:13 UTC (permalink / raw) To: Len Brown; +Cc: Linus Torvalds, Kernel Mailing List, Andrew Morton Hi, If the reason for cc'ing me was for me to verify it still works on my VIA board, I can confirm it does with Linus' patch :) Thanks. Best regards, Stian tir, 23,.11.2004 kl. 02.06 -0500, skrev Len Brown: > On Mon, 2004-11-22 at 23:57, Linus Torvalds wrote: > > > > On Mon, 22 Nov 2004, Linus Torvalds wrote: > > > > > > Len, how about this patch - it re-enables the link disable and then > > re-codes the ELCR setting to match. > > > > Basically it just computes the new ELCR: if acpi_noirq is set, it > > leaves it at the old value, otherwise it zeroes it - and in both cases > > it fixes the SCI entry. > > > Your argument for doing this ended up being convincing, so the only > > difference between this and your debug patch is really just the > > obvious organizational ones, and the test for "acpi_noirq", which I > > think is needed (since if acpi_noirq is set, we're not going to > > disable and re-enable the PCI interrupts, so we'll just have to trust > > ELCR). > > I think your use of acpi_noirq in acpi_pic_sci_set_trigger() was clever > -- maybe more clever than the name of the routine suggests -- but it > looks correct. > > thanks for restoring pci_link.c > > -Len > ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 18:28 ` Linus Torvalds ` (2 preceding siblings ...) 2004-11-22 19:29 ` Len Brown @ 2004-11-23 2:00 ` Chris Wright 3 siblings, 0 replies; 86+ messages in thread From: Chris Wright @ 2004-11-23 2:00 UTC (permalink / raw) To: Linus Torvalds Cc: Adrian Bunk, Len Brown, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton Also for the record... * Linus Torvalds (torvalds@osdl.org) wrote: > So I think the simpler fix is just this one-liner: we should not disable > preexisting links, because non-PCI devices may depend on the same routing > information, and thus the comments about "being activated on use" is not > actually true. This boots as expected (no irq6 storm). thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 12:40 ` Adrian Bunk 2004-11-20 18:28 ` Linus Torvalds @ 2004-11-22 18:28 ` Len Brown 2004-11-23 0:46 ` Adrian Bunk 1 sibling, 1 reply; 86+ messages in thread From: Len Brown @ 2004-11-22 18:28 UTC (permalink / raw) To: Adrian Bunk Cc: Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, 2004-11-20 at 07:40, Adrian Bunk wrote: > On Sat, Nov 20, 2004 at 04:02:04AM -0500, Len Brown wrote: > > > Please try this updated debug patch. > > > > It clears the ELCR on Linux boot. > With your patch, the boot failure goes away. > This was with a kernel without Linus' patch applied. Thanks for running this test Adrian. > > BTW: Is all what ACPI does really required, if all I need ACPI for is > to turn the power off after halting my computer? On this system ACPI is required to configure the IOAPIC. It may be possible to save power in idle with c-states and at run-time with p-states (cpufreq) on this box, but I couldn't tell that from the dmesg if CONFIG_ACPI_PROCESSOR was included or not. If you don't care about interrupt performance and you don't mind pressing the power button when you halt the system, go ahead and run with CONFIG_ACPI=n. cheers, -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 18:28 ` Len Brown @ 2004-11-23 0:46 ` Adrian Bunk 2004-11-23 1:07 ` why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) Len Brown 0 siblings, 1 reply; 86+ messages in thread From: Adrian Bunk @ 2004-11-23 0:46 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, Nov 22, 2004 at 01:28:59PM -0500, Len Brown wrote: >... > > BTW: Is all what ACPI does really required, if all I need ACPI for is > > to turn the power off after halting my computer? > > On this system ACPI is required to configure the IOAPIC. > > It may be possible to save power in idle with c-states > and at run-time with p-states (cpufreq) on this box, > but I couldn't tell that from the dmesg if CONFIG_ACPI_PROCESSOR > was included or not. It's not. > If you don't care about interrupt performance and you don't > mind pressing the power button when you halt the system, > go ahead and run with CONFIG_ACPI=n. Not needed "pressing the power button when you halt the system" is the "killer application" for using ACPI for me... > cheers, > -Len cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 86+ messages in thread
* why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) 2004-11-23 0:46 ` Adrian Bunk @ 2004-11-23 1:07 ` Len Brown 2004-11-23 1:23 ` Dave Jones 2004-11-23 1:37 ` Adrian Bunk 0 siblings, 2 replies; 86+ messages in thread From: Len Brown @ 2004-11-23 1:07 UTC (permalink / raw) To: Adrian Bunk Cc: Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 2004-11-22 at 19:46, Adrian Bunk wrote: > Not needed "pressing the power button when you halt the system" is the > "killer application" for using ACPI for me... Yes, thats certainly one that people notice right away. Laptops have had soft poweroff with APM for a while, but desktops and servers never adopted APM, so soft-power-off is generally a new feature with ACPI for them. Enabling IOAPIC is one that a lot of people like, because it results in less interrupt sharing and better performance than PIC mode. But if you don't load your system much you may not notice any difference. Next people tend to notice fan speed, because they can hear it. If you load processor and thermal, you'll probably see some /proc/acpi/thermal/thermal_zone/*/temperature and you'll probably find that it stays lower if you keep processor loaded versus when you do not. This is usually because of power-saving c-csates in idle, which you can observe in /proc/acpi/processor/*/power and the higher the C-state, the more power you save. Also, CPUFREQ usually often on ACPI, and that can save power even when the system is not idle, and this results in lower temperatures and hopefully slower fan speeds. cheers, -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) 2004-11-23 1:07 ` why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) Len Brown @ 2004-11-23 1:23 ` Dave Jones 2004-11-23 1:52 ` Adrian Bunk 2004-11-23 1:37 ` Adrian Bunk 1 sibling, 1 reply; 86+ messages in thread From: Dave Jones @ 2004-11-23 1:23 UTC (permalink / raw) To: Len Brown Cc: Adrian Bunk, Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, Nov 22, 2004 at 08:07:36PM -0500, Len Brown wrote: > Laptops have had soft poweroff with APM for a while, but desktops and > servers never adopted APM, so soft-power-off is generally a new feature > with ACPI for them. Nonsense. My 4-way compaq server disagrees with you. No ACPI on that at all, and it has fully working APM, even in SMP. Likewise, I don't think I've ever seen a desktop without APM. (modulo broken biosen). IIRC, APM supported this since the arrival of ATX power supplies, which was a _long_ time ago. 1996/1997 ? Dave ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) 2004-11-23 1:23 ` Dave Jones @ 2004-11-23 1:52 ` Adrian Bunk 0 siblings, 0 replies; 86+ messages in thread From: Adrian Bunk @ 2004-11-23 1:52 UTC (permalink / raw) To: Dave Jones, Len Brown, Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, Nov 22, 2004 at 08:23:33PM -0500, Dave Jones wrote: >... > I don't think I've ever seen a desktop without APM. > (modulo broken biosen). >... For my old computer (bought 1998) this was true. Unfortunately, my new computer (bought early this year) says: kernel: apm: BIOS not found. I don't know whether it's a hardware problem or "only" a BIOS problem, but it forces me to use ACPI to power off my computer. :-( > Dave cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) 2004-11-23 1:07 ` why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) Len Brown 2004-11-23 1:23 ` Dave Jones @ 2004-11-23 1:37 ` Adrian Bunk 2004-11-23 2:47 ` Len Brown 1 sibling, 1 reply; 86+ messages in thread From: Adrian Bunk @ 2004-11-23 1:37 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, Nov 22, 2004 at 08:07:36PM -0500, Len Brown wrote: > On Mon, 2004-11-22 at 19:46, Adrian Bunk wrote: > > > Not needed "pressing the power button when you halt the system" is the > > "killer application" for using ACPI for me... > > Yes, thats certainly one that people notice right away. Laptops have > had soft poweroff with APM for a while, but desktops and servers never > adopted APM, so soft-power-off is generally a new feature with ACPI for > them. That's wrong. My old desktop computer (with a VIA MVP3 chipset and an AMD K6 cpu) I bought in 1998 did power off fine under Linux using APM. > Enabling IOAPIC is one that a lot of people like, because it results in > less interrupt sharing and better performance than PIC mode. But if you > don't load your system much you may not notice any difference. I saw kernel: APIC error on CPU0: 00(02) ... kernel: APIC error on CPU0: 02(02) on my computer and decided disabling APIC was the easiest way to solve them... > Next people tend to notice fan speed, because they can hear it. > If you load processor and thermal, you'll probably see some > /proc/acpi/thermal/thermal_zone/*/temperature and you'll > probably find that it stays lower if you keep processor > loaded versus when you do not. /proc/acpi/thermal/thermal_zone is empty on my computer. > This is usually because of power-saving c-csates in idle, > which you can observe in /proc/acpi/processor/*/power > and the higher the C-state, the more power you save. active state: C1 default state: C1 bus master activity: 00000000 states: *C1: promotion[--] demotion[--] latency[000] usage[00000000] C2: <not supported> C3: <not supported> > Also, CPUFREQ usually often on ACPI, and that can save > power even when the system is not idle, and this results > in lower temperatures and hopefully slower fan speeds. My computer has a desktop Athlon... > cheers, > -Len cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) 2004-11-23 1:37 ` Adrian Bunk @ 2004-11-23 2:47 ` Len Brown 2004-11-23 2:50 ` Dave Jones 0 siblings, 1 reply; 86+ messages in thread From: Len Brown @ 2004-11-23 2:47 UTC (permalink / raw) To: Adrian Bunk, Dave Jones Cc: Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 2004-11-22 at 20:37, Adrian Bunk wrote: > On Mon, Nov 22, 2004 at 08:07:36PM -0500, Len Brown wrote: > > On Mon, 2004-11-22 at 19:46, Adrian Bunk wrote: > > My old desktop computer (with a VIA MVP3 chipset and an AMD K6 cpu) > I bought in 1998 did power off fine under Linux using APM. I stand corrected. ACPI wasn't widely deployed until 1998, so I expect everything at that time was APM. grepping my logs for more modern systems, I see APM still in many of the laptops, about half the desktops, and none of the servers -- YMMV. > > Enabling IOAPIC is one that a lot of people like, because it results > in > > less interrupt sharing and better performance than PIC mode. But if > you > > don't load your system much you may not notice any difference. > > I saw > > kernel: APIC error on CPU0: 00(02) > ... > kernel: APIC error on CPU0: 02(02) > > on my computer and decided disabling APIC was the easiest way to solve > them... yup, this is common on some hardware. Frankly, I don't know if it is something to be concerned about if you don't see it that much, but if the hardware loses interrupts when the IOAPIC is enabled, then disabling it is a reasonable workaround. > > Next people tend to notice fan speed, because they can hear it. > > If you load processor and thermal, you'll probably see some > > /proc/acpi/thermal/thermal_zone/*/temperature and you'll > > probably find that it stays lower if you keep processor > > loaded versus when you do not. > > /proc/acpi/thermal/thermal_zone is empty on my computer. > > > This is usually because of power-saving c-csates in idle, > > which you can observe in /proc/acpi/processor/*/power > > and the higher the C-state, the more power you save. > > active state: C1 > default state: C1 > bus master activity: 00000000 > states: > *C1: promotion[--] demotion[--] latency[000] > usage[00000000] > C2: <not supported> > C3: <not supported> > You'll get C1 even without ACPI, so ACPI processor driver doesn't give you any additional power savings c-states on this hardware. > > Also, CPUFREQ usually often on ACPI, and that can save > > power even when the system is not idle, and this results > > in lower temperatures and hopefully slower fan speeds. > > My computer has a desktop Athlon... maybe Dave can determine if there is a governor that can help you. cheers, -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) 2004-11-23 2:47 ` Len Brown @ 2004-11-23 2:50 ` Dave Jones 2004-11-23 3:13 ` Gene Heskett 0 siblings, 1 reply; 86+ messages in thread From: Dave Jones @ 2004-11-23 2:50 UTC (permalink / raw) To: Len Brown Cc: Adrian Bunk, Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, Nov 22, 2004 at 09:47:32PM -0500, Len Brown wrote: > > > Also, CPUFREQ usually often on ACPI, and that can save > > > power even when the system is not idle, and this results > > > in lower temperatures and hopefully slower fan speeds. > > > > My computer has a desktop Athlon... > > maybe Dave can determine if there is a governor that can help you. > > cheers, > -Len desktop athlons tend not to have powernow. And those that do (usually by someone transplanting a mobile part into a desktop board), hit the problem where the BIOS has no idea what the hell is going on, and sets up no PST tables. Dave ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) 2004-11-23 2:50 ` Dave Jones @ 2004-11-23 3:13 ` Gene Heskett 2004-11-23 3:45 ` Dave Jones 0 siblings, 1 reply; 86+ messages in thread From: Gene Heskett @ 2004-11-23 3:13 UTC (permalink / raw) To: Dave Jones, Len Brown, Adrian Bunk, Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Monday 22 November 2004 21:50, Dave Jones wrote: >On Mon, Nov 22, 2004 at 09:47:32PM -0500, Len Brown wrote: > > > > Also, CPUFREQ usually often on ACPI, and that can save > > > > power even when the system is not idle, and this results > > > > in lower temperatures and hopefully slower fan speeds. > > > > > > My computer has a desktop Athlon... > > > > maybe Dave can determine if there is a governor that can help > > you. > > > > cheers, > > -Len > >desktop athlons tend not to have powernow. And those that do >(usually by someone transplanting a mobile part into a desktop > board), hit the problem where the BIOS has no idea what the >hell is going on, and sets up no PST tables. > > Dave > A link to a neat util was posted earlier today, to 'gcccpuopt', which scans things and reports the appropriate options to put in the Makefile. But it doesn't even contain the 'powernow' string. Does this need updated? -- Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.29% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attorneys please note, additions to this message by Gene Heskett are: Copyright 2004 by Maurice Eugene Heskett, all rights reserved. ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) 2004-11-23 3:13 ` Gene Heskett @ 2004-11-23 3:45 ` Dave Jones 0 siblings, 0 replies; 86+ messages in thread From: Dave Jones @ 2004-11-23 3:45 UTC (permalink / raw) To: Gene Heskett Cc: Len Brown, Adrian Bunk, Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, Nov 22, 2004 at 10:13:21PM -0500, Gene Heskett wrote: > A link to a neat util was posted earlier today, to 'gcccpuopt', which > scans things and reports the appropriate options to put in the > Makefile. But it doesn't even contain the 'powernow' string. Does > this need updated? Very likely not. What would you expect it to do ? Dave ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 9:02 ` Len Brown 2004-11-20 12:40 ` Adrian Bunk @ 2004-11-20 16:41 ` Linus Torvalds 2004-11-22 19:07 ` Len Brown 2004-11-23 1:58 ` Chris Wright 2 siblings, 1 reply; 86+ messages in thread From: Linus Torvalds @ 2004-11-20 16:41 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Adrian Bunk, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, 20 Nov 2004, Len Brown wrote: > > It clears the ELCR on Linux boot. I think this is _really_ wrong. Basically, you're screwing up more and more PIC state. Len, the PIC was _correct_ before ACPI touched it. We don't want to touch it MORE, we want to touch it LESS. I'll try this for debugging, but what I want to figure out is where ACPI is doing something it shouldn't be doing, and _removing_ that. We already had one patch where people tried to hide this problem by adding more code. Clearly, that patch was bogus. Yes, it hid the problem for floppies, but as shown by my other case (and as I was trying to say from the beginning), it's not about floppies. It's about _any_ non-PCI interrupt that apparently ACPI has done something _wrong_ for. So ACPI seems to assume that all interrupts are PCI interrupts, and that's just totally wrong. Clearing ELCR is more of this total wrongness. ELCR exists for a reason, namely that not all interrupts are PCI. Also, you seem to still totally concentrate on PIRQ routing etc. Totally ignoring the fact that the problematic cases are about interrupts that have _nothing_ to do with PCI. Not the floppy, not the PS/2 mouse. NOT PCI! They're both on the southbridge behind a very special interface that may or may not look like a PCI bus internally, but might quite as well be something totally special-case (ie a perfectly normal case is that somebody literally just bolted an old 8042 controller core into the system and set up special case magic irq routing). > ps. what I think is happening... > > To its credit, he BIOS correctly recognizes that there is > no floppy, and it routes a PIRQ to IRQ6. It correctly sets the > ELCR bit for this IRQ. > > Linux boots and disables all the PCI Interrupt Links, > which un-programs the PIRQ directed to IRQ6. And this is what I think is the bug. There is no reason to disable the PCI interrupt link unless you have a damn good reason to do so. > However, Linux doesn't clear the ELCR first, > and for some reason that causes an interrupt > to latch in IRQ6 -- though it is masked. > > Along comes the broken floppy driver before > the PCI devices probe. floppy > doesn't realize there is no hardware and > unwittingly does a request_irq(6). You are totally ignoring my other bug report which was for a (existing) PSAUX mouse driver on irq12. If I had had a mouse on that port, it would not have worked. So the fact is, ACPI does something WRONG. Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 16:41 ` 2.6.10-rc2 doesn't boot (if no floppy device) Linus Torvalds @ 2004-11-22 19:07 ` Len Brown 2004-11-22 19:23 ` Linus Torvalds 0 siblings, 1 reply; 86+ messages in thread From: Len Brown @ 2004-11-22 19:07 UTC (permalink / raw) To: Linus Torvalds Cc: Chris Wright, Adrian Bunk, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Sat, 2004-11-20 at 11:41, Linus Torvalds wrote: > > On Sat, 20 Nov 2004, Len Brown wrote: > > > > It clears the ELCR on Linux boot. > > I think this is _really_ wrong. > > Basically, you're screwing up more and more PIC state. > > Len, the PIC was _correct_ before ACPI touched it. We don't want to > touch it MORE, we want to touch it LESS. > > I'll try this for debugging, but what I want to figure out is where > ACPI is doing something it shouldn't be doing, and _removing_ that. > > We already had one patch where people tried to hide this problem by > adding more code. Clearly, that patch was bogus. Yes, it hid the > problem for floppies, but as shown by my other case (and as I was > trying to say from the beginning), it's not about floppies. It's about > _any_ non-PCI interrupt that apparently ACPI has done something > _wrong_ for. I agree that the system should work properly even if the legacy device drivers are broken. Please understand, however, that the legacy device drivers _are_ broken. The BIOS via ACPI clearly tells them if the devices are present or not, and Linux isn't yet listening. > So ACPI seems to assume that all interrupts are PCI interrupts, and > that's just totally wrong. Clearing ELCR is more of this total > wrongness. ELCR exists for a reason, namely that not all interrupts > are PCI. ACPI-compliant systems have three types of interrupts: 1. legacy 2. PCI 3. the ACPI SCI The first two are described in the DSDT legacy devices and _PRT, respectively. The third is described in the FADT. The MADT overrides are available to handle any special cases, though that applies only to IOAPIC mode. If there are other interrupts, then it isn't an ACPI-compliant system and it the BIOS should not enable ACPI. If the BIOS erroneously enables ACPI on such a system, the workaround is to boot with acpi=off. I'd be extremly interested to know of such a system, as I've not yet encountered one. > Also, you seem to still totally concentrate on PIRQ routing etc. > Totally ignoring the fact that the problematic cases are about > interrupts that have _nothing_ to do with PCI. Not the floppy, not the > PS/2 mouse. NOT PCI! They're both on the southbridge behind a very > special interface that may or may not look like a PCI bus internally, > but might quite as well be something totally special-case (ie a > perfectly normal case is that somebody literally just bolted an old > 8042 controller core into the system and set up special case magic irq > routing). If somebody bolts motherboard hardware on and doesn't tell ACPI about it, then they need to disable ACPI, which _owns_ configuration of motherboard devices when it is enabled. The problem at hand has everything to do with PCI interrupts, and how they can conflict with legacy interrupts. PIC hardware is level-HIGH sensitive, it cannot be programmed like APIC INTIN's can. The only way to effectively use it as level-LOW sensitive such as that supplied by PCI devices, it so attach those interrupts sources through inverters. This is what the PIRQ routers do. I printed out the underlying PIRQ routers for the ICH in the debug patch because all of the failures at hand seemed to be in ICH systems and these registers tell us the state not of the abstract PCI Interrupt link, but of the actual hardware that can be driving that (legacy) interrupt input. > > ps. what I think is happening... > > > > To its credit, he BIOS correctly recognizes that there is > > no floppy, and it routes a PIRQ to IRQ6. It correctly sets the > > ELCR bit for this IRQ. > > > > Linux boots and disables all the PCI Interrupt Links, > > which un-programs the PIRQ directed to IRQ6. > > And this is what I think is the bug. There is no reason to disable the > PCI interrupt link unless you have a damn good reason to do so. The damn good reason is that doing otherwise breaks systems. This is the cset comment for the line of code disabling the links: ChangeSet 1.1608.11.11 2004/06/17 23:21:03 len.brown@intel.com [ACPI] avoid spurious interrupts on VIA http://bugzilla.kernel.org/show_bug.cgi?id=2243 drivers/acpi/pci_link.c 1.28.1.1 2004/06/11 10:38:46 len.brown@intel.com disable all PCI Interrupt Links to be enabled by _SRS It would sure make my life easier if we didn't support these VIA/Phoenix systems, but I don't think that breaking them is what the community wants. > > However, Linux doesn't clear the ELCR first, > > and for some reason that causes an interrupt > > to latch in IRQ6 -- though it is masked. > > > > Along comes the broken floppy driver before > > the PCI devices probe. floppy > > doesn't realize there is no hardware and > > unwittingly does a request_irq(6). > > You are totally ignoring my other bug report which was for a > (existing) PSAUX mouse driver on irq12. > > If I had had a mouse on that port, it would not have worked. > > So the fact is, ACPI does something WRONG. The PS2 IRQ12 situation is exactly the same as the IRQ6 floppy situation. If the mouse or floppy were present, the BIOS would not have given that interrupt to PCI. -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 19:07 ` Len Brown @ 2004-11-22 19:23 ` Linus Torvalds 2004-11-22 20:24 ` Len Brown 0 siblings, 1 reply; 86+ messages in thread From: Linus Torvalds @ 2004-11-22 19:23 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Adrian Bunk, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 22 Nov 2004, Len Brown wrote: > > I agree that the system should work properly even if the legacy device > drivers are broken. Please understand, however, that the legacy device > drivers _are_ broken. The BIOS via ACPI clearly tells them if the > devices are present or not, and Linux isn't yet listening. I really disagree. I realize that you like ACPI, or you would have shot yourself long long ago. But I have a totally different view on things. To me, firmware is not something cool to be used. It's a necessary evil, and it should be avoided and mistrusted as far as humanly possible, because it is always buggy, and we can't fix the bugs in it. Yes, the current ACPI layer in the kernel is a lot better at working around the bugs, and it's getting to the point where I suspect Linux vendors actually decide that enabing ACPI by default causes fewer problems than it solves. That clearly didn't use to be true. > ACPI-compliant systems have three types of interrupts: Stop right there. "ACPI-compliant systems". The fact is, there is no such thing. There are systems that users buy, and they are not "ACPI compliant", they are "one implementation of ACPI that was tested with a single vendor usage test". Call me cynical, but I believe in standards papers just about as much as I believe in the voices in my attic that tell me to kill the Queen of England. Papers is so much dead trees. The only thing that matters is real life. And like it or not, real life does NOT implement standards properly, even if the standards are well written and unambiguous (which also doesn't actually happen in real life). > If somebody bolts motherboard hardware on and doesn't tell ACPI about > it, then they need to disable ACPI, which _owns_ configuration of > motherboard devices when it is enabled. No. The only thing that owns the motherboard is the user. ACPI shouldn't get uppity. > The damn good reason is that doing otherwise breaks systems. And not doing it breaks systems. See a pattern? This is why I don't trust firmware. It's always buggy. Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 19:23 ` Linus Torvalds @ 2004-11-22 20:24 ` Len Brown 2004-11-22 20:31 ` Linus Torvalds 0 siblings, 1 reply; 86+ messages in thread From: Len Brown @ 2004-11-22 20:24 UTC (permalink / raw) To: Linus Torvalds Cc: Chris Wright, Adrian Bunk, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 2004-11-22 at 14:23, Linus Torvalds wrote: > To me, firmware is not > something cool to be used. It's a necessary evil, and it should be > avoided and mistrusted as far as humanly possible, because it is > always buggy, and we can't fix the bugs in it. Mistrusting firmware is why I disabled all the links, some system firmware didn't leave them in a self-consistent state. Re: liking ACPI Consider it a love/hate thing;-) > > The damn good reason is that doing otherwise breaks systems. > > And not doing it breaks systems. I'm not aware (yet) of any systems where disabling all the links (which we've been doing since June, BTW) and clearing the entire ELCR, and then re-enabling them both only as we use them causes a failure. > This is why I don't trust firmware. It's always buggy. I'm with you on that one. -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 20:24 ` Len Brown @ 2004-11-22 20:31 ` Linus Torvalds 2004-11-22 20:36 ` Linus Torvalds 2004-11-22 20:51 ` Len Brown 0 siblings, 2 replies; 86+ messages in thread From: Linus Torvalds @ 2004-11-22 20:31 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Adrian Bunk, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 22 Nov 2004, Len Brown wrote: > > > > And not doing it breaks systems. > > I'm not aware (yet) of any systems where disabling all the links (which > we've been doing since June, BTW) We have been doing it since June, but we also immediately _re-enabled_ them. And the moment we _didn't_ re-enable them, people started sending in bug-reports. So the "since June" is clearly true only in a very limited sense. A more correct way to say it would be that within hours of releasing a test-kernel (not even a real release) that _really_ disabled the links, we got people reporting boot failures. > and clearing the entire ELCR, and then re-enabling them both only as we > use them causes a failure. Now, the clearing the entire ELCR thing has been tested by all of three people, all of whom saw problems with the non-clearing thing. So not only is the base for that claim very thin indeed, the small base was totally self-selected, ie statistically completely meaningless even if it had been much much larger. Nobody who didn't actually see the problem in the first place would have tested it. IOW, I'll claim that the only thing that has really gotten testing since June is the thing that disables and immediately re-enables the links. And that's exactly why I think the "minimally disruptive" fix is to not disable them at all, but just fix up ELCR for anything that was already enabled. Since that _is_ what "disable + re-enable" ends up actually doing. See my argument? Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 20:31 ` Linus Torvalds @ 2004-11-22 20:36 ` Linus Torvalds 2004-11-22 20:54 ` Len Brown 2004-11-22 20:51 ` Len Brown 1 sibling, 1 reply; 86+ messages in thread From: Linus Torvalds @ 2004-11-22 20:36 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Adrian Bunk, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 22 Nov 2004, Linus Torvalds wrote: > > And that's exactly why I think the "minimally disruptive" fix is to not > disable them at all, but just fix up ELCR for anything that was already > enabled. Since that _is_ what "disable + re-enable" ends up actually > doing. Oh, and I think one alternative at this point is obviously to just go back to the "re-enable all interrupts early in the boot" code. Clearly we need to do _something_ for 2.6.10, and I want it to be something that is pretty much equivalent to what we _do_ have testing coverage of. Just to keep safe. I actually _like_ the "enable links only when needed" thing, which is why I'd prefer to look for alternatives. But I like even more not having to worry about strange hw setups, so "minimal fixing" really is pretty important. Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 20:36 ` Linus Torvalds @ 2004-11-22 20:54 ` Len Brown 0 siblings, 0 replies; 86+ messages in thread From: Len Brown @ 2004-11-22 20:54 UTC (permalink / raw) To: Linus Torvalds Cc: Chris Wright, Adrian Bunk, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 2004-11-22 at 15:36, Linus Torvalds wrote: > > Oh, and I think one alternative at this point is obviously to just go > back to the "re-enable all interrupts early in the boot" code. Clearly > we need to do _something_ for 2.6.10, and I want it to be something > that is pretty much equivalent to what we _do_ have testing coverage > of. Just to keep safe. I'm okay with this, and testing the interrupt fixes in -mm in the mean-time -- particularly if you're planning a relatively short 2.6.10 rc cycle. -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-22 20:31 ` Linus Torvalds 2004-11-22 20:36 ` Linus Torvalds @ 2004-11-22 20:51 ` Len Brown 1 sibling, 0 replies; 86+ messages in thread From: Len Brown @ 2004-11-22 20:51 UTC (permalink / raw) To: Linus Torvalds Cc: Chris Wright, Adrian Bunk, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Mon, 2004-11-22 at 15:31, Linus Torvalds wrote: > > On Mon, 22 Nov 2004, Len Brown wrote: > > > > > > And not doing it breaks systems. > > > > I'm not aware (yet) of any systems where disabling all the links > (which > > we've been doing since June, BTW) > > We have been doing it since June, but we also immediately _re-enabled_ > them. Mostly true. We re-enabled all the links for which we found PCI devices. This is a super-set of all the links with device-drivers. But it is also a sub-set of the total population of links -- some BIOSs enabled links for which there were no devices attached. This caused two problems. First there were suprious interrupts on some boxes, and second in the case where we enabling balacing IRQs (default in IOAPIC mode, requires "acpi_irq_balance" in PIC mode) it ate up IRQs and forced more sharing. > IOW, I'll claim that the only thing that has really gotten testing > since June is the thing that disables and immediately re-enables the > links. > > And that's exactly why I think the "minimally disruptive" fix is to > not disable them at all, but just fix up ELCR for anything that was > already enabled. Since that _is_ what "disable + re-enable" ends up > actually doing. > > See my argument? "minimally distruptive" undertood, Yes. "minimal risk", OTOH is to return to what we did in 2.6.9. Note, for the record, that Bjorn's patch to remove the paranoia loop and add the pci=routeirq override came to you through the -mm tree, not through the ACPI tree. I think that Bjorn was as surprised as I was that it appeared in 2.6.10-rc2. -Len ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-20 9:02 ` Len Brown 2004-11-20 12:40 ` Adrian Bunk 2004-11-20 16:41 ` 2.6.10-rc2 doesn't boot (if no floppy device) Linus Torvalds @ 2004-11-23 1:58 ` Chris Wright 2 siblings, 0 replies; 86+ messages in thread From: Chris Wright @ 2004-11-23 1:58 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Adrian Bunk, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton For the record... * Len Brown (len.brown@intel.com) wrote: > Please try this updated debug patch. > > It clears the ELCR on Linux boot. This boots as expected (no irq6 storm). I have dmesg if you're still interested. thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-18 23:14 ` 2.6.10-rc2 doesn't boot (if no floppy device) Len Brown 2004-11-19 7:09 ` Chris Wright @ 2004-11-19 13:47 ` Adrian Bunk 2004-11-23 1:57 ` Chris Wright 2 siblings, 0 replies; 86+ messages in thread From: Adrian Bunk @ 2004-11-19 13:47 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Thu, Nov 18, 2004 at 06:14:46PM -0500, Len Brown wrote: > Chris, Hi Len, I have the same problem Chris has. > Please apply this debug patch and boot with > apic=debug acpi_dbg_level=1 >... It doesn't compile since I don't have APIC support enabled. > thanks, > -Len >... cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-18 23:14 ` 2.6.10-rc2 doesn't boot (if no floppy device) Len Brown 2004-11-19 7:09 ` Chris Wright 2004-11-19 13:47 ` Adrian Bunk @ 2004-11-23 1:57 ` Chris Wright 2 siblings, 0 replies; 86+ messages in thread From: Chris Wright @ 2004-11-23 1:57 UTC (permalink / raw) To: Len Brown Cc: Chris Wright, Adrian Bunk, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton For the record... * Len Brown (len.brown@intel.com) wrote: > Please apply this debug patch and boot with > apic=debug acpi_dbg_level=1 acpi_dbg_level=1 boots as expected. w/out it, irq6 interrupt storm. I have dmesg if you're still interested. thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot 2004-11-15 4:07 ` 2.6.10-rc2 doesn't boot Adrian Bunk 2004-11-15 4:48 ` Linus Torvalds @ 2004-11-15 7:25 ` Andrew Morton 1 sibling, 0 replies; 86+ messages in thread From: Andrew Morton @ 2004-11-15 7:25 UTC (permalink / raw) To: Adrian Bunk; +Cc: torvalds, linux-kernel Adrian Bunk <bunk@stusta.de> wrote: > > 2.6.10-rc2 doesn't boot. > > It stops at the following place (from a 2.6.10-rc1-mm5 log): > > <-- snip --> > > ... > ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 > ACPI: PS/2 Keyboard Controller [PS2K] at I/O 0x60, 0x64, irq 1 > ACPI: PS/2 Mouse Controller [PS2M] at irq 12 > serio: i8042 AUX port at 0x60,0x64 irq 12 > serio: i8042 KBD port at 0x60,0x64 irq 1 > Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing > disabled > ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A > parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP] > parport0: irq 7 detected > lp0: using parport0 (polling). > io scheduler noop registered > io scheduler anticipatory registered > io scheduler deadline registered > io scheduler cfq registered > > > ----> 2.6.10-rc2 stops here > > > loop: loaded (max 8 devices) Suggest you add initcall_debug to the kernel boot command line so we can see which subsystem is causing the hang. ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds 2004-11-15 4:07 ` 2.6.10-rc2 doesn't boot Adrian Bunk @ 2004-11-15 10:26 ` Russell King 2004-11-15 11:24 ` Ben Dooks 2004-11-15 11:55 ` Nick Piggin ` (7 subsequent siblings) 9 siblings, 1 reply; 86+ messages in thread From: Russell King @ 2004-11-15 10:26 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List On Sun, Nov 14, 2004 at 06:49:04PM -0800, Linus Torvalds wrote: > Ok, the -rc2 changes are almost as big as the -rc1 changes, and we should > now calm down, so I do not want to see anything but bug-fixes until 2.6.10 > is released. Otherwise we'll never get there. There's a few more non-bugfix changes which need merging first though. Namely an update to the S3C2410 serial driver from Ben to allow the s3c2410 changes which are now in 2.6.10-rc2 to work. Otherwise I suspect s3c2410 is going to be dead in the water for 2.6.10. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/ 2.6 Serial core ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-15 10:26 ` Linux 2.6.10-rc2 Russell King @ 2004-11-15 11:24 ` Ben Dooks 0 siblings, 0 replies; 86+ messages in thread From: Ben Dooks @ 2004-11-15 11:24 UTC (permalink / raw) To: Kernel Mailing List On Mon, Nov 15, 2004 at 10:26:20AM +0000, Russell King wrote: > On Sun, Nov 14, 2004 at 06:49:04PM -0800, Linus Torvalds wrote: > > Ok, the -rc2 changes are almost as big as the -rc1 changes, and we should > > now calm down, so I do not want to see anything but bug-fixes until 2.6.10 > > is released. Otherwise we'll never get there. > > There's a few more non-bugfix changes which need merging first though. > Namely an update to the S3C2410 serial driver from Ben to allow the > s3c2410 changes which are now in 2.6.10-rc2 to work. Otherwise I > suspect s3c2410 is going to be dead in the water for 2.6.10. The new patch for the serial driver fixes/updates has been sent to rmk, so hopefully this should complete the patch set. -- Ben (ben@fluff.org, http://www.fluff.org/) 'a smiley only costs 4 bytes' ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds 2004-11-15 4:07 ` 2.6.10-rc2 doesn't boot Adrian Bunk 2004-11-15 10:26 ` Linux 2.6.10-rc2 Russell King @ 2004-11-15 11:55 ` Nick Piggin 2004-11-15 20:20 ` Andrew Morton 2004-11-16 0:29 ` Linux 2.6.10-rc2 [dvb-bt8xx unload oops] Eyal Lebedinsky ` (6 subsequent siblings) 9 siblings, 1 reply; 86+ messages in thread From: Nick Piggin @ 2004-11-15 11:55 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List, Andrew Morton Linus Torvalds wrote: > Ok, the -rc2 changes are almost as big as the -rc1 changes, and we should > now calm down, so I do not want to see anything but bug-fixes until 2.6.10 > is released. Otherwise we'll never get there. > I'd like to get included that patch to restore the buffer of memory reserved for GFP_ATOMIC allocations (ie. the difference between GFP_KERNEL and GFP_ATOMIC allocations). http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm5/broken-out/mm-restore-atomic-buffer.patch It is not actually a regression versus 2.6.9 (it is vs 2.6.8), although I think it is responsible for the increased reports of page allocation failures. It would be nice to let it have more testing in -mm first, but OTOH if we _really_ want it in 2.6.10 it would make sense to merge it ASAP so it can get wider testing. Any feelings on the matter yet, Andrew? Or were you thinking it would be OK for post 2.6.10? ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-15 11:55 ` Nick Piggin @ 2004-11-15 20:20 ` Andrew Morton 0 siblings, 0 replies; 86+ messages in thread From: Andrew Morton @ 2004-11-15 20:20 UTC (permalink / raw) To: Nick Piggin; +Cc: torvalds, linux-kernel Nick Piggin <nickpiggin@yahoo.com.au> wrote: > > I'd like to get included that patch to restore the buffer of memory > reserved for GFP_ATOMIC allocations (ie. the difference between GFP_KERNEL > and GFP_ATOMIC allocations). > > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm5/broken-out/mm-restore-atomic-buffer.patch > > It is not actually a regression versus 2.6.9 (it is vs 2.6.8), although I > think it is responsible for the increased reports of page allocation failures. > > It would be nice to let it have more testing in -mm first, but OTOH if we > _really_ want it in 2.6.10 it would make sense to merge it ASAP so it can get > wider testing. > > Any feelings on the matter yet, Andrew? Or were you thinking it would be OK for > post 2.6.10? That one should be in 2.6.10, yes. ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 [dvb-bt8xx unload oops] 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds ` (2 preceding siblings ...) 2004-11-15 11:55 ` Nick Piggin @ 2004-11-16 0:29 ` Eyal Lebedinsky 2004-11-16 9:57 ` Eyal Lebedinsky 2004-11-17 23:17 ` Eyal Lebedinsky 2004-11-16 7:55 ` Linux 2.6.10-rc2 SAVAGEFB startup crash Philipp Matthias Hahn ` (5 subsequent siblings) 9 siblings, 2 replies; 86+ messages in thread From: Eyal Lebedinsky @ 2004-11-16 0:29 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List Linus Torvalds wrote: > Ok, the -rc2 changes are almost as big as the -rc1 changes, and we should > now calm down, so I do not want to see anything but bug-fixes until 2.6.10 > is released. Otherwise we'll never get there. > > A lot of driver updates, many of them of the small and trivial kind, > others less so. USB, ALSA, fbdev, IDE, i2c, v4l, you name it. With a Did you say 'v4l'? The following crash is a result of unloading the dvb system using: modprobe -r mt352 modprobe -r sp887x modprobe -r dvb-bt8xx modprobe -r bt878 modprobe -r bttv modprobe -r dvb-core I assume it is the third unload that triggered this oops. This is vanilla 2.6.10-rc2 on P4. This was a problem with -rc1 but some patches off the list [attached] fixed it. I expected these to be in -rc2, I am not able to say which patch is missing. Nov 16 11:13:00 eyal kernel: xxx detach Nov 16 11:13:00 eyal kernel: xxx detach Nov 16 11:13:00 eyal kernel: f899f3ea Nov 16 11:13:00 eyal kernel: PREEMPT SMP Nov 16 11:13:00 eyal kernel: Modules linked in: tsdev psmouse v4l1_compat dvb_bt8xx dvb_core i810_audio ac97_codec sr_mod sg ide_scsi ide_cd cdrom it87 eeprom i2c_isa i2c_i801 i2c_sensor eth1394 ohci1394 ieee1394 dc395x scsi_mod snd_bt87x bt878 bttv tuner video_buf firmware_class i2c_algo_bit v4l2_common btcx_risc i2c_core videodev e1000 snd_intel8x0 snd_ac97_codec snd_pcm snd_timer snd_page_alloc gameport snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore cfi_cmdset_0002 cfi_util mtdpart jedec_probe cfi_probe gen_probe ichxrom mtdcore chipreg ehci_hcd uhci_hcd usbcore shpchp pciehp pci_hotplug intel_mch_agp intel_agp agpgart parport_pc parport 8250_pnp 8250 serial_core evdev nls_cp437 msdos fat dm_mod rtc unix Nov 16 11:13:00 eyal kernel: CPU: 0 Nov 16 11:13:00 eyal kernel: EIP: 0060:[pg0+945243114/1069364224] Not tainted VLI Nov 16 11:13:00 eyal kernel: EFLAGS: 00010282 (2.6.9-d) Nov 16 11:13:00 eyal kernel: EIP is at dvb_bt8xx_remove+0x89/0xc3 [dvb_bt8xx] Nov 16 11:13:00 eyal kernel: eax: 00000000 ebx: ce3eb438 ecx: f9d0edf8 edx: 00000000 Nov 16 11:13:00 eyal kernel: esi: ce3eb400 edi: 00000000 ebp: f899f4a0 esp: d6130ef8 Nov 16 11:13:00 eyal kernel: ds: 007b es: 007b ss: 0068 Nov 16 11:13:00 eyal kernel: Process modprobe (pid: 3959, threadinfo=d6130000 task=eff88330) Nov 16 11:13:00 eyal kernel: Stack: ecb907c0 ce3eb68c f7c6d980 f89a0620 c022507e f7c6d980 f7c6d9a8 f7c6d590 Nov 16 11:13:00 eyal kernel: f89a0670 c02250a0 f7c6d980 f89a0620 c03168c4 c02254b4 f89a0620 f89a0620 Nov 16 11:13:00 eyal kernel: f89a0620 c03168c4 c0225980 f89a0620 f89a0700 f9b93858 f89a0620 f899f4af Nov 16 11:13:00 eyal kernel: Call Trace: Nov 16 11:13:00 eyal kernel: [device_release_driver+100/102] device_release_driver+0x64/0x66 Nov 16 11:13:00 eyal kernel: [driver_detach+32/46] driver_detach+0x20/0x2e Nov 16 11:13:00 eyal kernel: [bus_remove_driver+77/134] bus_remove_driver+0x4d/0x86 Nov 16 11:13:00 eyal kernel: [driver_unregister+19/42] driver_unregister+0x13/0x2a Nov 16 11:13:00 eyal kernel: [pg0+964069464/1069364224] bttv_sub_unregister+0xf/0x15 [bttv] Nov 16 11:13:00 eyal kernel: [pg0+945243311/1069364224] dvb_bt8xx_exit+0xf/0x13 [dvb_bt8xx] Nov 16 11:13:00 eyal kernel: [sys_delete_module+343/396] sys_delete_module+0x157/0x18c Nov 16 11:13:00 eyal kernel: [sys_munmap+81/118] sys_munmap+0x51/0x76 Nov 16 11:13:00 eyal kernel: [syscall_call+7/11] syscall_call+0x7/0xb Nov 16 11:13:00 eyal kernel: Code: 24 04 ff 56 78 8d 86 34 02 00 00 89 04 24 e8 f8 e2 35 01 89 1c 24 e8 32 00 36 01 8b 46 2c 89 04 24 e8 27 c3 35 01 8b 06 8b 56 04 <89> 50 04 89 02 c7 46 04 00 02 20 00 c7 06 00 01 10 00 89 34 24 -- Eyal Lebedinsky (eyal@eyal.emu.id.au) <http://samba.org/eyal/> ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 [dvb-bt8xx unload oops] 2004-11-16 0:29 ` Linux 2.6.10-rc2 [dvb-bt8xx unload oops] Eyal Lebedinsky @ 2004-11-16 9:57 ` Eyal Lebedinsky 2004-11-17 23:17 ` Eyal Lebedinsky 1 sibling, 0 replies; 86+ messages in thread From: Eyal Lebedinsky @ 2004-11-16 9:57 UTC (permalink / raw) To: Kernel Mailing List; +Cc: Linus Torvalds [-- Attachment #1: Type: text/plain, Size: 224 bytes --] At first the attachement was not posted. I then posted with "reply" so I now have another copy of it. Let's try "Reply to All"... this should get through. -- Eyal Lebedinsky (eyal@eyal.emu.id.au) <http://samba.org/eyal/> [-- Attachment #2: 2.6.10-rc1-dvb.zip --] [-- Type: application/x-zip-compressed, Size: 42938 bytes --] ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 [dvb-bt8xx unload oops] 2004-11-16 0:29 ` Linux 2.6.10-rc2 [dvb-bt8xx unload oops] Eyal Lebedinsky 2004-11-16 9:57 ` Eyal Lebedinsky @ 2004-11-17 23:17 ` Eyal Lebedinsky 1 sibling, 0 replies; 86+ messages in thread From: Eyal Lebedinsky @ 2004-11-17 23:17 UTC (permalink / raw) To: Kernel Mailing List; +Cc: Linus Torvalds I now can say that this problem does not show with rc2-mm1. -- Eyal Lebedinsky (eyal@eyal.emu.id.au) <http://samba.org/eyal/> ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 SAVAGEFB startup crash 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds ` (3 preceding siblings ...) 2004-11-16 0:29 ` Linux 2.6.10-rc2 [dvb-bt8xx unload oops] Eyal Lebedinsky @ 2004-11-16 7:55 ` Philipp Matthias Hahn 2004-11-16 8:17 ` Colin Leroy 2004-11-16 12:43 ` Antonino A. Daplas 2004-11-16 16:25 ` Linux 2.6.10-rc2 Guido Guenther ` (4 subsequent siblings) 9 siblings, 2 replies; 86+ messages in thread From: Philipp Matthias Hahn @ 2004-11-16 7:55 UTC (permalink / raw) To: Kernel Mailing List; +Cc: Antonino Daplas Hello LKML! 2.6.10-rc2 on Debian i586 crashed during startup. On Sun, Nov 14, 2004 at 06:49:04PM -0800, Linus Torvalds wrote: > Summary of changes from v2.6.10-rc1 to v2.6.10-rc2 > ============================================ > Antonino Daplas: ... > o fbdev: S3 Savage Framebuffer Driver Copied by hand: show_stack+0x7f/0xa0 show_registers+0x156/0x1c0 die+0xc8/0x150 do_page_fault+0x326/0x6a2 error_code+0x2b/0x30 savagefb_create_i2c_busses+0x44/0xf0 savagefb_probe+0xe2/0x460 pci_device_probe_static+0x4d/0x60 __pci_device_probe+0x3c/0x50 pci_device_probe+0x2x/0x50 driver_probe_device+0x2e/0x80 driver_attach+0x5c/0xa0 bus_add_driver+0x95/0xd0 driver_register+0x31/0x40 pci_register_driver+0x64/0x80 savagefb_init+0x39/0x41 do_initcalls+0x2b/0xc0 init+0x28/0x110 kernel_thread_helper+0x5/0x10 (gdb) disassemble savagefb_create_i2c_busses Dump of assembler code for function savagefb_create_i2c_busses: 0x02b0 <savagefb_create_i2c_busses+0>: push %ebp 0x02b1 <savagefb_create_i2c_busses+1>: mov %esp,%ebp 0x02b3 <savagefb_create_i2c_busses+3>: sub $0x8,%esp 0x02b6 <savagefb_create_i2c_busses+6>: mov 0x8(%ebp),%eax 0x02b9 <savagefb_create_i2c_busses+9>: mov 0x234(%eax),%edx 0x02bf <savagefb_create_i2c_busses+15>: mov %edx,0x8(%edx) 0x02c2 <savagefb_create_i2c_busses+18>: mov 0xe0(%eax),%eax 0x02c8 <savagefb_create_i2c_busses+24>: cmp $0x88,%eax 0x02cd <savagefb_create_i2c_busses+29>: je 0x350 <savagefb_create_i2c_busses+160> 0x02d3 <savagefb_create_i2c_busses+35>: ja 0x340 <savagefb_create_i2c_busses+144> 0x02d5 <savagefb_create_i2c_busses+37>: add $0xffffff80,%eax 0x02d8 <savagefb_create_i2c_busses+40>: je 0x2f8 <savagefb_create_i2c_busses+72> 0x02da <savagefb_create_i2c_busses+42>: lea 0x0(%esi),%esi 0x02e0 <savagefb_create_i2c_busses+48>: mov $0x1,%eax 0x02e5 <savagefb_create_i2c_busses+53>: mov %eax,0x4(%esp) 0x02e9 <savagefb_create_i2c_busses+57>: lea 0x8(%edx),%eax 0x02ec <savagefb_create_i2c_busses+60>: mov %eax,(%esp) 0x02ef <savagefb_create_i2c_busses+63>: call 0x1c0 <savage_setup_i2c_bus> 0x02f4 <savagefb_create_i2c_busses+68>: mov %ebp,%esp 0x02f6 <savagefb_create_i2c_busses+70>: pop %ebp 0x02f7 <savagefb_create_i2c_busses+71>: ret $ grep 'SAVAGE\|I2C' /boot/config-2.6.10-rc2 # I2C support CONFIG_I2C=y CONFIG_I2C_CHARDEV=m # I2C Algorithms CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCA=m # I2C Hardware Bus support # CONFIG_I2C_ALI1535 is not set # CONFIG_I2C_ALI1563 is not set # CONFIG_I2C_ALI15X3 is not set # CONFIG_I2C_AMD756 is not set # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_ELEKTOR=m # CONFIG_I2C_I801 is not set # CONFIG_I2C_I810 is not set CONFIG_I2C_ISA=m # CONFIG_I2C_NFORCE2 is not set CONFIG_I2C_PARPORT=m CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_PIIX4=m CONFIG_I2C_PROSAVAGE=m CONFIG_I2C_SAVAGE4=m # CONFIG_I2C_SIS5595 is not set # CONFIG_I2C_SIS630 is not set # CONFIG_I2C_SIS96X is not set # CONFIG_I2C_STUB is not set # CONFIG_I2C_VIA is not set # CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VOODOO3 is not set # CONFIG_I2C_PCA_ISA is not set CONFIG_I2C_SENSOR=m # Other I2C Chip support # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set CONFIG_FB_SAVAGE=y CONFIG_FB_SAVAGE_I2C=y CONFIG_FB_SAVAGE_ACCEL=y BYtE Philipp -- / / (_)__ __ ____ __ Philipp Hahn / /__/ / _ \/ // /\ \/ / /____/_/_//_/\_,_/ /_/\_\ pmhahn@titan.lahn.de ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 SAVAGEFB startup crash 2004-11-16 7:55 ` Linux 2.6.10-rc2 SAVAGEFB startup crash Philipp Matthias Hahn @ 2004-11-16 8:17 ` Colin Leroy 2004-11-16 12:43 ` Antonino A. Daplas 1 sibling, 0 replies; 86+ messages in thread From: Colin Leroy @ 2004-11-16 8:17 UTC (permalink / raw) To: Philipp Matthias Hahn; +Cc: Kernel Mailing List, Antonino Daplas On 16 Nov 2004 at 08h11, Philipp Matthias Hahn wrote: Hi, > savagefb_create_i2c_busses+0x44/0xf0 You can also try gdb> list *savagefb_create_i2c_busses+0x44 to get the corresponding chunk of code if your kernel has CONFIG_DEBUG. -- Colin ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 SAVAGEFB startup crash 2004-11-16 7:55 ` Linux 2.6.10-rc2 SAVAGEFB startup crash Philipp Matthias Hahn 2004-11-16 8:17 ` Colin Leroy @ 2004-11-16 12:43 ` Antonino A. Daplas 2004-11-16 17:27 ` Philipp Matthias Hahn 1 sibling, 1 reply; 86+ messages in thread From: Antonino A. Daplas @ 2004-11-16 12:43 UTC (permalink / raw) To: Philipp Matthias Hahn, Kernel Mailing List; +Cc: Antonino Daplas On Tuesday 16 November 2004 15:55, Philipp Matthias Hahn wrote: > Hello LKML! > > 2.6.10-rc2 on Debian i586 crashed during startup. > > On Sun, Nov 14, 2004 at 06:49:04PM -0800, Linus Torvalds wrote: > > Summary of changes from v2.6.10-rc1 to v2.6.10-rc2 > > ============================================ > > Antonino Daplas: Try rc1-mm5, rc2-mm1 or apply this particular changeset: http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm5/broken-out/fbdev-allow-mode-change-even-if-edid-block-is-not-found.patch Tony ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 SAVAGEFB startup crash 2004-11-16 12:43 ` Antonino A. Daplas @ 2004-11-16 17:27 ` Philipp Matthias Hahn 2004-11-16 21:20 ` Antonino A. Daplas 2004-11-16 21:43 ` Antonino A. Daplas 0 siblings, 2 replies; 86+ messages in thread From: Philipp Matthias Hahn @ 2004-11-16 17:27 UTC (permalink / raw) To: adaplas; +Cc: Kernel Mailing List Hello Antonio, LKML! On Tue, Nov 16, 2004 at 08:43:22PM +0800, Antonino A. Daplas wrote: > On Tuesday 16 November 2004 15:55, Philipp Matthias Hahn wrote: > > 2.6.10-rc2 on Debian i586 crashed during startup. ... > Try rc1-mm5, rc2-mm1 or apply this particular changeset: > > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm5/broken-out/fbdev-allow-mode-change-even-if-edid-block-is-not-found.patch That fixed the crash, but the screen looks very broken on my notebook after boot. Switching between XFree86 and SavageFB also locked up the kernel hard. BYtE Philipp -- / / (_)__ __ ____ __ Philipp Hahn / /__/ / _ \/ // /\ \/ / /____/_/_//_/\_,_/ /_/\_\ pmhahn@titan.lahn.de ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 SAVAGEFB startup crash 2004-11-16 17:27 ` Philipp Matthias Hahn @ 2004-11-16 21:20 ` Antonino A. Daplas 2004-11-17 11:55 ` Philipp Matthias Hahn 2004-11-16 21:43 ` Antonino A. Daplas 1 sibling, 1 reply; 86+ messages in thread From: Antonino A. Daplas @ 2004-11-16 21:20 UTC (permalink / raw) To: Philipp Matthias Hahn; +Cc: Kernel Mailing List On Wednesday 17 November 2004 01:27, Philipp Matthias Hahn wrote: > Hello Antonio, LKML! > > On Tue, Nov 16, 2004 at 08:43:22PM +0800, Antonino A. Daplas wrote: > > On Tuesday 16 November 2004 15:55, Philipp Matthias Hahn wrote: > > > 2.6.10-rc2 on Debian i586 crashed during startup. > > ... > > > Try rc1-mm5, rc2-mm1 or apply this particular changeset: > > > > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1 > >/2.6.10-rc1-mm5/broken-out/fbdev-allow-mode-change-even-if-edid-block-is-n > >ot-found.patch > > That fixed the crash, but the screen looks very broken on my notebook > after boot. Switching between XFree86 and SavageFB also locked up the > kernel hard. Try booting at the native resolution of your notebook, for example: video=savagefb:1024x768@60 Tony ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 SAVAGEFB startup crash 2004-11-16 21:20 ` Antonino A. Daplas @ 2004-11-17 11:55 ` Philipp Matthias Hahn 0 siblings, 0 replies; 86+ messages in thread From: Philipp Matthias Hahn @ 2004-11-17 11:55 UTC (permalink / raw) To: Kernel Mailing List; +Cc: Antonino A. Daplas Hello! On Wed, Nov 17, 2004 at 05:20:58AM +0800, Antonino A. Daplas wrote: > > That fixed the crash, but the screen looks very broken on my notebook > > after boot. Switching between XFree86 and SavageFB also locked up the > > kernel hard. > > Try booting at the native resolution of your notebook, for example: > > video=savagefb:1024x768@60 The "@60" did it. (Reading "man 4x savage" -> "UseBIOS" gives my the impression, that this is important for some mobile chips.) On Wed, Nov 17, 2004 at 05:43:02AM +0800, Antonino A. Daplas wrote: > > after boot. Switching between XFree86 and SavageFB also locked up the > > As for the lockup between X and the console, can you try this patch? ... > - FBINFO_HWACCEL_XPAN; > + FBINFO_HWACCEL_XPAN | > + FBINFO_MISC_MODESWITCHLATE; That (partly) solved the lockup: I was able start XFree86, switch back to Console, but on return to X11, the X11 screen wasn't restored correctly, the mouse left a trail behind and switching to console again didn't work. (a remove "chvt 1" as root still worked). Exiting and than restarting XFree86 sometimes didn't initialize the screen correctly. While writing this email, my notebook locked up again hard and I had to powercycle it. BYtE Philipp -- / / (_)__ __ ____ __ Philipp Hahn / /__/ / _ \/ // /\ \/ / /____/_/_//_/\_,_/ /_/\_\ pmhahn@titan.lahn.de ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 SAVAGEFB startup crash 2004-11-16 17:27 ` Philipp Matthias Hahn 2004-11-16 21:20 ` Antonino A. Daplas @ 2004-11-16 21:43 ` Antonino A. Daplas 1 sibling, 0 replies; 86+ messages in thread From: Antonino A. Daplas @ 2004-11-16 21:43 UTC (permalink / raw) To: Philipp Matthias Hahn; +Cc: Kernel Mailing List On Wednesday 17 November 2004 01:27, Philipp Matthias Hahn wrote: > Hello Antonio, LKML! > > On Tue, Nov 16, 2004 at 08:43:22PM +0800, Antonino A. Daplas wrote: > > On Tuesday 16 November 2004 15:55, Philipp Matthias Hahn wrote: > after boot. Switching between XFree86 and SavageFB also locked up the As for the lockup between X and the console, can you try this patch? Tony diff -Nru a/drivers/video/savage/savagefb.c b/drivers/video/savage/savagefb.c --- a/drivers/video/savage/savagefb.c 2004-11-11 07:58:25 +08:00 +++ b/drivers/video/savage/savagefb.c 2004-11-17 05:40:47 +08:00 @@ -1797,23 +1797,23 @@ switch (info->fix.accel) { case FB_ACCEL_SUPERSAVAGE: par->chip = S3_SUPERSAVAGE; - snprintf (info->fix.id, 16, "S3 SuperSavage"); + snprintf (info->fix.id, 16, "SuperSavage"); break; case FB_ACCEL_SAVAGE4: par->chip = S3_SAVAGE4; - snprintf (info->fix.id, 16, "S3 Savage4"); + snprintf (info->fix.id, 16, "Savage4"); break; case FB_ACCEL_SAVAGE3D: par->chip = S3_SAVAGE3D; - snprintf (info->fix.id, 16, "S3 Savage3D"); + snprintf (info->fix.id, 16, "Savage3D"); break; case FB_ACCEL_SAVAGE3D_MV: par->chip = S3_SAVAGE3D; - snprintf (info->fix.id, 16, "S3 Savage3D-MV"); + snprintf (info->fix.id, 16, "Savage3D-MV"); break; case FB_ACCEL_SAVAGE2000: par->chip = S3_SAVAGE2000; - snprintf (info->fix.id, 16, "S3 Savage2000"); + snprintf (info->fix.id, 16, "Savage2000"); break; case FB_ACCEL_SAVAGE_MX_MV: par->chip = S3_SAVAGE_MX; @@ -1878,7 +1878,8 @@ info->fbops = &savagefb_ops; info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN | - FBINFO_HWACCEL_XPAN; + FBINFO_HWACCEL_XPAN | + FBINFO_MISC_MODESWITCHLATE; info->pseudo_palette = par->pseudo_palette; ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds ` (4 preceding siblings ...) 2004-11-16 7:55 ` Linux 2.6.10-rc2 SAVAGEFB startup crash Philipp Matthias Hahn @ 2004-11-16 16:25 ` Guido Guenther 2004-11-17 15:54 ` Andrew Walrond ` (3 subsequent siblings) 9 siblings, 0 replies; 86+ messages in thread From: Guido Guenther @ 2004-11-16 16:25 UTC (permalink / raw) To: Linus Torvalds, Benjamin Herrenschmidt; +Cc: Kernel Mailing List Hi, On Sun, Nov 14, 2004 at 06:49:04PM -0800, Linus Torvalds wrote: > > Ok, the -rc2 changes are almost as big as the -rc1 changes, and we should > now calm down, so I do not want to see anything but bug-fixes until 2.6.10 > is released. Otherwise we'll never get there. here's a simple compile fix necessary due to dev.power changes: --- linux-2.6.10-rc2/drivers/macintosh/mediabay.c.orig 2004-11-16 17:13:53.165493040 +0100 +++ linux-2.6.10-rc2/drivers/macintosh/mediabay.c 2004-11-16 17:16:13.587145704 +0100 @@ -713,13 +713,13 @@ { struct media_bay_info *bay = macio_get_drvdata(mdev); - if (state != mdev->ofdev.dev.power_state && state >= 2) { + if (state != mdev->ofdev.dev.power.power_state && state >= 2) { down(&bay->lock); bay->sleeping = 1; set_mb_power(bay, 0); up(&bay->lock); msleep(MB_POLL_DELAY); - mdev->ofdev.dev.power_state = state; + mdev->ofdev.dev.power.power_state = state; } return 0; } @@ -728,8 +728,8 @@ { struct media_bay_info *bay = macio_get_drvdata(mdev); - if (mdev->ofdev.dev.power_state != 0) { - mdev->ofdev.dev.power_state = 0; + if (mdev->ofdev.dev.power.power_state != 0) { + mdev->ofdev.dev.power.power_state = 0; /* We re-enable the bay using it's previous content only if it did not change. Note those bozo timings, Signed-off-by: Guido Guenther <agx@sigxpcu.org> Cheers, -- Guido ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds ` (5 preceding siblings ...) 2004-11-16 16:25 ` Linux 2.6.10-rc2 Guido Guenther @ 2004-11-17 15:54 ` Andrew Walrond 2004-11-17 16:58 ` Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs Vladimir B. Savkin ` (2 subsequent siblings) 9 siblings, 0 replies; 86+ messages in thread From: Andrew Walrond @ 2004-11-17 15:54 UTC (permalink / raw) To: linux-kernel; +Cc: Linus Torvalds, linux-fbdev-devel On Monday 15 Nov 2004 02:49, Linus Torvalds wrote: > > Antonino Daplas: ... > o fbdev: Fix IO access in rivafb FYI changeset 1.2563 breaks the rivafb for x86_64 (64bit). I'm looking into it with the fbdev guys help, so I'm sure a fix will be forthcoming soon. Andrew Walrond ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds ` (6 preceding siblings ...) 2004-11-17 15:54 ` Andrew Walrond @ 2004-11-17 16:58 ` Vladimir B. Savkin [not found] ` <Pine.LNX.4.58.0411170935040.2222@ppc970.osdl.org> 2004-11-17 19:32 ` Linux 2.6.10-rc2 start_udev very slow Andrew Walrond 2004-11-18 17:26 ` Linux 2.6.10-rc2 Vladimir B. Savkin 9 siblings, 1 reply; 86+ messages in thread From: Vladimir B. Savkin @ 2004-11-17 16:58 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List Nov 17 18:19:18 behemoth kernel: arq->state 2 Nov 17 18:19:18 behemoth kernel: Badness in as_requeue_request at drivers/block/as-iosched.c:1478 Nov 17 18:19:18 behemoth kernel: [dump_stack+23/32] dump_stack+0x17/0x20 Nov 17 18:19:18 behemoth kernel: [as_requeue_request+102/224] as_requeue_request+0x66/0xe0 Nov 17 18:19:18 behemoth kernel: [elv_requeue_request+38/80] elv_requeue_request+0x26/0x50 Nov 17 18:19:18 behemoth kernel: [blk_insert_request+171/176] blk_insert_request+0xab/0xb0 Nov 17 18:19:18 behemoth kernel: [scsi_queue_insert+100/160] scsi_queue_insert+0x64/0xa0 Nov 17 18:19:18 behemoth kernel: [scsi_softirq+164/192] scsi_softirq+0xa4/0xc0 Nov 17 18:19:18 behemoth kernel: [__do_softirq+184/208] __do_softirq+0xb8/0xd0 Nov 17 18:19:18 behemoth kernel: [do_softirq+53/64] do_softirq+0x35/0x40 Nov 17 18:19:18 behemoth kernel: [do_IRQ+33/48] do_IRQ+0x21/0x30 Nov 17 18:19:18 behemoth kernel: [common_interrupt+26/32] common_interrupt+0x1a/0x20 Nov 17 18:19:18 behemoth kernel: [search_by_key+2122/4688] search_by_key+0x84a/0x1250 Nov 17 18:19:18 behemoth kernel: [reiserfs_update_sd_size+159/512] reiserfs_update_sd_size+0x9f/0x200 Nov 17 18:19:18 behemoth kernel: [reiserfs_dirty_inode+116/144] reiserfs_dirty_inode+0x74/0x90 Nov 17 18:19:18 behemoth kernel: [reiserfs_submit_file_region_for_write+541/656] reiserfs_submit_file_region_for_write+0x21d/0x290 Nov 17 18:19:18 behemoth kernel: [reiserfs_file_write+1453/1856] reiserfs_file_write+0x5ad/0x740 Nov 17 18:19:18 behemoth kernel: [do_readv_writev+364/544] do_readv_writev+0x16c/0x220 Nov 17 18:19:18 behemoth kernel: [vfs_writev+73/96] vfs_writev+0x49/0x60 Nov 17 18:19:18 behemoth kernel: [sys_writev+65/112] sys_writev+0x41/0x70 Nov 17 18:19:18 behemoth kernel: [syscall_call+7/11] syscall_call+0x7/0xb ~ :wq With best regards, Vladimir Savkin. ^ permalink raw reply [flat|nested] 86+ messages in thread
[parent not found: <Pine.LNX.4.58.0411170935040.2222@ppc970.osdl.org>]
[parent not found: <20041118103526.GC26240@suse.de>]
* Re: Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs [not found] ` <20041118103526.GC26240@suse.de> @ 2004-11-18 16:02 ` Vladimir B. Savkin 2004-11-18 18:39 ` Jens Axboe 0 siblings, 1 reply; 86+ messages in thread From: Vladimir B. Savkin @ 2004-11-18 16:02 UTC (permalink / raw) To: Jens Axboe; +Cc: linux-kernel On Thu, Nov 18, 2004 at 11:35:26AM +0100, Jens Axboe wrote: > On Wed, Nov 17 2004, Linus Torvalds wrote: > > > > Jens, did you see this one? > > Vladimir, is this completely reproducable? Does -rc1 work correctly (or > which was the last version you tested)? I haven't been able to spot any > errors in this path so far. It happens 100% when smartd tries to fetch SMART info from disks connected to 3ware controller. Seems like using obsolete 3ware API has something to do with this. It does happen with -rc1 too. Here is a complete dmesg output: === BEFORE smartd Linux version 2.6.10-rc2 (vsavkin@behemoth) (gcc version 3.3.4 (Debian 1:3.3.4-13)) #1 SMP Wed Nov 17 17:04:35 MSK 2004 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009f000 (usable) BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) 127MB HIGHMEM available. 896MB LOWMEM available. found SMP MP-table at 000fa6f0 On node 0 totalpages: 262128 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 225280 pages, LIFO batch:16 HighMem zone: 32752 pages, LIFO batch:7 DMI 2.3 present. ACPI: RSDP (v000 Acer ) @ 0x000fe030 ACPI: RSDT (v001 Acer M25C 0x00000002 Acer 0x00000000) @ 0x3fff0000 ACPI: FADT (v001 Acer M25C 0x00000002 Acer 0x00000000) @ 0x3fff009a ACPI: MADT (v001 Acer M25C 0x00000002 Acer 0x00000000) @ 0x3fff002c ACPI: DSDT (v001 Acer M25C 0x00001000 MSFT 0x0100000c) @ 0x00000000 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 6:8 APIC version 17 ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) Processor #1 6:8 APIC version 17 ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1]) Using ACPI for processor (LAPIC) configuration information Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode. OEM ID: ACER Product ID: M25C APIC at: 0xFEE00000 I/O APIC #2 Version 17 at 0xFEC00000. I/O APIC #3 Version 17 at 0xFEC01000. Enabling APIC mode: Flat. Using 2 I/O APICs Processors: 2 Built 1 zonelists Kernel command line: BOOT_IMAGE=nov ro root=801 init=/bin/sh Initializing CPU#0 PID hash table entries: 4096 (order: 12, 65536 bytes) Detected 733.389 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 1035112k/1048512k available (2190k kernel code, 12752k reserved, 720k data, 444k init, 131008k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay loop... 1445.88 BogoMIPS (lpj=722944) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: After generic identify, caps: 0383fbff 00000000 00000000 00000000 CPU: After vendor identify, caps: 0383fbff 00000000 00000000 00000000 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. CPU0: Intel Pentium III (Coppermine) stepping 0a per-CPU timeslice cutoff: 731.61 usecs. task migration cache decay timeout: 1 msecs. Booting processor 1/1 eip 2000 Initializing CPU#1 Calibrating delay loop... 1462.27 BogoMIPS (lpj=731136) CPU: After generic identify, caps: 0383fbff 00000000 00000000 00000000 CPU: After vendor identify, caps: 0383fbff 00000000 00000000 00000000 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#1. CPU1: Intel Pentium III (Coppermine) stepping 0a Total of 2 processors activated (2908.16 BogoMIPS). ENABLING IO-APIC IRQs ..TIMER: vector=0x31 pin1=2 pin2=0 ..MP-BIOS bug: 8254 timer not connected to IO-APIC ...trying to set up timer (IRQ0) through the 8259A ... ..... (found pin 0) ...works. checking TSC synchronization across 2 CPUs: passed. Brought up 2 CPUs CPU0: domain 0: span 3 groups: 1 2 CPU1: domain 0: span 3 groups: 2 1 NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xf0220, last bus=1 PCI: Using configuration type 1 mtrr: v2.0 (20020519) SCSI subsystem initialized PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Discovered peer bus 01 PCI->APIC IRQ transform: (B0,I11,P0) -> 17 PCI->APIC IRQ transform: (B0,I13,P0) -> 16 PCI->APIC IRQ transform: (B1,I3,P0) -> 19 PCI->APIC IRQ transform: (B1,I3,P1) -> 18 PCI->APIC IRQ transform: (B1,I6,P0) -> 20 PCI->APIC IRQ transform: (B1,I8,P0) -> 22 TC classifier action (bugs to netdev@oss.sgi.com cc hadi@cyberus.ca) Machine check exception polling timer started. IA-32 Microcode Update Driver: v1.14 <tigran@veritas.com> highmem bounce pool size: 64 pages VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) Initializing Cryptographic API Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: loaded (max 8 devices) Intel(R) PRO/1000 Network Driver - version 5.5.4-k2-NAPI Copyright (c) 1999-2004 Intel Corporation. e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection e100: Intel(R) PRO/100 Network Driver, 3.2.3-k2-NAPI e100: Copyright(c) 1999-2004 Intel Corporation e100: eth1: e100_probe: addr 0x43200000, irq 17, MAC addr 00:00:E2:3B:72:D0 PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx Probing IDE interface ide0... ide0: Wait for ready failed before probe ! Probing IDE interface ide1... ide1: Wait for ready failed before probe ! Probing IDE interface ide2... ide2: Wait for ready failed before probe ! Probing IDE interface ide3... ide3: Wait for ready failed before probe ! Probing IDE interface ide4... ide4: Wait for ready failed before probe ! Probing IDE interface ide5... ide5: Wait for ready failed before probe ! scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7899 Ultra160 SCSI adapter> aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs elevator: using anticipatory as default io scheduler (scsi0:A:0): 40.000MB/s transfers (20.000MHz, offset 63, 16bit) Vendor: SEAGATE Model: ST336607LC Rev: 0003 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:0:0: Tagged Queuing enabled. Depth 16 scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7899 Ultra160 SCSI adapter> aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs 3ware Storage Controller device driver for Linux v1.26.02.000. scsi2 : 3ware Storage Controller 3w-xxxx: scsi2: Found a 3ware Storage Controller at 0x5080, IRQ: 22. Vendor: 3ware Model: Logical Disk 0 Rev: 1.2 Type: Direct-Access ANSI SCSI revision: 00 Vendor: 3ware Model: Logical Disk 11 Rev: 1.2 Type: Direct-Access ANSI SCSI revision: 00 libata version 1.10 loaded. SCSI device sda: 71687372 512-byte hdwr sectors (36704 MB) SCSI device sda: drive cache: write back sda: sda1 sda2 sda3 < sda5 sda6 sda7 > Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sdb: 1465185024 512-byte hdwr sectors (750175 MB) SCSI device sdb: drive cache: write back sdb: sdb1 Attached scsi disk sdb at scsi2, channel 0, id 0, lun 0 SCSI device sdc: 781422768 512-byte hdwr sectors (400088 MB) SCSI device sdc: drive cache: write back sdc: sdc1 Attached scsi disk sdc at scsi2, channel 0, id 11, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 Attached scsi generic sg1 at scsi2, channel 0, id 0, lun 0, type 0 Attached scsi generic sg2 at scsi2, channel 0, id 11, lun 0, type 0 mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 input: PC Speaker NET: Registered protocol family 2 IP: routing cache hash table of 8192 buckets, 64Kbytes TCP: Hash tables configured (established 262144 bind 65536) IPv4 over IPv4 tunneling driver GRE over IPv4 tunneling driver NET: Registered protocol family 1 NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> Starting balanced_irq VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 444k freed Adding 1959920k swap on /dev/sda2. Priority:-1 extents:1 device-mapper: 4.1.0-ioctl (2003-12-10) initialised: dm@uk.sistina.com ReiserFS: sda5: found reiserfs format "3.6" with standard journal ReiserFS: sda5: using ordered data mode ReiserFS: sda5: journal params: device sda5, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sda5: checking transaction log (sda5) ReiserFS: sda5: replayed 1 transactions in 0 seconds ReiserFS: sda5: Using r5 hash to sort names ReiserFS: sda6: found reiserfs format "3.6" with standard journal ReiserFS: sda6: using ordered data mode ReiserFS: sda6: journal params: device sda6, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sda6: checking transaction log (sda6) ReiserFS: sda6: replayed 3 transactions in 0 seconds ReiserFS: sda6: Using r5 hash to sort names ReiserFS: sda6: Removing [1915 1387 0x0 SD]..done ReiserFS: sda6: There were 1 uncompleted unlinks/truncates. Completed ReiserFS: sda7: found reiserfs format "3.6" with standard journal ReiserFS: sda7: using ordered data mode ReiserFS: sda7: journal params: device sda7, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sda7: checking transaction log (sda7) ReiserFS: sda7: replayed 1 transactions in 0 seconds ReiserFS: sda7: Using r5 hash to sort names ReiserFS: sdb1: found reiserfs format "3.6" with standard journal ReiserFS: sdb1: using ordered data mode ReiserFS: sdb1: journal params: device sdb1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sdb1: checking transaction log (sdb1) ReiserFS: sdb1: replayed 1 transactions in 0 seconds ReiserFS: sdb1: Using r5 hash to sort names ReiserFS: sdc1: found reiserfs format "3.6" with standard journal ReiserFS: sdc1: using ordered data mode ReiserFS: sdc1: journal params: device sdc1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sdc1: checking transaction log (sdc1) ReiserFS: sdc1: replayed 1 transactions in 0 seconds ReiserFS: sdc1: Using r5 hash to sort names ip_tables: (C) 2000-2002 Netfilter core team e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex vlan0173: add 01:00:5e:00:00:01 mcast address to master interface vlan0169: add 01:00:5e:00:00:01 mcast address to master interface === AFTER smartd program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO scsi: unknown opcode 0x4d program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO program smartd is using a deprecated SCSI ioctl, please convert it to SG_IO scsi: unknown opcode 0x80 3w-xxxx: SCSI_IOCTL_SEND_COMMAND deprecated, please update your 3ware tools. arq->state 2 Badness in as_requeue_request at drivers/block/as-iosched.c:1478 [<c01032a7>] dump_stack+0x17/0x20 [<c02388c6>] as_requeue_request+0x66/0xe0 [<c022fc66>] elv_requeue_request+0x26/0x50 [<c027b6d9>] scsi_request_fn+0x269/0x370 [<c0232685>] blk_insert_request+0x95/0xb0 [<c027a4e4>] scsi_queue_insert+0x64/0xa0 [<c027662e>] scsi_dispatch_cmd+0x16e/0x1d0 [<c027b653>] scsi_request_fn+0x1e3/0x370 [<c0231d6e>] __generic_unplug_device+0x2e/0x30 [<c0231d88>] generic_unplug_device+0x18/0x30 [<c02328a2>] blk_execute_rq+0x82/0xb0 [<c0236726>] sg_scsi_ioctl+0x1f6/0x2c0 [<c02368d7>] scsi_cmd_ioctl+0xe7/0x400 [<c02a6fb4>] sd_ioctl+0xa4/0xd0 [<c0234a45>] blkdev_ioctl+0x75/0x3cf [<c0160fbc>] sys_ioctl+0xbc/0x210 [<c0102483>] syscall_call+0x7/0xb ~ :wq With best regards, Vladimir Savkin. ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs 2004-11-18 16:02 ` Vladimir B. Savkin @ 2004-11-18 18:39 ` Jens Axboe 2004-11-18 19:10 ` Jens Axboe 0 siblings, 1 reply; 86+ messages in thread From: Jens Axboe @ 2004-11-18 18:39 UTC (permalink / raw) To: Vladimir B. Savkin; +Cc: linux-kernel On Thu, Nov 18 2004, Vladimir B. Savkin wrote: > On Thu, Nov 18, 2004 at 11:35:26AM +0100, Jens Axboe wrote: > > On Wed, Nov 17 2004, Linus Torvalds wrote: > > > > > > Jens, did you see this one? > > > > Vladimir, is this completely reproducable? Does -rc1 work correctly (or > > which was the last version you tested)? I haven't been able to spot any > > errors in this path so far. > > It happens 100% when smartd tries to fetch SMART info from > disks connected to 3ware controller. > Seems like using obsolete 3ware API has something to do with this. > It does happen with -rc1 too. > Here is a complete dmesg output: Really looks like a double requeue, bet it happens because we end up requeing both from the failed queuecommand return and from scsi_done(). I'll take a look. -- Jens Axboe ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs 2004-11-18 18:39 ` Jens Axboe @ 2004-11-18 19:10 ` Jens Axboe 2004-11-18 19:22 ` James Bottomley 0 siblings, 1 reply; 86+ messages in thread From: Jens Axboe @ 2004-11-18 19:10 UTC (permalink / raw) To: Vladimir B. Savkin; +Cc: linux-kernel, James Bottomley On Thu, Nov 18 2004, Jens Axboe wrote: > On Thu, Nov 18 2004, Vladimir B. Savkin wrote: > > On Thu, Nov 18, 2004 at 11:35:26AM +0100, Jens Axboe wrote: > > > On Wed, Nov 17 2004, Linus Torvalds wrote: > > > > > > > > Jens, did you see this one? > > > > > > Vladimir, is this completely reproducable? Does -rc1 work correctly (or > > > which was the last version you tested)? I haven't been able to spot any > > > errors in this path so far. > > > > It happens 100% when smartd tries to fetch SMART info from > > disks connected to 3ware controller. > > Seems like using obsolete 3ware API has something to do with this. > > It does happen with -rc1 too. > > Here is a complete dmesg output: > > Really looks like a double requeue, bet it happens because we end up > requeing both from the failed queuecommand return and from scsi_done(). > I'll take a look. It is a double requeue. The SCSI path looks really messy (and buggy there). What happens is that the host queuecommand sets DID_ERROR and calls scsi_done() on the command, which may decide the commands need retrying and thus requeue it. Upon return from queuecommand, the SCSI layer initiates a requeue of the request because queuecommand returned 1. Double requeue, request list is now screwed. James, it looks like the queuecommand returns need an overhaul so it's clear who does what and when. You can work around the issue with this patch (I hope, not tested), I'll see if I can scrub the paths a little. --- linux-2.6.10-rc2-mm1/drivers/scsi/3w-xxxx.c~ 2004-11-18 20:03:27.945527140 +0100 +++ linux-2.6.10-rc2-mm1/drivers/scsi/3w-xxxx.c 2004-11-18 20:10:01.249255049 +0100 @@ -2053,6 +2053,11 @@ break; case TW_IOCTL: printk(KERN_WARNING "3w-xxxx: SCSI_IOCTL_SEND_COMMAND deprecated, please update your 3ware tools.\n"); + tw_dev->state[request_id] = TW_S_COMPLETED; + tw_state_request_finish(tw_dev, request_id); + SCpnt->result = DID_ABORT << 16; + done(SCpnt); + reval = 0; break; default: printk(KERN_NOTICE "3w-xxxx: scsi%d: Unknown scsi opcode: 0x%x\n", tw_dev->host->host_no, *command); -- Jens Axboe ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs 2004-11-18 19:10 ` Jens Axboe @ 2004-11-18 19:22 ` James Bottomley 2004-11-18 21:32 ` Jens Axboe 0 siblings, 1 reply; 86+ messages in thread From: James Bottomley @ 2004-11-18 19:22 UTC (permalink / raw) To: Jens Axboe; +Cc: Vladimir B. Savkin, Linux Kernel On Thu, 2004-11-18 at 13:10, Jens Axboe wrote: > It is a double requeue. The SCSI path looks really messy (and buggy > there). What happens is that the host queuecommand sets DID_ERROR and > calls scsi_done() on the command, which may decide the commands need > retrying and thus requeue it. Upon return from queuecommand, the SCSI > layer initiates a requeue of the request because queuecommand returned > 1. Double requeue, request list is now screwed. > > James, it looks like the queuecommand returns need an overhaul so it's > clear who does what and when. Hmm, I thought the Documentation/scsi/scsi_mid_low_api.txt was quite clear on this: * Command ownership. If the driver returns zero, it owns the * command and must take responsibility for ensuring the 'done' * callback is executed. Note: the driver may call done before * returning zero, but after it has called done, it may not * return any value other than zero. If the driver makes a * non-zero return, it must not execute the command's done * callback at any time. The 3ware driver is clearly in violation by calling done and then returning one. James ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs 2004-11-18 19:22 ` James Bottomley @ 2004-11-18 21:32 ` Jens Axboe 2004-11-18 21:39 ` James Bottomley 0 siblings, 1 reply; 86+ messages in thread From: Jens Axboe @ 2004-11-18 21:32 UTC (permalink / raw) To: James Bottomley; +Cc: Vladimir B. Savkin, Linux Kernel On Thu, Nov 18 2004, James Bottomley wrote: > On Thu, 2004-11-18 at 13:10, Jens Axboe wrote: > > It is a double requeue. The SCSI path looks really messy (and buggy > > there). What happens is that the host queuecommand sets DID_ERROR and > > calls scsi_done() on the command, which may decide the commands need > > retrying and thus requeue it. Upon return from queuecommand, the SCSI > > layer initiates a requeue of the request because queuecommand returned > > 1. Double requeue, request list is now screwed. > > > > James, it looks like the queuecommand returns need an overhaul so it's > > clear who does what and when. > > Hmm, I thought the Documentation/scsi/scsi_mid_low_api.txt was quite > clear on this: > > * Command ownership. If the driver returns zero, it owns the > * command and must take responsibility for ensuring the 'done' > * callback is executed. Note: the driver may call done before > * returning zero, but after it has called done, it may not > * return any value other than zero. If the driver makes a > * non-zero return, it must not execute the command's done > * callback at any time. > > The 3ware driver is clearly in violation by calling done and then > returning one. It's clearly not the only one, the first 3 I looked at all did it. That's the big mess. I'll do an audit. -- Jens Axboe ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs 2004-11-18 21:32 ` Jens Axboe @ 2004-11-18 21:39 ` James Bottomley 2004-11-19 8:40 ` Jens Axboe 0 siblings, 1 reply; 86+ messages in thread From: James Bottomley @ 2004-11-18 21:39 UTC (permalink / raw) To: Jens Axboe; +Cc: Vladimir B. Savkin, Linux Kernel On Thu, 2004-11-18 at 15:32, Jens Axboe wrote: > It's clearly not the only one, the first 3 I looked at all did it. > That's the big mess. I'll do an audit. Thanks ... I'll owe you a beverage of your choice... James ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs 2004-11-18 21:39 ` James Bottomley @ 2004-11-19 8:40 ` Jens Axboe 0 siblings, 0 replies; 86+ messages in thread From: Jens Axboe @ 2004-11-19 8:40 UTC (permalink / raw) To: James Bottomley; +Cc: Vladimir B. Savkin, Linux Kernel On Thu, Nov 18 2004, James Bottomley wrote: > On Thu, 2004-11-18 at 15:32, Jens Axboe wrote: > > It's clearly not the only one, the first 3 I looked at all did it. > > That's the big mess. I'll do an audit. > > Thanks ... I'll owe you a beverage of your choice... I'm sure that can be arranged :-) Here's an audit of drivers/scsi, there are quite a few of them in there. I've opted to keep the ->scsi_done() calls in there and rather return 0, instead of killing them and returning something more appropriate. I'll send this to linux-scsi with maintainers CC'ed as well. ===== drivers/scsi/3w-9xxx.c 1.4 vs edited ===== --- 1.4/drivers/scsi/3w-9xxx.c 2004-07-16 17:20:43 +02:00 +++ edited/drivers/scsi/3w-9xxx.c 2004-11-18 22:55:58 +01:00 @@ -1746,6 +1746,7 @@ static int twa_scsi_queue(struct scsi_cm twa_free_request_id(tw_dev, request_id); SCpnt->result = (DID_ERROR << 16); done(SCpnt); + reval = 0; } return retval; ===== drivers/scsi/3w-xxxx.c 1.47 vs edited ===== --- 1.47/drivers/scsi/3w-xxxx.c 2004-10-07 05:20:16 +02:00 +++ edited/drivers/scsi/3w-xxxx.c 2004-11-18 22:55:31 +01:00 @@ -2067,6 +2067,7 @@ static int tw_scsi_queue(struct scsi_cmn tw_state_request_finish(tw_dev, request_id); SCpnt->result = (DID_ERROR << 16); done(SCpnt); + retval = 0; } out: return retval; ===== drivers/scsi/ide-scsi.c 1.47 vs edited ===== --- 1.47/drivers/scsi/ide-scsi.c 2004-10-22 01:46:25 +02:00 +++ edited/drivers/scsi/ide-scsi.c 2004-11-18 22:54:09 +01:00 @@ -891,7 +891,7 @@ abort: if (rq) kfree (rq); cmd->result = DID_ERROR << 16; done(cmd); - return 1; + return 0; } static int idescsi_eh_abort (struct scsi_cmnd *cmd) ===== drivers/scsi/megaraid.c 1.73 vs edited ===== --- 1.73/drivers/scsi/megaraid.c 2004-11-11 09:43:34 +01:00 +++ edited/drivers/scsi/megaraid.c 2004-11-19 09:03:43 +01:00 @@ -634,11 +634,7 @@ mega_build_cmd(adapter_t *adapter, Scsi_ } if(!(scb = mega_allocate_scb(adapter, cmd))) { - - cmd->result = (DID_ERROR << 16); - cmd->scsi_done(cmd); *busy = 1; - return NULL; } @@ -677,11 +673,7 @@ mega_build_cmd(adapter_t *adapter, Scsi_ /* Allocate a SCB and initialize passthru */ if(!(scb = mega_allocate_scb(adapter, cmd))) { - - cmd->result = (DID_ERROR << 16); - cmd->scsi_done(cmd); *busy = 1; - return NULL; } pthru = scb->pthru; @@ -723,11 +715,7 @@ mega_build_cmd(adapter_t *adapter, Scsi_ /* Allocate a SCB and initialize mailbox */ if(!(scb = mega_allocate_scb(adapter, cmd))) { - - cmd->result = (DID_ERROR << 16); - cmd->scsi_done(cmd); *busy = 1; - return NULL; } mbox = (mbox_t *)scb->raw_mbox; @@ -867,11 +855,7 @@ mega_build_cmd(adapter_t *adapter, Scsi_ /* Allocate a SCB and initialize mailbox */ if(!(scb = mega_allocate_scb(adapter, cmd))) { - - cmd->result = (DID_ERROR << 16); - cmd->scsi_done(cmd); *busy = 1; - return NULL; } @@ -899,11 +883,7 @@ mega_build_cmd(adapter_t *adapter, Scsi_ else { /* Allocate a SCB and initialize passthru */ if(!(scb = mega_allocate_scb(adapter, cmd))) { - - cmd->result = (DID_ERROR << 16); - cmd->scsi_done(cmd); *busy = 1; - return NULL; } ===== drivers/scsi/ncr53c8xx.c 1.50 vs edited ===== --- 1.50/drivers/scsi/ncr53c8xx.c 2004-11-11 09:43:34 +01:00 +++ edited/drivers/scsi/ncr53c8xx.c 2004-11-19 09:06:28 +01:00 @@ -7517,6 +7517,7 @@ printk("ncr53c8xx : command successfully if (sts != DID_OK) { unmap_scsi_data(np, cmd); done(cmd); + sts = 0; } return sts; ===== drivers/scsi/nsp32.c 1.32 vs edited ===== --- 1.32/drivers/scsi/nsp32.c 2004-10-20 21:24:36 +02:00 +++ edited/drivers/scsi/nsp32.c 2004-11-19 09:10:05 +01:00 @@ -970,8 +970,7 @@ static int nsp32_queuecommand(struct scs data->CurrentSC = NULL; SCpnt->result = DID_NO_CONNECT << 16; done(SCpnt); - - return SCSI_MLQUEUE_HOST_BUSY; + return 0; } /* check target ID is not same as this initiator ID */ @@ -979,7 +978,7 @@ static int nsp32_queuecommand(struct scs nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "terget==host???"); SCpnt->result = DID_BAD_TARGET << 16; done(SCpnt); - return SCSI_MLQUEUE_DEVICE_BUSY; + return 0; } /* check target LUN is allowable value */ @@ -987,7 +986,7 @@ static int nsp32_queuecommand(struct scs nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "no more lun"); SCpnt->result = DID_BAD_TARGET << 16; done(SCpnt); - return SCSI_MLQUEUE_DEVICE_BUSY; + return 0; } show_command(SCpnt); @@ -1019,7 +1018,7 @@ static int nsp32_queuecommand(struct scs nsp32_msg(KERN_ERR, "SGT fail"); SCpnt->result = DID_ERROR << 16; nsp32_scsi_done(SCpnt); - return SCSI_MLQUEUE_HOST_BUSY; + return 0; } /* Build IDENTIFY */ @@ -1089,7 +1088,6 @@ static int nsp32_queuecommand(struct scs if (ret != TRUE) { nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "selection fail"); nsp32_scsi_done(SCpnt); - return SCSI_MLQUEUE_DEVICE_BUSY; } return 0; ===== drivers/scsi/aacraid/aachba.c 1.29 vs edited ===== --- 1.29/drivers/scsi/aacraid/aachba.c 2004-10-01 17:10:08 +02:00 +++ edited/drivers/scsi/aacraid/aachba.c 2004-11-18 23:10:40 +01:00 @@ -894,7 +894,7 @@ int aac_read(struct scsi_cmnd * scsicmd, aac_io_done(scsicmd); fib_complete(cmd_fibcontext); fib_free(cmd_fibcontext); - return -1; + return 0; } static int aac_write(struct scsi_cmnd * scsicmd, int cid) @@ -928,7 +928,7 @@ static int aac_write(struct scsi_cmnd * if (!(cmd_fibcontext = fib_alloc(dev))) { scsicmd->result = DID_ERROR << 16; aac_io_done(scsicmd); - return -1; + return 0; } fib_init(cmd_fibcontext); @@ -1004,7 +1004,7 @@ static int aac_write(struct scsi_cmnd * fib_complete(cmd_fibcontext); fib_free(cmd_fibcontext); - return -1; + return 0; } ===== drivers/scsi/megaraid/megaraid_mbox.c 1.9 vs edited ===== --- 1.9/drivers/scsi/megaraid/megaraid_mbox.c 2004-10-08 17:12:09 +02:00 +++ edited/drivers/scsi/megaraid/megaraid_mbox.c 2004-11-18 23:12:10 +01:00 @@ -1623,6 +1623,7 @@ megaraid_queue_command(struct scsi_cmnd if (!scb) { // command already completed done(scp); + return 0; } return if_busy; ===== drivers/scsi/pcmcia/nsp_cs.c 1.35 vs edited ===== --- 1.35/drivers/scsi/pcmcia/nsp_cs.c 2004-10-05 22:11:16 +02:00 +++ edited/drivers/scsi/pcmcia/nsp_cs.c 2004-11-19 09:36:39 +01:00 @@ -226,7 +226,7 @@ static int nsp_queuecommand(Scsi_Cmnd *S nsp_msg(KERN_DEBUG, "CurrentSC!=NULL this can't be happen"); SCpnt->result = DID_BAD_TARGET << 16; nsp_scsi_done(SCpnt); - return SCSI_MLQUEUE_HOST_BUSY; + return 0; } #if 0 @@ -273,7 +273,7 @@ static int nsp_queuecommand(Scsi_Cmnd *S nsp_dbg(NSP_DEBUG_QUEUECOMMAND, "selection fail"); SCpnt->result = DID_BUS_BUSY << 16; nsp_scsi_done(SCpnt); - return SCSI_MLQUEUE_DEVICE_BUSY; + return 0; } -- Jens Axboe ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 start_udev very slow 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds ` (7 preceding siblings ...) 2004-11-17 16:58 ` Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs Vladimir B. Savkin @ 2004-11-17 19:32 ` Andrew Walrond 2004-11-17 23:13 ` Greg KH 2004-12-16 15:56 ` Greg KH 2004-11-18 17:26 ` Linux 2.6.10-rc2 Vladimir B. Savkin 9 siblings, 2 replies; 86+ messages in thread From: Andrew Walrond @ 2004-11-17 19:32 UTC (permalink / raw) To: linux-kernel; +Cc: Greg KH I noticed that when upgrading from 2.6.8.1 to rc2, start_udev now takes 10-15s after printing "Creating initial udev device nodes:" Any known reason? should I upgrade udev? (030 installed) Andrew Walrond ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 start_udev very slow 2004-11-17 19:32 ` Linux 2.6.10-rc2 start_udev very slow Andrew Walrond @ 2004-11-17 23:13 ` Greg KH 2004-12-16 15:56 ` Greg KH 1 sibling, 0 replies; 86+ messages in thread From: Greg KH @ 2004-11-17 23:13 UTC (permalink / raw) To: Andrew Walrond; +Cc: linux-kernel On Wed, Nov 17, 2004 at 07:32:47PM +0000, Andrew Walrond wrote: > I noticed that when upgrading from 2.6.8.1 to rc2, start_udev now takes 10-15s > after printing > > "Creating initial udev device nodes:" > > Any known reason? should I upgrade udev? (030 installed) Well, 045 is the latest version, so 030 is a bit old :) thanks, greg k-h ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 start_udev very slow 2004-11-17 19:32 ` Linux 2.6.10-rc2 start_udev very slow Andrew Walrond 2004-11-17 23:13 ` Greg KH @ 2004-12-16 15:56 ` Greg KH 2004-12-16 20:57 ` Andrew Walrond 1 sibling, 1 reply; 86+ messages in thread From: Greg KH @ 2004-12-16 15:56 UTC (permalink / raw) To: Andrew Walrond; +Cc: linux-kernel On Wed, Nov 17, 2004 at 07:32:47PM +0000, Andrew Walrond wrote: > I noticed that when upgrading from 2.6.8.1 to rc2, start_udev now takes 10-15s > after printing > > "Creating initial udev device nodes:" udevstart should be used instead of start_udev. It goes a lot faster and fixes odd startup dependancies that are needed. > Any known reason? should I upgrade udev? (030 installed) That's a very old version of udev. 049 is the current release. Lots of stuff has changed since then that might help you out :) good luck, greg k-h ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 start_udev very slow 2004-12-16 15:56 ` Greg KH @ 2004-12-16 20:57 ` Andrew Walrond 2004-12-16 21:11 ` Greg KH 0 siblings, 1 reply; 86+ messages in thread From: Andrew Walrond @ 2004-12-16 20:57 UTC (permalink / raw) To: linux-kernel; +Cc: Greg KH On Thursday 16 Dec 2004 15:56, Greg KH wrote: > On Wed, Nov 17, 2004 at 07:32:47PM +0000, Andrew Walrond wrote: > > I noticed that when upgrading from 2.6.8.1 to rc2, start_udev now takes > > 10-15s after printing > > > > "Creating initial udev device nodes:" > > udevstart should be used instead of start_udev. It goes a lot faster > and fixes odd startup dependancies that are needed. I'm using 048 at the moment. Works great, but if I replace start_udev with udevstart in my init scripts as you suggest, it all goes horribly wrong... udevstart is just a symlink to udev, but start_udev is a script which: - mounts ramfs - runs udevstart - makes some extra nodes not exported by sysfs (stdin/out/err) So I guess I need to migrate this functionality to my init system before I can call udevstart directly. Is that list of 'extra nodes not exported by sysfs likely to change?' Andrew Walrond ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 start_udev very slow 2004-12-16 20:57 ` Andrew Walrond @ 2004-12-16 21:11 ` Greg KH 2004-12-16 21:20 ` Andrew Walrond 0 siblings, 1 reply; 86+ messages in thread From: Greg KH @ 2004-12-16 21:11 UTC (permalink / raw) To: Andrew Walrond; +Cc: linux-kernel On Thu, Dec 16, 2004 at 08:57:25PM +0000, Andrew Walrond wrote: > On Thursday 16 Dec 2004 15:56, Greg KH wrote: > > On Wed, Nov 17, 2004 at 07:32:47PM +0000, Andrew Walrond wrote: > > > I noticed that when upgrading from 2.6.8.1 to rc2, start_udev now takes > > > 10-15s after printing > > > > > > "Creating initial udev device nodes:" > > > > udevstart should be used instead of start_udev. It goes a lot faster > > and fixes odd startup dependancies that are needed. > > I'm using 048 at the moment. Works great, but if I replace start_udev with > udevstart in my init scripts as you suggest, it all goes horribly wrong... > > udevstart is just a symlink to udev, but start_udev is a script which: > - mounts ramfs > - runs udevstart > - makes some extra nodes not exported by sysfs (stdin/out/err) Then I don't really know what to recommend. As the udev startup logic is very tightly tied to how the distro is set up, I recommend using whatever they do, and ignore what I say :) > So I guess I need to migrate this functionality to my init system before I can > call udevstart directly. I'd suggest just leaving it alone. > > Is that list of 'extra nodes not exported by sysfs likely to change?' What does that list contain? thanks, greg k-h ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 start_udev very slow 2004-12-16 21:11 ` Greg KH @ 2004-12-16 21:20 ` Andrew Walrond 2004-12-16 21:46 ` Greg KH 0 siblings, 1 reply; 86+ messages in thread From: Andrew Walrond @ 2004-12-16 21:20 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel On Thursday 16 Dec 2004 21:11, Greg KH wrote: > > Then I don't really know what to recommend. As the udev startup logic > is very tightly tied to how the distro is set up, I recommend using > whatever they do, and ignore what I say :) They is me; My distro is Rubyx :) > > > So I guess I need to migrate this functionality to my init system before > > I can call udevstart directly. > > I'd suggest just leaving it alone. Where's the fun in that? > > > Is that list of 'extra nodes not exported by sysfs likely to change?' > > What does that list contain? make_extra_nodes () { # there are a few things that sysfs does not export for us. # these things go here (and remember to remove them in # remove_extra_nodes() # # Thanks to Gentoo for the initial list of these. ln -snf /proc/self/fd $udev_root/fd ln -snf /proc/self/fd/0 $udev_root/stdin ln -snf /proc/self/fd/1 $udev_root/stdout ln -snf /proc/self/fd/2 $udev_root/stderr ln -snf /proc/kcore $udev_root/core mkdir $udev_root/pts mkdir $udev_root/shm } Andrew Walrond ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 start_udev very slow 2004-12-16 21:20 ` Andrew Walrond @ 2004-12-16 21:46 ` Greg KH 0 siblings, 0 replies; 86+ messages in thread From: Greg KH @ 2004-12-16 21:46 UTC (permalink / raw) To: Andrew Walrond; +Cc: linux-kernel On Thu, Dec 16, 2004 at 09:20:33PM +0000, Andrew Walrond wrote: > On Thursday 16 Dec 2004 21:11, Greg KH wrote: > > > > Then I don't really know what to recommend. As the udev startup logic > > is very tightly tied to how the distro is set up, I recommend using > > whatever they do, and ignore what I say :) > > They is me; My distro is Rubyx :) Heh, ok. Then stick with what you are doing, as long as you rely on udevstart to create your device nodes, and not try to do it with a bash script (which is what the original start_udev did), you should be fine. > > > Is that list of 'extra nodes not exported by sysfs likely to change?' > > > > What does that list contain? > > make_extra_nodes () { > # there are a few things that sysfs does not export for us. > # these things go here (and remember to remove them in > # remove_extra_nodes() > # > # Thanks to Gentoo for the initial list of these. > ln -snf /proc/self/fd $udev_root/fd > ln -snf /proc/self/fd/0 $udev_root/stdin > ln -snf /proc/self/fd/1 $udev_root/stdout > ln -snf /proc/self/fd/2 $udev_root/stderr > ln -snf /proc/kcore $udev_root/core Those aren't nodes, they are symlinks. No way for udev to know about them :) > mkdir $udev_root/pts > mkdir $udev_root/shm Subdirs for mounting file systems on, again, no way udev can know about them. So, it looks like udev is really creating every device node you need. thanks, greg k-h ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds ` (8 preceding siblings ...) 2004-11-17 19:32 ` Linux 2.6.10-rc2 start_udev very slow Andrew Walrond @ 2004-11-18 17:26 ` Vladimir B. Savkin 2004-11-18 17:59 ` Linus Torvalds 9 siblings, 1 reply; 86+ messages in thread From: Vladimir B. Savkin @ 2004-11-18 17:26 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List On Sun, Nov 14, 2004 at 06:49:04PM -0800, Linus Torvalds wrote: > > Ok, the -rc2 changes are almost as big as the -rc1 changes, and we should > now calm down, so I do not want to see anything but bug-fixes until 2.6.10 > is released. Otherwise we'll never get there. Please accept this fix: [PATCH] fix posix_locks_deadlock(). "blocked_list" may contain both leases and flock locks. Since the latter in particular do not initialize the fl_owner field, we have to beware not to call posix_same_owner() on them. Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no> --- locks.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) Index: linux-2.6.9-rc2-up/fs/locks.c =================================================================== --- linux-2.6.9-rc2-up.orig/fs/locks.c 2004-09-19 13:55:33.680258334 -0700 +++ linux-2.6.9-rc2-up/fs/locks.c 2004-09-19 15:37:32.595634679 -0700 @@ -634,14 +634,13 @@ int posix_locks_deadlock(struct file_lock *caller_fl, struct file_lock *block_fl) { - struct list_head *tmp; + struct file_lock *fl; next_task: if (posix_same_owner(caller_fl, block_fl)) return 1; - list_for_each(tmp, &blocked_list) { - struct file_lock *fl = list_entry(tmp, struct file_lock, fl_link); - if (posix_same_owner(fl, block_fl)) { + list_for_each_entry(fl, &blocked_list, fl_link) { + if (IS_POSIX(fl) && posix_same_owner(fl, block_fl)) { fl = fl->fl_next; block_fl = fl; goto next_task; ~ :wq With best regards, Vladimir Savkin. ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-18 17:26 ` Linux 2.6.10-rc2 Vladimir B. Savkin @ 2004-11-18 17:59 ` Linus Torvalds 2004-11-18 18:01 ` Matthew Wilcox 0 siblings, 1 reply; 86+ messages in thread From: Linus Torvalds @ 2004-11-18 17:59 UTC (permalink / raw) To: Vladimir B. Savkin, Matthew Wilcox; +Cc: Kernel Mailing List On Thu, 18 Nov 2004, Vladimir B. Savkin wrote: > > Please accept this fix: > > [PATCH] fix posix_locks_deadlock(). > > "blocked_list" may contain both leases and flock locks. Since the latter in > particular do not initialize the fl_owner field, we have to beware not to > call posix_same_owner() on them. Nope. It got fixed differently: by only adding POSIX locks to the list. See locks_insert_block(). Since a non-posix lock cannot be blocked by a POSIX lock, the "if (IS_POSIX(blocker))" test should make sure we're always proper. At least that's Willy claims. If you think he's wrong, holler. Willy Cc'd, once more. Linus ---- > Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no> > --- > locks.c | 7 +++---- > 1 files changed, 3 insertions(+), 4 deletions(-) > > Index: linux-2.6.9-rc2-up/fs/locks.c > =================================================================== > --- linux-2.6.9-rc2-up.orig/fs/locks.c 2004-09-19 13:55:33.680258334 -0700 > +++ linux-2.6.9-rc2-up/fs/locks.c 2004-09-19 15:37:32.595634679 -0700 > @@ -634,14 +634,13 @@ > int posix_locks_deadlock(struct file_lock *caller_fl, > struct file_lock *block_fl) > { > - struct list_head *tmp; > + struct file_lock *fl; > > next_task: > if (posix_same_owner(caller_fl, block_fl)) > return 1; > - list_for_each(tmp, &blocked_list) { > - struct file_lock *fl = list_entry(tmp, struct file_lock, fl_link); > - if (posix_same_owner(fl, block_fl)) { > + list_for_each_entry(fl, &blocked_list, fl_link) { > + if (IS_POSIX(fl) && posix_same_owner(fl, block_fl)) { > fl = fl->fl_next; > block_fl = fl; > goto next_task; > > ~ > :wq > With best regards, > Vladimir Savkin. > ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-18 17:59 ` Linus Torvalds @ 2004-11-18 18:01 ` Matthew Wilcox 2004-11-19 8:43 ` Vladimir B. Savkin 0 siblings, 1 reply; 86+ messages in thread From: Matthew Wilcox @ 2004-11-18 18:01 UTC (permalink / raw) To: Linus Torvalds; +Cc: Vladimir B. Savkin, Matthew Wilcox, Kernel Mailing List On Thu, Nov 18, 2004 at 09:59:00AM -0800, Linus Torvalds wrote: > Nope. It got fixed differently: by only adding POSIX locks to the list. > See locks_insert_block(). Since a non-posix lock cannot be blocked by a > POSIX lock, the "if (IS_POSIX(blocker))" test should make sure we're > always proper. > > At least that's Willy claims. If you think he's wrong, holler. > > Willy Cc'd, once more. The problem certainly should have been fixed. I'd like to know if it still occurs. -- "Next the statesmen will invent cheap lies, putting the blame upon the nation that is attacked, and every man will be glad of those conscience-soothing falsities, and will diligently study them, and refuse to examine any refutations of them; and thus he will by and by convince himself that the war is just, and will thank God for the better sleep he enjoys after this process of grotesque self-deception." -- Mark Twain ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: Linux 2.6.10-rc2 2004-11-18 18:01 ` Matthew Wilcox @ 2004-11-19 8:43 ` Vladimir B. Savkin 0 siblings, 0 replies; 86+ messages in thread From: Vladimir B. Savkin @ 2004-11-19 8:43 UTC (permalink / raw) To: Matthew Wilcox; +Cc: Linus Torvalds, Matthew Wilcox, Kernel Mailing List On Thu, Nov 18, 2004 at 06:01:00PM +0000, Matthew Wilcox wrote: > On Thu, Nov 18, 2004 at 09:59:00AM -0800, Linus Torvalds wrote: > > Nope. It got fixed differently: by only adding POSIX locks to the list. > > See locks_insert_block(). Since a non-posix lock cannot be blocked by a > > POSIX lock, the "if (IS_POSIX(blocker))" test should make sure we're > > always proper. > > > > At least that's Willy claims. If you think he's wrong, holler. > > > > Willy Cc'd, once more. > > The problem certainly should have been fixed. I'd like to know if it > still occurs. > It does not, thank you. ~ :wq With best regards, Vladimir Savkin. ^ permalink raw reply [flat|nested] 86+ messages in thread
[parent not found: <F7DC2337C7631D4386A2DF6E8FB22B30020B7225@hdsmsx401.amr.corp.intel.com>]
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) [not found] <F7DC2337C7631D4386A2DF6E8FB22B30020B7225@hdsmsx401.amr.corp.intel.com> @ 2004-11-19 15:57 ` Adrian Bunk 2004-11-19 17:36 ` Linus Torvalds 0 siblings, 1 reply; 86+ messages in thread From: Adrian Bunk @ 2004-11-19 15:57 UTC (permalink / raw) To: Brown, Len Cc: Chris Wright, Linus Torvalds, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Fri, Nov 19, 2004 at 10:27:59AM -0500, Brown, Len wrote: > > >It doesn't compile since I don't have APIC support enabled. > > can you add it APIC support for the purpose of the test, > or should I send you a patch with print_PIC() moved > out of io_apic.c? It's not a problem (I just wasn't sure, whether enabling APIC might change something relevant. Full dmesg output is below (this is with Linus' patch applied). > thanks, > -Len cu Adrian BTW: The only reason why I have ACPI enabled is that my computer turns off after "halt"... Linux version 2.6.10-rc2 (bunk@r063144.stusta.swh.mhn.de) (gcc version 3.4.2 (Debian 3.4.2-3)) #14 Fri Nov 19 16:41:20 CET 2004 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000000fff0000 (usable) BIOS-e820: 000000000fff0000 - 000000000fff8000 (ACPI data) BIOS-e820: 000000000fff8000 - 0000000010000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000ffee0000 - 00000000fff00000 (reserved) BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved) 255MB LOWMEM available. found SMP MP-table at 000fbc70 On node 0 totalpages: 65520 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 61424 pages, LIFO batch:14 HighMem zone: 0 pages, LIFO batch:1 DMI 2.3 present. ACPI: RSDP (v000 AMI ) @ 0x000fab70 ACPI: RSDT (v001 AMIINT SiS740XX 0x00001000 MSFT 0x0100000b) @ 0x0fff0000 ACPI: FADT (v001 AMIINT SiS740XX 0x00000011 MSFT 0x0100000b) @ 0x0fff0030 ACPI: MADT (v001 AMIINT SiS740XX 0x00001000 MSFT 0x0100000b) @ 0x0fff00c0 ACPI: DSDT (v001 SiS 746 0x00000100 MSFT 0x0100000d) @ 0x00000000 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 6:8 APIC version 16 ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Enabling APIC mode: Flat. Using 1 I/O APICs Using ACPI (MADT) for SMP configuration information Built 1 zonelists Kernel command line: BOOT_IMAGE=test ro root=301 mode=1280x1024@760 apic=debug acpi_dbg_level=1 mapped APIC to ffffd000 (fee00000) mapped IOAPIC to ffffc000 (fec00000) Initializing CPU#0 CPU 0 irqstacks, hard=c0476000 soft=c0475000 PID hash table entries: 1024 (order: 10, 16384 bytes) Detected 1800.017 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 255264k/262080k available (2376k kernel code, 6248k reserved, 972k data, 164k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay loop... 3563.52 BogoMIPS (lpj=1781760) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: After generic identify, caps: 0383fbff c1c3fbff 00000000 00000000 CPU: After vendor identify, caps: 0383fbff c1c3fbff 00000000 00000000 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 256K (64 bytes/line) CPU: After all inits, caps: 0383fbff c1c3fbff 00000000 00000020 CPU: AMD Athlon(tm) XP 2200+ stepping 01 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. Getting VERSION: 40010 Getting VERSION: 40010 Getting ID: 0 Getting LVT0: 700 Getting LVT1: 10400 enabled ExtINT on CPU#0 ENABLING IO-APIC IRQs Synchronizing Arb IDs. init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=0x31 pin1=2 pin2=-1 Using local APIC timer interrupts. calibrating APIC timer ... ..... CPU clock speed is 1799.0641 MHz. ..... host bus clock speed is 266.0613 MHz. NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfdb31, last bus=2 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20041105 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing printing PIC contents ... PIC IMR: fffe ... PIC IRR: 0000 ... PIC ISR: 0000 ... PIC ELCR: 0c68 ACPI: PCI Root Bridge [PCI0] (00:00) PCI: Probing PCI hardware (bus 00) Uncovering SIS963 that hid as a SIS503 (compatible=0) Enabling SiS 96x SMBus. ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 *6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *10 11 12 14 15) SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing printing PIC contents ... PIC IMR: fffe ... PIC IRR: 0c00 ... PIC ISR: 0000 ... PIC ELCR: 0c68 ** PCI interrupts are no longer routed automatically. If this ** causes a device to stop working, it is probably because the ** driver failed to call pci_enable_device(). As a temporary ** workaround, the "pci=routeirq" argument restores the old ** behavior. If this argument makes the device work again, ** please email the output of "lspci" to bjorn.helgaas@hp.com ** so I can fix the driver. number of MP IRQ sources: 15. number of IO-APIC #2 registers: 24. testing the IO APIC....................... IO APIC #2...... .... register #00: 02000000 ....... : physical APIC id: 02 ....... : Delivery Type: 0 ....... : LTS : 0 .... register #01: 00178011 ....... : max redirection entries: 0017 ....... : PRQ implemented: 1 ....... : IO APIC version: 0011 .... register #02: 00000000 ....... : arbitration: 00 .... IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 001 01 0 0 0 0 0 1 1 39 02 001 01 0 0 0 0 0 1 1 31 03 001 01 0 0 0 0 0 1 1 41 04 001 01 0 0 0 0 0 1 1 49 05 001 01 0 0 0 0 0 1 1 51 06 001 01 0 0 0 0 0 1 1 59 07 001 01 0 0 0 0 0 1 1 61 08 001 01 0 0 0 0 0 1 1 69 09 001 01 0 1 0 1 0 1 1 71 0a 001 01 0 0 0 0 0 1 1 79 0b 001 01 0 0 0 0 0 1 1 81 0c 001 01 0 0 0 0 0 1 1 89 0d 001 01 0 0 0 0 0 1 1 91 0e 001 01 0 0 0 0 0 1 1 99 0f 001 01 0 0 0 0 0 1 1 A1 10 000 00 1 0 0 0 0 0 0 00 11 000 00 1 0 0 0 0 0 0 00 12 000 00 1 0 0 0 0 0 0 00 13 000 00 1 0 0 0 0 0 0 00 14 000 00 1 0 0 0 0 0 0 00 15 000 00 1 0 0 0 0 0 0 00 16 000 00 1 0 0 0 0 0 0 00 17 000 00 1 0 0 0 0 0 0 00 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ5 -> 0:5 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ10 -> 0:10 IRQ11 -> 0:11 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ15 -> 0:15 .................................... done. printing PIC contents ... PIC IMR: fffe ... PIC IRR: 0c68 ... PIC ISR: 0000 ... PIC ELCR: 0c68 NTFS driver 2.1.22 [Flags: R/O]. IOAPIC[0]: Set PCI routing entry (2-16 -> 0xa9 -> IRQ 16 Mode:1 Active:1) ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16 radeonfb: Found Intel x86 BIOS ROM Image radeonfb: Retreived PLL infos from BIOS radeonfb: Reference=27.00 MHz (RefDiv=60) Memory=155.00 Mhz, System=155.00 MHz radeonfb: PLL min 12000 max 35000 radeonfb: Monitor 1 type DFP found radeonfb: EDID probed radeonfb: Monitor 2 type no found Console: switching to colour frame buffer device 160x64 radeonfb: ATI Radeon QY DDR SGRAM 64 MB lp: driver loaded but no devices found Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 Linux agpgart interface v0.100 (c) Dave Jones agpgart: Detected SiS 746 chipset agpgart: Maximum main memory to use for agp memory: 203M agpgart: AGP aperture is 64M @ 0xd0000000 ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16 [drm] Initialized radeon 1.11.0 20020828 on minor 0: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE] serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP] parport0: irq 7 detected lp0: using parport0 (polling). io scheduler noop registered io scheduler cfq registered elevator: using cfq as default io scheduler floppy0: no floppy controllers found loop: loaded (max 8 devices) sis900.c: v1.08.07 11/02/2003 IOAPIC[0]: Set PCI routing entry (2-19 -> 0xb1 -> IRQ 19 Mode:1 Active:1) ACPI: PCI interrupt 0000:00:04.0[A] -> GSI 19 (level, low) -> IRQ 19 eth0: Realtek RTL8201 PHY transceiver found at address 1. eth0: Using transceiver found at address 1 as default eth0: SiS 900 PCI Fast Ethernet at 0xdc00, IRQ 19, 00:00:00:00:00:00. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SIS5513: IDE controller at PCI slot 0000:00:02.5 SIS5513: chipset revision 0 SIS5513: not 100% native mode: will probe irqs later SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller ide0: BM-DMA at 0xff00-0xff07, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0xff08-0xff0f, BIOS settings: hdc:DMA, hdd:DMA Probing IDE interface ide0... hda: SAMSUNG SV1604N, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... hdc: LITE-ON LTR-12101B, ATAPI CD/DVD-ROM drive ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 1024KiB hda: 312581808 sectors (160041 MB) w/2048KiB Cache, CHS=19457/255/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 32X CD-ROM CD-R/RW drive, 2048kB Cache, DMA Uniform CD-ROM driver Revision: 3.20 IOAPIC[0]: Set PCI routing entry (2-23 -> 0xb9 -> IRQ 23 Mode:1 Active:1) ACPI: PCI interrupt 0000:00:03.2[D] -> GSI 23 (level, low) -> IRQ 23 ehci_hcd 0000:00:03.2: Silicon Integrated Systems [SiS] USB 2.0 Controller ehci_hcd 0000:00:03.2: irq 23, pci mem 0xcffff000 ehci_hcd 0000:00:03.2: new USB bus registered, assigned bus number 1 PCI: cache line size of 64 is not supported by device 0000:00:03.2 ehci_hcd 0000:00:03.2: USB 2.0 initialized, EHCI 1.00, driver 26 Oct 2004 hub 1-0:1.0: USB hub found hub 1-0:1.0: 6 ports detected Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 input: ImPS/2 Generic Wheel Mouse on isa0060/serio1 i2c /dev entries driver Advanced Linux Sound Architecture Driver Version 1.0.6 (Sun Aug 15 07:17:53 2004 UTC). ACPI: PCI interrupt 0000:00:0c.0[A] -> GSI 16 (level, low) -> IRQ 16 ALSA device list: #0: Ensoniq AudioPCI ENS1371 at 0xd800, irq 16 NET: Registered protocol family 2 IP: routing cache hash table of 2048 buckets, 16Kbytes TCP: Hash tables configured (established 16384 bind 32768) ip_conntrack version 2.1 (2047 buckets, 16376 max) - 176 bytes per conntrack ip_tables: (C) 2000-2002 Netfilter core team NET: Registered protocol family 1 NET: Registered protocol family 17 BIOS EDD facility v0.16 2004-Jun-25, 1 devices found VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 164k freed Adding 987988k swap on /dev/hda2. Priority:-1 extents:1 eth0: Media Link On 10mbps half-duplex agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0. agpgart: Putting AGP V3 device at 0000:00:00.0 into 4x mode agpgart: SiS delay workaround: giving bridge time to recover. agpgart: Putting AGP V3 device at 0000:01:00.0 into 4x mode ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-19 15:57 ` 2.6.10-rc2 doesn't boot (if no floppy device) Adrian Bunk @ 2004-11-19 17:36 ` Linus Torvalds 2004-11-19 18:51 ` Len Brown 2004-11-19 19:11 ` Adrian Bunk 0 siblings, 2 replies; 86+ messages in thread From: Linus Torvalds @ 2004-11-19 17:36 UTC (permalink / raw) To: Adrian Bunk Cc: Brown, Len, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Fri, 19 Nov 2004, Adrian Bunk wrote: > > It's not a problem (I just wasn't sure, whether enabling APIC might > change something relevant. It did. You no longer show the problem. No irq storm. So can you disable APIC again, and just remove the non-relevant APIC print calls to get it to compile? Linus ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-19 17:36 ` Linus Torvalds @ 2004-11-19 18:51 ` Len Brown 2004-11-19 19:11 ` Adrian Bunk 1 sibling, 0 replies; 86+ messages in thread From: Len Brown @ 2004-11-19 18:51 UTC (permalink / raw) To: Linus Torvalds Cc: Adrian Bunk, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Fri, 2004-11-19 at 12:36, Linus Torvalds wrote: > > On Fri, 19 Nov 2004, Adrian Bunk wrote: > > > > It's not a problem (I just wasn't sure, whether enabling APIC might > > change something relevant. > > It did. You no longer show the problem. No irq storm. > > So can you disable APIC again, and just remove the non-relevant APIC > print > calls to get it to compile? I think if you boot the kernel you have with "nolapic" that will be a valid test for us to examine PIC mode. thanks, -Len ps. I'm curious why you were running with !IOAPIC kernel suport on a system which has an IOAPIC. ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-19 17:36 ` Linus Torvalds 2004-11-19 18:51 ` Len Brown @ 2004-11-19 19:11 ` Adrian Bunk 2004-11-19 21:05 ` Len Brown 1 sibling, 1 reply; 86+ messages in thread From: Adrian Bunk @ 2004-11-19 19:11 UTC (permalink / raw) To: Linus Torvalds Cc: Brown, Len, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Fri, Nov 19, 2004 at 09:36:12AM -0800, Linus Torvalds wrote: > > > On Fri, 19 Nov 2004, Adrian Bunk wrote: > > > > It's not a problem (I just wasn't sure, whether enabling APIC might > > change something relevant. > > It did. You no longer show the problem. No irq storm. > > So can you disable APIC again, and just remove the non-relevant APIC print > calls to get it to compile? dmesg is below. > Linus cu Adrian Linux version 2.6.10-rc2 (bunk@r063144.stusta.swh.mhn.de) (gcc version 3.4.2 (Debian 3.4.2-3)) #16 Fri Nov 19 19:40:36 CET 2004 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000000fff0000 (usable) BIOS-e820: 000000000fff0000 - 000000000fff8000 (ACPI data) BIOS-e820: 000000000fff8000 - 0000000010000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000ffee0000 - 00000000fff00000 (reserved) BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved) 255MB LOWMEM available. On node 0 totalpages: 65520 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 61424 pages, LIFO batch:14 HighMem zone: 0 pages, LIFO batch:1 DMI 2.3 present. ACPI: RSDP (v000 AMI ) @ 0x000fab70 ACPI: RSDT (v001 AMIINT SiS740XX 0x00001000 MSFT 0x0100000b) @ 0x0fff0000 ACPI: FADT (v001 AMIINT SiS740XX 0x00000011 MSFT 0x0100000b) @ 0x0fff0030 ACPI: MADT (v001 AMIINT SiS740XX 0x00001000 MSFT 0x0100000b) @ 0x0fff00c0 ACPI: DSDT (v001 SiS 746 0x00000100 MSFT 0x0100000d) @ 0x00000000 Built 1 zonelists Kernel command line: BOOT_IMAGE=test ro root=301 mode=1280x1024@760 apic=debug acpi_dbg_level=1 Initializing CPU#0 CPU 0 irqstacks, hard=c0466000 soft=c0465000 PID hash table entries: 1024 (order: 10, 16384 bytes) Detected 1800.276 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 255340k/262080k available (2364k kernel code, 6172k reserved, 943k data, 144k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay loop... 3563.52 BogoMIPS (lpj=1781760) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: After generic identify, caps: 0383fbff c1c3fbff 00000000 00000000 CPU: After vendor identify, caps: 0383fbff c1c3fbff 00000000 00000000 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 256K (64 bytes/line) CPU: After all inits, caps: 0383fbff c1c3fbff 00000000 00000020 CPU: AMD Athlon(tm) XP 2200+ stepping 01 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. ACPI: IRQ9 SCI: Edge set to Level Trigger. NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfdb31, last bus=2 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20041105 ACPI: Interpreter enabled ACPI: Using PIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (00:00) PCI: Probing PCI hardware (bus 00) Uncovering SIS963 that hid as a SIS503 (compatible=0) Enabling SiS 96x SMBus. ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 *6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *10 11 12 14 15) SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing ** PCI interrupts are no longer routed automatically. If this ** causes a device to stop working, it is probably because the ** driver failed to call pci_enable_device(). As a temporary ** workaround, the "pci=routeirq" argument restores the old ** behavior. If this argument makes the device work again, ** please email the output of "lspci" to bjorn.helgaas@hp.com ** so I can fix the driver. NTFS driver 2.1.22 [Flags: R/O]. ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 PCI: setting IRQ 11 as level-triggered ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 radeonfb: Found Intel x86 BIOS ROM Image radeonfb: Retreived PLL infos from BIOS radeonfb: Reference=27.00 MHz (RefDiv=60) Memory=155.00 Mhz, System=155.00 MHz radeonfb: PLL min 12000 max 35000 radeonfb: Monitor 1 type DFP found radeonfb: EDID probed radeonfb: Monitor 2 type no found Console: switching to colour frame buffer device 160x64 radeonfb: ATI Radeon QY DDR SGRAM 64 MB lp: driver loaded but no devices found Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 Linux agpgart interface v0.100 (c) Dave Jones agpgart: Detected SiS 746 chipset agpgart: Maximum main memory to use for agp memory: 203M agpgart: AGP aperture is 64M @ 0xd0000000 ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11 [drm] Initialized radeon 1.11.0 20020828 on minor 0: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE] serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP] parport0: irq 7 detected lp0: using parport0 (polling). io scheduler noop registered io scheduler cfq registered elevator: using cfq as default io scheduler irq 6: nobody cared! [<c012c0d4>] __report_bad_irq+0x24/0x80 [<c012c1e1>] note_interrupt+0x81/0xa0 [<c012bc13>] __do_IRQ+0x143/0x170 [<c01040ce>] do_IRQ+0x3e/0x60 ======================= [<c010271a>] common_interrupt+0x1a/0x20 [<c0116720>] __do_softirq+0x30/0x90 [<c01041d1>] do_softirq+0x41/0x50 ======================= [<c012ba55>] irq_exit+0x35/0x40 [<c01040d5>] do_IRQ+0x45/0x60 [<c010271a>] common_interrupt+0x1a/0x20 [<c012be74>] setup_irq+0x94/0x110 [<c0258300>] floppy_hardint+0x0/0x120 [<c012c07c>] request_irq+0x7c/0xb0 [<c02584df>] fd_request_irq+0x2f/0x60 [<c025edab>] floppy_grab_irq_and_dma+0x4b/0x3b0 [<c044ec5c>] floppy_init+0x1ec/0x5b0 [<c025ece0>] floppy_find+0x0/0x80 [<c043c813>] do_initcalls+0x53/0xb0 [<c0100400>] init+0x0/0x110 [<c0100400>] init+0x0/0x110 [<c010042a>] init+0x2a/0x110 [<c0100818>] kernel_thread_helper+0x0/0x18 [<c010081d>] kernel_thread_helper+0x5/0x18 handlers: [<c0258300>] (floppy_hardint+0x0/0x120) Disabling IRQ #6 floppy0: no floppy controllers found loop: loaded (max 8 devices) sis900.c: v1.08.07 11/02/2003 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 6 PCI: setting IRQ 6 as level-triggered ACPI: PCI interrupt 0000:00:04.0[A] -> GSI 6 (level, low) -> IRQ 6 eth0: Realtek RTL8201 PHY transceiver found at address 1. eth0: Using transceiver found at address 1 as default eth0: SiS 900 PCI Fast Ethernet at 0xdc00, IRQ 6, 00:00:00:00:00:00. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SIS5513: IDE controller at PCI slot 0000:00:02.5 SIS5513: chipset revision 0 SIS5513: not 100% native mode: will probe irqs later SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller ide0: BM-DMA at 0xff00-0xff07, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0xff08-0xff0f, BIOS settings: hdc:DMA, hdd:DMA Probing IDE interface ide0... hda: SAMSUNG SV1604N, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... hdc: LITE-ON LTR-12101B, ATAPI CD/DVD-ROM drive ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 1024KiB hda: 312581808 sectors (160041 MB) w/2048KiB Cache, CHS=19457/255/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 32X CD-ROM CD-R/RW drive, 2048kB Cache, DMA Uniform CD-ROM driver Revision: 3.20 ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10 PCI: setting IRQ 10 as level-triggered ACPI: PCI interrupt 0000:00:03.2[D] -> GSI 10 (level, low) -> IRQ 10 ehci_hcd 0000:00:03.2: Silicon Integrated Systems [SiS] USB 2.0 Controller ehci_hcd 0000:00:03.2: irq 10, pci mem 0xcffff000 ehci_hcd 0000:00:03.2: new USB bus registered, assigned bus number 1 PCI: cache line size of 64 is not supported by device 0000:00:03.2 ehci_hcd 0000:00:03.2: USB 2.0 initialized, EHCI 1.00, driver 26 Oct 2004 hub 1-0:1.0: USB hub found hub 1-0:1.0: 6 ports detected Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 input: ImPS/2 Generic Wheel Mouse on isa0060/serio1 i2c /dev entries driver Advanced Linux Sound Architecture Driver Version 1.0.6 (Sun Aug 15 07:17:53 2004 UTC). ACPI: PCI interrupt 0000:00:0c.0[A] -> GSI 11 (level, low) -> IRQ 11 ALSA device list: #0: Ensoniq AudioPCI ENS1371 at 0xd800, irq 11 NET: Registered protocol family 2 IP: routing cache hash table of 2048 buckets, 16Kbytes TCP: Hash tables configured (established 16384 bind 32768) ip_conntrack version 2.1 (2047 buckets, 16376 max) - 176 bytes per conntrack ip_tables: (C) 2000-2002 Netfilter core team NET: Registered protocol family 1 NET: Registered protocol family 17 BIOS EDD facility v0.16 2004-Jun-25, 1 devices found VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 144k freed Adding 987988k swap on /dev/hda2. Priority:-1 extents:1 eth0: Media Link On 10mbps half-duplex ^ permalink raw reply [flat|nested] 86+ messages in thread
* Re: 2.6.10-rc2 doesn't boot (if no floppy device) 2004-11-19 19:11 ` Adrian Bunk @ 2004-11-19 21:05 ` Len Brown 0 siblings, 0 replies; 86+ messages in thread From: Len Brown @ 2004-11-19 21:05 UTC (permalink / raw) To: Adrian Bunk Cc: Linus Torvalds, Chris Wright, Bjorn Helgaas, Kernel Mailing List, Andrew Morton On Fri, 2004-11-19 at 14:11, Adrian Bunk wrote: > Kernel command line: BOOT_IMAGE=test ro root=301 mode=1280x1024@760 > apic=debug acpi_dbg_level=1 > ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 *6 7 10 11 12 14 15) > elevator: using cfq as default io scheduler > irq 6: nobody cared! > ... > ======================= > [<c012ba55>] irq_exit+0x35/0x40 > [<c01040d5>] do_IRQ+0x45/0x60 > [<c010271a>] common_interrupt+0x1a/0x20 > [<c012be74>] setup_irq+0x94/0x110 > [<c0258300>] floppy_hardint+0x0/0x120 > [<c012c07c>] request_irq+0x7c/0xb0 > [<c02584df>] fd_request_irq+0x2f/0x60 > [<c025edab>] floppy_grab_irq_and_dma+0x4b/0x3b0 > [<c044ec5c>] floppy_init+0x1ec/0x5b0 > [<c025ece0>] floppy_find+0x0/0x80 > [<c043c813>] do_initcalls+0x53/0xb0 > [<c0100400>] init+0x0/0x110 > [<c0100400>] init+0x0/0x110 > [<c010042a>] init+0x2a/0x110 > [<c0100818>] kernel_thread_helper+0x0/0x18 > [<c010081d>] kernel_thread_helper+0x5/0x18 > handlers: > [<c0258300>] (floppy_hardint+0x0/0x120) > Disabling IRQ #6 > floppy0: no floppy controllers found > loop: loaded (max 8 devices) > sis900.c: v1.08.07 11/02/2003 > ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 6 > PCI: setting IRQ 6 as level-triggered > ACPI: PCI interrupt 0000:00:04.0[A] -> GSI 6 (level, low) -> IRQ 6 > eth0: Realtek RTL8201 PHY transceiver found at address 1. > eth0: Using transceiver found at address 1 as default > eth0: SiS 900 PCI Fast Ethernet at 0xdc00, IRQ 6, 00:00:00:00:00:00. ... Please verify that the patch is applied and working by excluding acpi_dbg_level=1 from the cmdline and verifying that you get some new "NOT disabled" lines in the dmesg. Please restore the IOAPIC support so we get the print_PIC lines back per the original debug patch, and boot with "nolapic" "apic=debug" "pci=routeirq" and send along the dmesg. This will tell us about the state of IRQ6 when we get it from the BIOS and how Linux changes it. Also, if you can send or point me the output from acpidmp, available in /usr/sbin or in pmtools: http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils/ I'd like to examine the ASL associated with the interrupt link that is camped on IRQ6. thanks, -Len ps. In addition to soft-power-off, I expect that ACPI is required to enable IOAPIC support on this system. ^ permalink raw reply [flat|nested] 86+ messages in thread
end of thread, other threads:[~2004-12-16 21:47 UTC | newest] Thread overview: 86+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-11-15 2:49 Linux 2.6.10-rc2 Linus Torvalds 2004-11-15 4:07 ` 2.6.10-rc2 doesn't boot Adrian Bunk 2004-11-15 4:48 ` Linus Torvalds 2004-11-15 5:29 ` Adrian Bunk 2004-11-15 23:27 ` Chris Wright 2004-11-15 23:58 ` Andrew Morton 2004-11-18 23:14 ` 2.6.10-rc2 doesn't boot (if no floppy device) Len Brown 2004-11-19 7:09 ` Chris Wright 2004-11-20 9:02 ` Len Brown 2004-11-20 12:40 ` Adrian Bunk 2004-11-20 18:28 ` Linus Torvalds 2004-11-20 19:10 ` Linus Torvalds 2004-11-22 19:55 ` Len Brown 2004-11-24 16:26 ` Alan Cox 2004-11-21 16:29 ` Adrian Bunk 2004-11-22 19:29 ` Len Brown 2004-11-22 20:02 ` Linus Torvalds 2004-11-22 20:10 ` Linus Torvalds 2004-11-22 20:38 ` Len Brown 2004-11-23 2:45 ` Linus Torvalds 2004-11-23 4:57 ` Linus Torvalds 2004-11-23 7:06 ` Len Brown 2004-11-23 20:13 ` Stian Jordet 2004-11-23 2:00 ` Chris Wright 2004-11-22 18:28 ` Len Brown 2004-11-23 0:46 ` Adrian Bunk 2004-11-23 1:07 ` why use ACPI (Re: 2.6.10-rc2 doesn't boot (if no floppy device)) Len Brown 2004-11-23 1:23 ` Dave Jones 2004-11-23 1:52 ` Adrian Bunk 2004-11-23 1:37 ` Adrian Bunk 2004-11-23 2:47 ` Len Brown 2004-11-23 2:50 ` Dave Jones 2004-11-23 3:13 ` Gene Heskett 2004-11-23 3:45 ` Dave Jones 2004-11-20 16:41 ` 2.6.10-rc2 doesn't boot (if no floppy device) Linus Torvalds 2004-11-22 19:07 ` Len Brown 2004-11-22 19:23 ` Linus Torvalds 2004-11-22 20:24 ` Len Brown 2004-11-22 20:31 ` Linus Torvalds 2004-11-22 20:36 ` Linus Torvalds 2004-11-22 20:54 ` Len Brown 2004-11-22 20:51 ` Len Brown 2004-11-23 1:58 ` Chris Wright 2004-11-19 13:47 ` Adrian Bunk 2004-11-23 1:57 ` Chris Wright 2004-11-15 7:25 ` 2.6.10-rc2 doesn't boot Andrew Morton 2004-11-15 10:26 ` Linux 2.6.10-rc2 Russell King 2004-11-15 11:24 ` Ben Dooks 2004-11-15 11:55 ` Nick Piggin 2004-11-15 20:20 ` Andrew Morton 2004-11-16 0:29 ` Linux 2.6.10-rc2 [dvb-bt8xx unload oops] Eyal Lebedinsky 2004-11-16 9:57 ` Eyal Lebedinsky 2004-11-17 23:17 ` Eyal Lebedinsky 2004-11-16 7:55 ` Linux 2.6.10-rc2 SAVAGEFB startup crash Philipp Matthias Hahn 2004-11-16 8:17 ` Colin Leroy 2004-11-16 12:43 ` Antonino A. Daplas 2004-11-16 17:27 ` Philipp Matthias Hahn 2004-11-16 21:20 ` Antonino A. Daplas 2004-11-17 11:55 ` Philipp Matthias Hahn 2004-11-16 21:43 ` Antonino A. Daplas 2004-11-16 16:25 ` Linux 2.6.10-rc2 Guido Guenther 2004-11-17 15:54 ` Andrew Walrond 2004-11-17 16:58 ` Linux 2.6.10-rc2 OOPS on boot with 3ware + reiserfs Vladimir B. Savkin [not found] ` <Pine.LNX.4.58.0411170935040.2222@ppc970.osdl.org> [not found] ` <20041118103526.GC26240@suse.de> 2004-11-18 16:02 ` Vladimir B. Savkin 2004-11-18 18:39 ` Jens Axboe 2004-11-18 19:10 ` Jens Axboe 2004-11-18 19:22 ` James Bottomley 2004-11-18 21:32 ` Jens Axboe 2004-11-18 21:39 ` James Bottomley 2004-11-19 8:40 ` Jens Axboe 2004-11-17 19:32 ` Linux 2.6.10-rc2 start_udev very slow Andrew Walrond 2004-11-17 23:13 ` Greg KH 2004-12-16 15:56 ` Greg KH 2004-12-16 20:57 ` Andrew Walrond 2004-12-16 21:11 ` Greg KH 2004-12-16 21:20 ` Andrew Walrond 2004-12-16 21:46 ` Greg KH 2004-11-18 17:26 ` Linux 2.6.10-rc2 Vladimir B. Savkin 2004-11-18 17:59 ` Linus Torvalds 2004-11-18 18:01 ` Matthew Wilcox 2004-11-19 8:43 ` Vladimir B. Savkin [not found] <F7DC2337C7631D4386A2DF6E8FB22B30020B7225@hdsmsx401.amr.corp.intel.com> 2004-11-19 15:57 ` 2.6.10-rc2 doesn't boot (if no floppy device) Adrian Bunk 2004-11-19 17:36 ` Linus Torvalds 2004-11-19 18:51 ` Len Brown 2004-11-19 19:11 ` Adrian Bunk 2004-11-19 21:05 ` Len Brown
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).