linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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  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: 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: 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 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 [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 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
  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 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 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 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
  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

* 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 [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 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
  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 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: 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: 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
  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

* 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-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  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 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 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 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-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-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-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-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 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: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: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-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 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: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: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: 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 (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-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-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: 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-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 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: 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: 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

* 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 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 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)
       [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

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