08 Dec, 2006

40 commits

  • Do proper error-checking and propagation in drivers/base/memory.c, hence fix
    __must_check warnings.

    Cc: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • A driver for the PCEngines WRAP boards (http://www.pcengines.ch), which are
    very similar to the Soekris net4801 (same NS SC1100 geode reference
    design).

    The LEDs on the WRAP are on different GPIO lines and I have modified and
    copied the net48xx error led support for this. It also includes support
    for an "extra" led (in addition to error). The three LEDs on the WRAP are
    at GPIO lines 2,3,18 (WRAP LEDs from left to right). This driver gives
    access to the second and third LEDs by twiddling GPIO lines 3 & 18.

    Because these boards are so similar to the net48xx, I basically sed-ed that
    driver to form the basis for leds-wrap.c. The only changes from
    leds-net48xx.c are:

    - #define WRAP_EXTRA_LED_GPIO

    - name changes

    - duplicate relevant sections to provide support for the "extra" led

    - reverse the various *_led_set values. The WRAP is "backwards" from the
    net48xx, and these needed to be updated for that.

    [akpm@osdl.org: build fix]
    Signed-off-by: Kristian Kielhofner
    Acked-by: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kristian Kielhofner
     
  • In file included from drivers/char/ip2/ip2main.c:285:
    drivers/char/ip2/i2lib.c: In function `i2Output':
    drivers/char/ip2/i2lib.c:1019: warning: unused variable `rc'

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

    Mariusz Kozlowski
     
  • Clean up several code points in which the return code from misc_register is
    not handled properly.

    Several modules failed to deregister various hooks when misc_register fails,
    and this patch cleans them up. Also there are a few modules that legitimately
    don't care about the failure status of misc register. These drivers however
    unilaterally call misc_deregister on module unload.

    Since misc_register doesn't initialize the list_head in the init_routine if it
    fails, the deregister operation is at risk for oopsing when list_del is
    called. The initial solution was to manually init the list in the miscdev
    structure in each of those modules, but the consensus in this thread was to
    consolodate and do that universally inside misc_register.

    Signed-off-by: Neil Horman
    Cc: Bjorn Helgaas
    Cc: Kylene Jo Hall
    Cc: Dmitry Torokhov
    Cc: Olaf Hering
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Neil Horman
     
  • Fixing sbpcd.c baroque error printing in process.

    Signed-off-by: Alexey Dobriyan
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • This is on our "Envoy" boxes which we have, according to the documentation, an
    "Exar ST16C554/554D Quad UART with 16-byte Fifo's". The box also has two
    other "on-board" serial ports and a modem chip.

    The two on-board serial UARTs were being detected along with the first two
    Exar UARTs. The last two Exar UARTs were not showing up and neither was the
    modem.

    This patch was the only way I could the kernel to see beyond the standard four
    serial ports and get all four of the Exar UARTs to show up.

    [akpm@osdl.org: build fix]
    Signed-off-by: Paul B Schroeder
    Cc: Lennart Sorensen
    Acked-by: Alan Cox
    Cc: Russell King
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul B Schroeder
     
  • =============================================
    [ INFO: possible recursive locking detected ]
    2.6.18-1.2699.fc6 #1
    ---------------------------------------------
    swapper/0 is trying to acquire lock:
    (&list->lock#3){+...}, at: [] skb_dequeue+0x12/0x43

    but task is already holding lock:
    (&list->lock#3){+...}, at: [] bcsp_dequeue+0x6a/0x11e [hci_uart]

    Two different list locks nest, annotate so.

    Signed-off-by: Peter Zijlstra
    Acked-by: Marcel Holtmann
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • This patch makes module init return proper value instead of -1 (-EPERM).

    Cc: Tim Waugh
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Add support for the parallel port (implemented as separate PCI function) on
    the Oxford Semiconductor OX16PCI952.

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

    Ryan Underwood
     
  • Fix sparse NULL warning;
    drivers/misc/tifm_core.c:223:17: warning: Using plain integer as NULL pointer

    Fix style while there.

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

    Randy Dunlap
     
  • paride_register() returns 1 on success, 0 on failure and module init
    code looks like

    static int __init foo_init(void)
    {
    return paride_register(&foo) - 1;
    }

    which is not what one get used to. Converted to usual 0/-E convention.

    In case of kbic driver, unwind registration. It was just

    return (paride_register(&k951)||paride_register(&k971))-1;

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

    Alexey Dobriyan
     
  • We're about to change the semantics of pi_register()'s return value, so
    rename it to something else first, so that any unconverted code reliaby
    breaks.

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

    Alexey Dobriyan
     
  • In order for spi_busnum_to_master to work spi master devices must be linked
    into the spi_master_class.subsys.kset list. At the moment the default
    class_obj_subsys.kset is used and we can't enumerate the master devices.

    Signed-off-by: Hans-Christian Egtvedt
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hans-Christian Egtvedt
     
  • Correct the following in driver/spi/spi.c in function spi_busnum_to_master:

    * must allow bus_num 0, the if is really not needed.
    * correct the name buffer which is too small for bus_num >= 10000. It

    should be 9 bytes big, not 8.

    Signed-off-by: Hans-Christian Egtvedt
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hans-Christian Egtvedt
     
  • rmmod/3080 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
    (proc_subdir_lock){--..}, at: [] remove_proc_entry+0x40/0x191

    and this task is already holding:
    (ide_lock){++..}, at: [] ide_unregister_subdriver+0x39/0xc8
    which would create a new lock dependency:
    (ide_lock){++..} -> (proc_subdir_lock){--..}

    but this new dependency connects a hard-irq-safe lock:
    (ide_lock){++..}
    ... which became hard-irq-safe at:
    [] lock_acquire+0x4b/0x6b
    [] _spin_lock_irqsave+0x22/0x32
    [] ide_intr+0x17/0x1a9
    [] handle_IRQ_event+0x20/0x4d
    [] __do_IRQ+0x94/0xef
    [] do_IRQ+0x9e/0xbd

    to a hard-irq-unsafe lock:
    (proc_subdir_lock){--..}
    ... which became hard-irq-unsafe at:
    ... [] lock_acquire+0x4b/0x6b
    [] _spin_lock+0x19/0x28
    [] xlate_proc_name+0x1b/0x99
    [] proc_create+0x46/0xdf
    [] create_proc_entry+0x62/0xa5
    [] proc_misc_init+0x1c/0x1d2
    [] proc_root_init+0x4c/0xe9
    [] start_kernel+0x294/0x3b3

    Move ide_remove_proc_entries() out from under ide_lock; there is nothing
    that indicates that this is needed.

    In specific, the call to ide_add_proc_entries() is unprotected, and there
    is nothing else in the file using the respective ->proc fields. Also the
    lock order around destroy_proc_ide_interface() suggests this.

    Alan sayeth:

    proc_ide_write_settings walks the setting list under ide_setting_sem, read
    ditto. remove_proc_entry is doing proc side housekeeping.

    Looks fine to me, although that old code is such a mess anything could be
    going on.

    Signed-off-by: Peter Zijlstra
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Jeff noted that the via driver returned an error to an unsigned int in a
    a case where errors are not permitted. Move the check down earlier so we
    can handle it properly. Not as pretty but it works this way and avoids
    hacking up ugly stuff in the legacy ide core.

    Signed-off-by: Alan Cox
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Add SysRq-X support: show blocked (TASK_UNINTERRUPTIBLE) tasks only.

    Useful for debugging IO stalls.

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

    Ingo Molnar
     
  • Signed-off-by: Jeff Garzik
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Garzik
     
  • Signed-off-by: Jeff Garzik
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Garzik
     
  • Signed-off-by: Jeff Garzik
    Cc: Adam Belay
    Cc: Bjorn Helgaas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Garzik
     
  • i2o_scsi: handle sysfs failure

    i2o_device:
    * convert i2o_device_add() to return integer error code
    rather than pointer. Fortunately -nobody- checks the return code of
    this function, so changing has nil impact.
    * handle errors thrown by device_register()

    More work in i2o_device remains.

    Signed-off-by: Jeff Garzik
    Cc: Markus Lidel
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Garzik
     
  • Signed-off-by: Amol Lad
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Amol Lad
     
  • Signed-off-by: Amol Lad
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Amol Lad
     
  • Signed-off-by: Amol Lad
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Amol Lad
     
  • Add a driver for the Xilinx uartlite serial controller used in boards with
    the PPC405 core in the Xilinx V2P/V4 fpgas.

    The hardware is very simple (baudrate/start/stopbits fixed and no break
    support). See the datasheet for details:

    http://www.xilinx.com/bvdocs/ipcenter/data_sheet/opb_uartlite.pdf

    See http://thread.gmane.org/gmane.linux.serial/1237/ for the email thread.

    Signed-off-by: Peter Korsgaard
    Acked-by: Olof Johansson
    Cc: Russell King
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Korsgaard
     
  • A pretty simple cleanup for cciss_interrupt_mode.

    Signed-off-by: Mike Miller
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Add the support for a large number of logical volumes. We will soon have
    hardware that support up to 1024 logical volumes.

    Signed-off-by: Mike Miller
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Remove the no longer used revalidate_allvol function. It was replaced by
    rebuild_lun_table.

    Signed-off-by: Mike Miller
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Change our open to test for drv->heads like we do in other places in the
    driver. Mostly for consistency.

    Signed-off-by: Mike Miller
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Change the blk_queue_max_sectors from 512 to 2048. This helps increase
    performance.

    [akpm@osdl.org: s/sector_size/max_sectors/]
    Signed-off-by: Mike Miller
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Unconditionally disable DMA prefetch on the P600 controller. An ASIC bug may
    result in prefetching beyond the end of physical memory.

    Signed-off-by: Mike Miller
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Change the SSID on the E500 as a workaround for a firmware bug. It looks like
    the original patch was backed out between rc2 and rc4.

    Signed-off-by: Mike Miller
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Remove #define NR_CMDS and replace it w/hba[i]->nr_cmds. Most Smart Array
    controllers can support up to 1024 commands but the E200 family can only
    support 128. To prevent annoying "fifo full" messages we define nr_cmds on a
    per controller basis by adding it the product table.

    Signed-off-by: Mike Miller
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Add the support to fire up on any HP RAID class device that has a valid cciss
    signature.

    Signed-off-by: Mike Miller
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Change the cciss version number to 3.6.14 to reflect the following
    functionality changes added by the rest of the set. They include:

    - Support to fire up on any HP RAID class controller
    - Increase nr_cmds to 512 for most controllers by adding it to the product table
    - PCI subsystem ID fix fix was pulled
    - Disable DMA prefetch for the P600 on IPF platforms
    - Change from 512 to 2048 sector_size for performance
    - Fix in cciss_open for consistency
    - Remove the no longer used revalidate_allvol function
    - Bug fix for busy configuring
    - Support for more than 16 logical volumes
    - Cleanups in cciss_interrupt_mode
    - Fix for iostats, it's been broken for several kernel releases

    Signed-off-by: Mike Miller
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller
     
  • Move process freezing functions from include/linux/sched.h to freezer.h, so
    that modifications to the freezer or the kernel configuration don't require
    recompiling just about everything.

    [akpm@osdl.org: fix ueagle driver]
    Signed-off-by: Nigel Cunningham
    Cc: "Rafael J. Wysocki"
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nigel Cunningham
     
  • Replace all uses of kmem_cache_t with struct kmem_cache.

    The patch was generated using the following script:

    #!/bin/sh
    #
    # Replace one string by another in all the kernel sources.
    #

    set -e

    for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do
    quilt add $file
    sed -e "1,\$s/$1/$2/g" $file >/tmp/$$
    mv /tmp/$$ $file
    quilt refresh
    done

    The script was run like this

    sh replace kmem_cache_t "struct kmem_cache"

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

    Christoph Lameter
     
  • SLAB_DMA is an alias of GFP_DMA. This is the last one so we
    remove the leftover comment too.

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

    Christoph Lameter
     
  • SLAB_KERNEL is an alias of GFP_KERNEL.

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

    Christoph Lameter
     
  • SLAB_ATOMIC is an alias of GFP_ATOMIC

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

    Christoph Lameter