09 May, 2007

32 commits

  • Additions and removal from tty_drivers list were just done as well as
    iterating on it for /proc/tty/drivers generation.

    testing: modprobe/rmmod loop of simple module which does nothing but
    tty_register_driver() vs cat /proc/tty/drivers loop

    BUG: unable to handle kernel paging request at virtual address 6b6b6b6b
    printing eip:
    c01cefa7
    *pde = 00000000
    Oops: 0000 [#1]
    PREEMPT
    last sysfs file: devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/bInterfaceProtocol
    Modules linked in: ohci_hcd af_packet e1000 ehci_hcd uhci_hcd usbcore xfs
    CPU: 0
    EIP: 0060:[] Not tainted VLI
    EFLAGS: 00010297 (2.6.21-rc4-mm1 #4)
    EIP is at vsnprintf+0x3a4/0x5fc
    eax: 6b6b6b6b ebx: f6cb50f2 ecx: 6b6b6b6b edx: fffffffe
    esi: c0354700 edi: f6cb6000 ebp: 6b6b6b6b esp: f31f5e68
    ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
    Process cat (pid: 31864, ti=f31f4000 task=c1998030 task.ti=f31f4000)
    Stack: 00000000 c0103f20 c013003a c0103f20 00000000 f6cb50da 0000000a 00000f0e
    f6cb50f2 00000010 00000014 ffffffff ffffffff 00000007 c0354753 f6cb50f2
    f73e39dc f73e39dc 00000001 c0175416 f31f5ed8 f31f5ed4 0ee00000 f32090bc
    Call Trace:
    [] restore_nocheck+0x12/0x15
    [] mark_held_locks+0x6d/0x86
    [] restore_nocheck+0x12/0x15
    [] seq_printf+0x2e/0x52
    [] show_tty_range+0x35/0x1f3
    [] seq_printf+0x2e/0x52
    [] show_tty_driver+0x8a/0x1d9
    [] seq_read+0x70/0x2ba
    [] seq_read+0x0/0x2ba
    [] proc_reg_read+0x63/0x9f
    [] vfs_read+0x7d/0xb5
    [] proc_reg_read+0x0/0x9f
    [] sys_read+0x41/0x6a
    [] sysenter_past_esp+0x5f/0x99
    =======================
    Code: 00 8b 4d 04 e9 44 ff ff ff 8d 4d 04 89 4c 24 50 8b 6d 00 81 fd ff 0f 00 00 b8 a4 c1 35 c0 0f 46 e8 8b 54 24 2c 89 e9 89 c8 eb 06 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 89 c6 8b 44 24 28 89
    EIP: [] vsnprintf+0x3a4/0x5fc SS:ESP 0068:f31f5e68

    Signed-off-by: Alexey Dobriyan
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Remove do_sync_file_range() and convert callers to just use
    do_sync_mapping_range().

    Signed-off-by: Mark Fasheh
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Fasheh
     
  • cs5535_gpio, add MODULE_DEVICE_TABLE

    Signed-off-by: Jiri Slaby
    Cc: Ben Gardner
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • rocket, add MODULE_DEVICE_TABLE

    Signed-off-by: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • This patch moves the die notifier handling to common code. Previous
    various architectures had exactly the same code for it. Note that the new
    code is compiled unconditionally, this should be understood as an appel to
    the other architecture maintainer to implement support for it aswell (aka
    sprinkling a notify_die or two in the proper place)

    arm had a notifiy_die that did something totally different, I renamed it to
    arm_notify_die as part of the patch and made it static to the file it's
    declared and used at. avr32 used to pass slightly less information through
    this interface and I brought it into line with the other architectures.

    [akpm@linux-foundation.org: build fix]
    [akpm@linux-foundation.org: fix vmalloc_sync_all bustage]
    [bryan.wu@analog.com: fix vmalloc_sync_all in nommu]
    Signed-off-by: Christoph Hellwig
    Cc:
    Cc: Russell King
    Signed-off-by: Bryan Wu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • While researching the tty layer pid leaks I found a weird case in selinux when
    we drop a controlling tty because of inadequate permissions we don't do the
    normal hangup processing. Which is a problem if it happens the session leader
    has exec'd something that can no longer access the tty.

    We already have code in the kernel to handle this case in the form of the
    TIOCNOTTY ioctl. So this patch factors out a helper function that is the
    essence of that ioctl and calls it from the selinux code.

    This removes the inconsistency in handling dropping of a controlling tty and
    who knows it might even make some part of user space happy because it received
    a SIGHUP it was expecting.

    In addition since this removes the last user of proc_set_tty outside of
    tty_io.c proc_set_tty is made static and removed from tty.h

    Signed-off-by: Eric W. Biederman
    Acked-by: Alan Cox
    Cc: James Morris
    Cc: Stephen Smalley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • This patch should contain no functional changes.

    At some point I got confused and thought put_pid could not be called while a
    spin lock was held. While it may be nice to avoid that to reduce lock hold
    times put_pid can be safely called while we hold a spin lock.

    This patch removes all of the complications from the code introduced by my
    misunderstanding, making the code a little more readable.

    Signed-off-by: Eric W. Biederman
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • All of the users of proc_clear_tty are compiled into the kernel so exporting
    this symbol appears gratuitous.

    Signed-off-by: Eric W. Biederman
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The console subsystem already has an idea of a boot console, using the
    CON_BOOT flag. The implementation has some flaws though. The major
    problem is that presence of a boot console makes register_console() ignore
    any other console devices (unless explicitly specified on the kernel
    command line).

    This patch fixes the console selection code to *not* consider a boot
    console a full-featured one, so the first non-boot console registering will
    become the default console instead. This way the unregister call for the
    boot console in the register_console() function actually triggers and the
    handover from the boot console to the real console device works smoothly.
    Added a printk for the handover, so you know which console device the
    output goes to when the boot console stops printing messages.

    The disable_early_printk() call is obsolete with that patch, explicitly
    disabling the early console isn't needed any more as it works automagically
    with that patch.

    I've walked through the tree, dropped all disable_early_printk() instances
    found below arch/ and tagged the consoles with CON_BOOT if needed. The
    code is tested on x86, sh (thanks to Paul) and mips (thanks to Ralf).

    Changes to last version: Rediffed against -rc3, adapted to mips cleanups by
    Ralf, fixed "udbg-immortal" cmd line arg on powerpc.

    Signed-off-by: Gerd Hoffmann
    Acked-by: Paul Mundt
    Acked-by: Ralf Baechle
    Cc: Andi Kleen
    Cc: Alan Cox
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Jeremy Fitzhardinge
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gerd Hoffmann
     
  • Signed-off-by: Dale Farnsworth.org
    Cc: Alessandro Zummo
    Cc: David Brownell
    Cc: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dale Farnsworth
     
  • Add an RTC driver for Ricoh RS5C313 RTC chip.

    [akpm@linux-foundation.org: Zillions of coding-style fixes]
    [akpm@linux-foundation.org: build fixes]
    Signed-off-by: Nobuhiro Iwamatsu
    Cc: Alessandro Zummo
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nobuhiro Iwamatsu
     
  • The jsm driver doesn't currently use the uart_handle_*_change helper
    functions, which are the obvious place for things like linuxpps to tie
    into (which it now does of course), and as a result the jsm driver can
    not be used with linuxpps and anything else that ties into the
    serial_core helper functions. This patch adds calls to these helper
    functions whenever the value they manage changes. That actual storage
    of the state is not modified since the jsm driver caches the current
    settings (The 8250 driver reads them everytime a user asks for the
    state), and only updates them whenever they change.

    Signed-off-by: Len Sorensen
    Cc: Scott H Kilau
    Cc: Wendy Xiong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Len Sorensen
     
  • The jsm driver fails when you try to use the TIOCSSERIAL ioctl. The reason
    is that the driver never sets uart_port.uartclk, causing the data received
    using TIOCGSERIAL to not match the internal state of the driver. This
    patch fixes this problem by settings the uartclk to the value used by the
    serial_core (16 times the baud base).

    Signed-off-by: Len Sorensen
    Cc: Scott H Kilau
    Cc: Wendy Xiong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Len Sorensen
     
  • Switch from private uclong, etc over to standard types.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Klaus Kudielka
     
  • At least on x86_64 the present cyclades.h is broken due to the wrong size
    of uclong. This affects, of course, both the kernel and the user-level
    utilities. The symptom is that cyzload refuses to load the firmware. I
    also managed to freeze the machine when unloading the module.

    The patch below fixes this in an architecture-independent way. I have
    tested it with 2.6.19 and the driver works fine again with a Cyclades-Z on
    an Athlon 64 X2.

    [akpm@linux-foundation.org: fix warnings]

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Klaus Kudielka
     
  • Signed-off-by: Amit Choudhary
    Cc: Paul Fulghum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Amit Choudhary
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Signed-off-by: Robert P. J. Day
    Cc: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • WARNING: vmlinux - Section mismatch: reference to
    .init.text:eisa_root_register from .text between 'virtual_eisa_root_init' (at
    offset 0xc026b80f) and 'cpufreq_debug_disable_ratelimit'

    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • It misspelled "MODVERSIONS" preprocessor variable with "CONFIG_MODVERSIONS".
    Just kill it all.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • This patch kills the "ignoring return value of 'device_create_file'"
    warning message.

    Signed-off-by: Monakhov Dmitriy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitriy Monakhov
     
  • Cleaning up of pci_find_device in drivers/telephony/ixj.c.

    Signed-off-by: Surya Prabhakar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Surya
     
  • tAdd adds support for devices living in MMIO space to the Infineon TPM
    driver. These can be found on some of the newer HP ia64 systems.

    Signed-off-by: Alex Williamson
    Cc: Kylene Jo Hall
    Acked-by: Marcel Selhorst
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alex Williamson
     
  • PNP now initializes device dma masks, which prevents oopses when generic
    dma calls are made using pnp device nodes.

    This assumes PNP only uses ISA DMA, with 24 bit addresses; and that it's
    safe to init those masks for all devices (rather than finding out which
    devices have been assigned DMA channels, and handling only those).

    Signed-off-by: David Brownell
    Cc: Adam Belay
    Cc: Jaroslav Kysela
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Replace call_smp_function with stop_machine_run in the Intel RNG driver.

    CPU A has done read_lock(&lock)
    CPU B has done write_lock_irq(&lock) and is waiting for A to release the lock.

    A third CPU calls call_smp_function and issues the IPI. CPU A takes CPU
    C's IPI. CPU B is waiting with interrupts disabled and does not see the
    IPI. CPU C is stuck waiting for CPU B to respond to the IPI.

    Deadlock.

    The solution is to use stop_machine_run instead of call_smp_function
    (call_smp_function should not be called in situations where the CPUs may be
    suspended).

    [haruo.tomita@toshiba.co.jp: fix a typo in mod_init()]
    [haruo.tomita@toshiba.co.jp: fix memory leak]
    Signed-off-by: Prarit Bhargava
    Cc: Jan Beulich
    Cc: "Tomita, Haruo"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prarit Bhargava
     
  • This driver provides support for the Apple System Management Controller, which
    provides an accelerometer (Apple Sudden Motion Sensor), light sensors,
    temperature sensors, keyboard backlight control and fan control. Only
    Intel-based Apple's computers are supported (MacBook Pro, MacBook, MacMini).

    [bunk@stusta.de: make drivers/hwmon/applesmc.c:backlight_work stati]
    [khali@linux-fr.org: fix temperature attribute file names]
    Signed-off-by: Nicolas Boichat
    Cc: Jean Delvare
    Cc: Dmitry Torokhov
    Signed-off-by: Jean Delvare
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Boichat
     
  • - make needlessly global code static
    - remove the unused EXPORT_SYMBOL's

    Signed-off-by: Adrian Bunk
    Acked-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Add pci_remove handling to the driver, so it will clean up if
    the device is hot-removed.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • Convert over to the new NMI handling for getting IPMI watchdog timeouts via an
    NMI. This add config options to know if there is the ability to receive NMIs
    and if it has an NMI post processing call. Then it modifies the IPMI watchdog
    to take advantage of this so that it can know if an NMI comes in.

    It also adds testing that the IPMI NMI watchdog works.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The IPMI driver used enable_irq and disable_irq when it got into situations
    where it couldn't allocate memory; it did this to avoid having the interrupt
    just lock the machine when it couldn't get memory to perform the transaction
    to disable the interrupt.

    This patch modifies the driver to not use disable_irq and enable_irq. It
    instead sends the messages to the BMC to perform this operation. It also
    makes sure interrupts are cleanly disabled when the interface is shut down and
    cleans up some shutdown things that are no longer necessary.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • Add support for of_platform_driver to the ipmi_si module. When loading the
    module, the driver will be registered to of_platform. The driver will be
    probed for all devices with the type ipmi. It's supporting devices with
    compatible settings ipmi-kcs, ipmi-smic and ipmi-bt. Only ipmi-kcs could be
    tested.

    Signed-off-by: Christian Krafft
    Acked-by: Heiko J Schick
    Signed-off-by: Corey Minyard
    Acked-by: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • This is to fix many section mismatches of code related to memory hotplug.
    I checked compile with memory hotplug on/off on ia64 and x86-64 box.

    Signed-off-by: Yasunori Goto
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasunori Goto
     

08 May, 2007

8 commits

  • Signed-off-by: Martin Habets
    Signed-off-by: David S. Miller

    Martin Habets
     
  • Noticed by Meelis Roos.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/i915: Add 965GM pci id update
    drm: just use io_remap_pfn_range on all archs..
    drm: fix DRM_CONSISTENT mapping
    drm: fix up mmap locking in preparation for ttm changes
    drm: fix driver deadlock with AIGLX and reclaim_buffers_locked
    drm: fix warning in drm_fops.c
    drm: allow for more generic drm ioctls
    drm: fix alpha domain handling
    via: fix CX700 pci id
    drm: make drm_io_prot static.
    drm: remove via_mm.h
    drm: add missing NULL assignment
    drm/radeon: Fix u32 overflows when determining AGP base address in card space.
    drm: port over use_vmalloc code from git hashtab
    drm: fix crash with fops lock and fixup sarea/page size locking
    drm: bring bufs code from git tree.
    drm: move protection stuff into separate function
    drm: Use ARRAY_SIZE macro when appropriate
    drm: update README.drm (bugzilla #7933)
    drm: remove unused exports

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [NET]: rfkill: add support for input key to control wireless radio
    [NET] net/core: Fix error handling
    [TG3]: Update version and reldate.
    [TG3]: Eliminate spurious interrupts.
    [TG3]: Add ASPM workaround.
    [Bluetooth] Correct SCO buffer for another Broadcom based dongle
    [Bluetooth] Add support for Targus ACB10US USB dongle
    [Bluetooth] Disconnect L2CAP connection after last RFCOMM DLC
    [Bluetooth] Check that device is in rfcomm_dev_list before deleting
    [Bluetooth] Use in-kernel sockets API
    [Bluetooth] Attach host adapters to the Bluetooth bus
    [Bluetooth] Fix L2CAP and HCI setsockopt() information leaks

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SERIAL] sunsu: Fix section mismatch warnings.
    [SPARC64]: pgtable_cache_init() should be __init.
    [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/prom.c
    [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/pci.c
    [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/console.c
    [MM]: sparse_init() should be __init.
    [SPARC64]: Update defconfig.
    [VIDEO]: Add Sun XVR-2500 framebuffer driver.
    [VIDEO]: Add Sun XVR-500 framebuffer driver.
    [SPARC64]: SUN4U PCI-E controller support.
    [SPARC]: Fix comment typo in smp4m_blackbox_current().
    [SCSI] SUNESP: sun_esp.c needs linux/delay.h

    Fix up conflict in arch/sparc64/mm/init.c manually due to removal of
    pgtable_cache_init() through the -mm patches (even though that patch was
    also by David ;)

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
    IPoIB: Convert to NAPI
    IB: Return "maybe missed event" hint from ib_req_notify_cq()
    IB: Add CQ comp_vector support
    IB/ipath: Fix a race condition when generating ACKs
    IB/ipath: Fix two more spin lock problems
    IB/fmr_pool: Add prefix to all printks
    IB/srp: Set proc_name
    IB/srp: Add orig_dgid sysfs attribute to scsi_host
    IPoIB/cm: Don't crash if remote side uses one QP for both directions
    RDMA/cxgb3: Support for new abort logic
    RDMA/cxgb3: Initialize cpu_idx field in cpl_close_listserv_req message
    RDMA/cxgb3: Fail qp creation if the requested max_inline is too large
    RDMA/cxgb3: Fix TERM codes
    IPoIB/cm: Fix error handling in ipoib_cm_dev_open()
    IB/ipath: Don't corrupt pending mmap list when unmapped objects are freed
    IB/mthca: Work around kernel QP starvation
    IB/ipath: Don't put QP in timeout queue if waiting to send
    IB/ipath: Don't call spin_lock_irq() from interrupt context

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (38 commits)
    sh: R7785RP board updates.
    sh: Update r7780rp defconfig.
    sh: Add die chain notifiers.
    sh: Fix APM emulation on hp6xx.
    sh: Wire up more IRQs for SH7709.
    sh: Solution Engine 7722 board support.
    sh: Fix r7780rp build.
    sh: kdump support.
    sh: Move clock reporting to its own proc entry.
    sh: Solution Engine SH7705 board and CPU updates.
    serial: sh-sci: Fix module clock refcount for serial console.
    serial: sh-sci: Fix module clock refcounting.
    sh: SH7722 clock framework support.
    sh: hp6xx pata_platform support.
    sh: Obey CONFIG_HZ for HZ definition.
    sh: Fix fstatat64() syscall.
    sh: se7780 PCI support.
    sh: SH7780 Solution Engine board support.
    sh: Add a dummy SH-4 PCIC fixup.
    sh: Tidy up L-BOX area5 addresses.
    ...

    Linus Torvalds
     
  • Commit a836f5856ae46ccb2464ea76031ea05ae967b832 removes the shutdown
    member of the bitbang structure, breaking the build of spi_s3c24xx.c.

    Signed-off-by: Arnaud Patard
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnaud Patard