21 Feb, 2007

40 commits

  • The problem comes when ks0108/cfag12864b are built-in and no parallel port is
    present. ks0108_init() is called first, as it should be, but fails to load
    (as there is no parallel port to use).

    After that, cfag12864b_init() gets called, without knowing anything about
    ks0108 failed, and calls ks0108_writecontrol(), which dereferences an
    uninitialized pointer.

    Init order is OK, I think. The problem is how to stop cfag12864b_init() being
    called if ks0108 failed to load. modprobe does it for us, but, how when
    built-in?

    Signed-off-by: Miguel Ojeda Sandonis
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miguel Ojeda
     
  • Signed-off-by: "Aneesh Kumar K.V"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Aneesh Kumar K.V
     
  • Flags from spin_lock_irqsave() are saved into global variable and restored
    from it. My gut feeling this is very racy.

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

    Alexey Dobriyan
     
  • Fixes http://bugzilla.kernel.org/show_bug.cgi?id=7810 - a silly
    copy-paste bug introduced by the latest change.

    Signed-off-by: Gerhard Dirschl
    Cc: Peter Osterlund
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gerhard Dirschl
     
  • There is no prompt for CONFIG_STACKTRACE, so FAULT_INJECTION cannot be
    selected without LOCKDEP enabled. (found by Paolo 'Blaisorblade'
    Giarrusso)

    In order to fix such broken Kconfig dependency, this patch splits up the
    stacktrace filter support for fault injection by new Kconfig option, which
    enables to use fault injection on the architecture which doesn't have
    general stacktrace support.

    Cc: "Paolo 'Blaisorblade' Giarrusso"
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • If the DIO write on FAT is expanding the size, it will be fail by -EINVAL,
    because FAT can't handle it now.

    This patch fallback it to the normal buffered-write and would return
    success.

    Signed-off-by: OGAWA Hirofumi
    Acked-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    OGAWA Hirofumi
     
  • This patch lists all active probes in the system by scanning through
    kprobe_table[]. It takes care of aggregate handlers and prints the type of
    the probe. Letter "k" for kprobes, "j" for jprobes, "r" for kretprobes.
    It also lists address of the instruction,its symbolic name(function name +
    offset) and the module name. One can access this file through
    /sys/kernel/debug/kprobes/list.

    Output looks like this
    =====================
    llm40:~/a # cat /sys/kernel/debug/kprobes/list
    c0169ae3 r sys_read+0x0
    c0169ae3 k sys_read+0x0
    c01694c8 k vfs_write+0x0
    c0167d20 r sys_open+0x0
    f8e658a6 k reiserfs_delete_inode+0x0 reiserfs
    c0120f4a k do_fork+0x0
    c0120f4a j do_fork+0x0
    c0169b4a r sys_write+0x0
    c0169b4a k sys_write+0x0
    c0169622 r vfs_read+0x0
    =================================

    [akpm@linux-foundation.org: cleanup]
    [ananth@in.ibm.com: sparc build fix]
    Signed-off-by: Srinivasa DS
    Cc: Prasanna S Panchamukhi
    Cc: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Signed-off-by: Ananth N Mavinakayanahalli
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Srinivasa Ds
     
  • Andrew noticed that unlocking the page before submitting all buffers for
    writeout could cause problems if the IO completes before we've finished
    messing around with the page buffers, and they subsequently get freed.

    Even if there were no bug, it is a good idea to bring the error case
    into line with the common case here.

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

    Nick Piggin
     
  • The current ipc shared memory code runs into several problems because it
    does not quite use files like the rest of the kernel. With the option of
    backing ipc shared memory with either hugetlbfs or ordinary shared memory
    the problems got worse. With the added support for ipc namespaces things
    behaved so unexpected that we now have several bad namespace reference
    counting bugs when using what appears at first glance to be a reasonable
    idiom.

    So to attack these problems and hopefully make the code more maintainable
    this patch simply uses the files provided by other parts of the kernel and
    builds it's own files out of them. The shm files are allocated in do_shmat
    and freed when their reference count drops to zero with their last unmap.
    The file and vm operations that we don't want to implement or we don't
    implement completely we just delegate to the operations of our backing
    file.

    This means that we now get an accurate shm_nattch count for we have a
    hugetlbfs inode for backing store, and the shm accounting of last attach
    and last detach time work as well.

    This means that getting a reference to the ipc namespace when we create the
    file and dropping the referenece in the release method is now safe and
    correct.

    This means we no longer need a special case for clearing VM_MAYWRITE
    as our file descriptor now only has write permissions when we have
    requested write access when calling shmat. Although VM_SHARED is now
    cleared as well which I believe is harmless and is mostly likely a
    minor bug fix.

    By using the same set of operations for both the hugetlb case and regular
    shared memory case shmdt is not simplified and made slightly more correct
    as now the test "vma->vm_ops == &shm_vm_ops" is 100% accurate in spotting
    all shared memory regions generated from sysvipc shared memory.

    Signed-off-by: Eric W. Biederman
    Cc: Michal Piotrowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The alien cache is a per cpu per node array allocated for every slab on the
    system. Currently we size this array for all nodes that the kernel does
    support. For IA64 this is 1024 nodes. So we allocate an array with 1024
    objects even if we only boot a system with 4 nodes.

    This patch uses "nr_node_ids" to determine the number of possible nodes
    supported by a hardware configuration and only allocates an alien cache
    sized for possible nodes.

    The initialization of nr_node_ids occurred too late relative to the bootstrap
    of the slab allocator and so I moved the setup_nr_node_ids() into
    free_area_init_nodes().

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

    Christoph Lameter
     
  • We frequently need the maximum number of possible processors in order to
    allocate arrays for all processors. So far this was done using
    highest_possible_processor_id(). However, we do need the number of
    processors not the highest id. Moreover the number was so far dynamically
    calculated on each invokation. The number of possible processors does not
    change when the system is running. We can therefore calculate that number
    once.

    Signed-off-by: Christoph Lameter
    Cc: Frederik Deweerdt
    Cc: Neil Brown
    Cc: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • highest_possible_node_id() is currently used to calculate the last possible
    node idso that the network subsystem can figure out how to size per node
    arrays.

    I think having the ability to determine the maximum amount of nodes in a
    system at runtime is useful but then we should name this entry
    correspondingly, it should return the number of node_ids, and the the value
    needs to be setup only once on bootup. The node_possible_map does not
    change after bootup.

    This patch introduces nr_node_ids and replaces the use of
    highest_possible_node_id(). nr_node_ids is calculated on bootup when the
    page allocators pagesets are initialized.

    [deweerdt@free.fr: fix oops]
    Signed-off-by: Christoph Lameter
    Cc: Neil Brown
    Cc: Trond Myklebust
    Signed-off-by: Frederik Deweerdt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • allnoconfig:

    mm/mincore.c: In function 'do_mincore':
    mm/mincore.c:122: warning: unused variable 'entry'

    Yet another entry in the why-macros-are-wrong encyclopedia.

    Cc: Christoph Lameter
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • bind_zonelist() can create zero-length zonelist if there is a
    memory-less-node. This patch checks the length of zonelist. If length is
    0, returns -EINVAL.

    tested on ia64/NUMA with memory-less-node.

    Signed-off-by: KAMEZAWA Hiroyuki
    Acked-by: Andi Kleen
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • Several people have reported failures in dynamic major device number handling
    due to the recent changes in there to avoid handing out the local/experimental
    majors.

    Rolf reports that this is due to a gcc-4.1.0 bug.

    The patch refactors that code a lot in an attempt to provoke the compiler into
    behaving.

    Cc: Rolf Eike Beer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Somehow we got the layout of the v3 superblock wrong, which causes crashes due
    to overindexing of the buffer_head array in statfs on large fielsystems.

    Cc: "Cedric Augonnet"
    Cc: "Daniel Aragones"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andries Brouwer
     
  • fs/xfs/linux-2.6/xfs_super.c:903: warning: 'noinline' attribute ignored

    Cc: David Chinner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • If one of clear_bit, change_bit or set_bit is defined as a do { } while (0)
    function usage of these functions in parenthesis like

    (foo_bit(23, &var))

    while be expaned to something like

    (do { ... } while (0)}).

    resulting in a build error. This patch removes the useless parenthesis.

    Signed-off-by: Ralf Baechle
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] 4165/1: S3C24XX: Select CONFIG_NO_IOPORT
    [ARM] Fix s3c2410 ALSA audio for typedef elimination
    [ARM] Fix ARM AACI ALSA driver
    [ARM] fix mach-at91 build breakage
    [ARM] Fix jornada720 build errors
    [ARM] Fix iop13xx build error
    [ARM] Fix build error caused by move of apm
    [ARM] 4223/1: ixdp2351 : Fix for a define error
    [ARM] 4187/1: iop: unify time implementation across iop32x, iop33x, and iop13xx
    [ARM] 4186/1: iop: remove cp6_enable/disable routines
    [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user

    Linus Torvalds
     
  • Russell King
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (21 commits)
    natsemi: Support Aculab E1/T1 PMXc cPCI carrier cards
    natsemi: Add support for using MII port with no PHY
    skge: race with workq and RTNL
    Replace local random function with random32()
    s2io: RTNL and flush_scheduled_work deadlock
    8139too: RTNL and flush_scheduled_work deadlock
    sis190: RTNL and flush_scheduled_work deadlock
    r8169: RTNL and flush_scheduled_work deadlock
    [PATCH] ieee80211softmac: Fix setting of initial transmit rates
    [PATCH] bcm43xx: OFDM fix for rev 1 cards
    [PATCH] bcm43xx: Fix for 4311 and 02/07/07 specification changes
    [PATCH] prism54: correct assignment of DOT1XENABLE in WE-19 codepaths
    [PATCH] zd1211rw: Readd zd_addr_t cast
    [PATCH] bcm43xx: Fix for oops on resume
    [PATCH] bcm43xx: Ignore ampdu status reports
    [PATCH] wavelan: Use ARRAY_SIZE macro when appropriate
    [PATCH] hostap: Use ARRAY_SIZE macro when appropriate
    [PATCH] misc-wireless: Use ARRAY_SIZE macro when appropriate
    [PATCH] ipw2100: Use ARRAY_SIZE macro when appropriate
    [PATCH] bcm43xx: Janitorial change - remove two unused variables
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    backlight: Remove bogus SYSFS dependency
    backlight: simplify corgi_bl locking
    backlight: Separate backlight properties from backlight ops pointers
    backlight: Clean up pmac_backlight handling
    backlight: Improve backlight selection for fbdev drivers
    backlight: Rework backlight/fb interaction simplifying, lots
    backlight: Remove unneeded backlight update_status calls
    backlight: Remove uneeded update_status call from chipsfb.c
    backlight/fbcon: Add FB_EVENT_CONBLANK
    backlight: Fix Kconfig entries
    backlight: Remove uneeded nvidia set_power calls
    backlight: Convert semaphore -> mutex
    backlight: Fix external uses of backlight internal semaphore
    backlight: Minor code cleanups for hp680_bl.c
    backlight: Minor code cleanups for corgi_bl.c
    backlight: Remove excessive (un)likelys
    backlight: Remove unneeded owner field
    backlight: Fix error handling
    backlight: Add Frontpath ProGear HX1050+ driver
    backlight: Add maintainer entry

    Linus Torvalds
     
  • The rename of the AT91 subtree from mach-at91rm9200 to mach-at91
    (to accomodate at91sam926x processors) was incomplete. It needs
    this patch to be able to build again.

    Signed-off-by: David Brownell
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [NET] Eliminate user-selectable CONFIG_MV643XX_ETH_[012]
    [MIPS] Drop __init from init_8259A()
    [MIPS] Fix Kconfig typo bug
    [MIPS] Fix double signal on trap and break instruction
    [MIPS] sigset_32 has been made redundand by compat_sigset_t.
    [MIPS] emma2rh: Remove needless inclusion.
    [MIPS] Add MTD device support for Cobalt

    Linus Torvalds
     
  • tty_register_driver: Remove incorrect and superfluous cast (expected and passed
    types are both const char *)

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Remove the use of CONFIG_MV643XX_ETH_[012] variables on most platforms.
    Instead, platform-specific code enables the ports supported by the
    hardware. After this patch, these config variables are only used in
    arch/ppc, so also move them from drivers/net/Kconfig to arch/ppc/Kconfig.

    Signed-off-by: Dale Farnsworth
    Signed-off-by: Ralf Baechle
    Acked-by: Jeff Garzik
    Cc: Paul Mackerras

    Dale Farnsworth
     
  • init_8259A() is called from i8259A_resume() so should not be marked as
    __init. And add some tests for whether 8259A was already initialized
    or not.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • This commit broke gdb, since any BREAK or TRAP instruction cause SIGSEGV.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     
  • This patch has added MTD device support for Cobalt.
    Moreover, removes old type FlashROM support.

    Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     
  • On S3C24XX architecture, select CONFIG_NO_IOPORT
    as we only have memory based IO.

    Signed-off-by: Ben Dooks
    Signed-off-by: Russell King

    Ben Dooks
     
  • …/linville/wireless-2.6 into upstream

    Jeff Garzik
     
  • Aculab E1/T1 PMXc cPCI carrier card cards present a natsemi on the cPCI
    bus with an oversized EEPROM using a direct MIIMII connection with no
    PHY. This patch adds a new device table entry supporting these cards.

    Signed-Off-By: Mark Brown

    Signed-off-by: Jeff Garzik

    Mark Brown
     
  • This patch provides code paths which allow the natsemi driver to use the
    external MII port on the chip but ignore any PHYs that may be attached to it.
    The link state will be left as it was when the driver started and can be
    configured via ethtool. Any PHYs that are present can be accessed via the MII
    ioctl()s.

    This is useful for systems where the device is connected without a PHY
    or where either information or actions outside the scope of the driver
    are required in order to use the PHYs.

    Signed-Off-By: Mark Brown

    Signed-off-by: Jeff Garzik

    Mark Brown
     
  • If a workqueue function that needs RTNL is running when skge_down
    is called then a deadlock is possible. Fix by only clearing the timer,
    and handling the flush_scheduled_work on removal. This work queue is only
    ever used for the old fiber based boards.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Signed-off-by: Joe Perches
    Signed-off-by: Ralf Baechle
    Signed-off-by: Jeff Garzik

    Ralf Baechle
     
  • Mantra: don't use flush_scheduled_work with RTNL held.

    Signed-off-by: Francois Romieu
    Signed-off-by: Jeff Garzik

    Francois Romieu
     
  • Your usual dont-flush_scheduled_work-with-RTNL-held stuff.

    It is a bit different here since the thread runs permanently
    or is only occasionally kicked for recovery depending on the
    hardware revision.

    Signed-off-by: Francois Romieu
    Signed-off-by: Jeff Garzik

    Francois Romieu