27 Apr, 2007

9 commits

  • * Use generic BUG() handling
    * Remove some useless debug statements
    * Use a common function _exception() to send signals or oops when
    an exception can't be handled. This makes sure init doesn't
    enter an infinite exception loop as well. Borrowed from powerpc.
    * Add some basic exception tracing support to the page fault code.
    * Rework dump_stack(), show_regs() and friends and move everything
    into process.c
    * Print information about configuration options and chip type when
    oopsing

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Clean up the cpu identification code, using definitions from
    instead of hardcoded constants. Also, add a features
    bitmap to struct avr32_cpuinfo to allow other code to make decisions
    based upon what the running cpu is actually capable of.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Fix indentation and remove spurious comments in asm-avr32/sysreg.h

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Bring the code that sets the initial PM clock masks in line with the
    comment preceding it by only enabling clocks that have users != 0.
    Fix SM clock definition and avr32_hpt_init() so that the SM and TC0
    clocks keep ticking.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • This patch puts the CPU in sleep 0 when doing nothing, idle. This will
    turn of the CPU clock and thus save power. The CPU is waken again when
    an interrupt occurs.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • Due to limitation of the count-compare system timer (not able to
    count when CPU is in sleep), the system timer had to be changed to
    use a peripheral timer/counter.

    The old COUNT-COMPARE code is still present in time.c as weak
    functions. The new timer is added to the architecture directory.

    This patch sets up TC0 as system timer The new timer has been tested
    on AT32AP7000/ATSTK1000 at 100 Hz, 250 Hz, 300 Hz and 1000 Hz.

    For more details about the timer/counter see the datasheet for
    AT32AP700x available at

    http://www.atmel.com/dyn/products/product_card.asp?part_id=3903

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • Include at32ap-specific Kconfig file from top-level Kconfig file. The
    at32ap Kconfig is currently empty, but it will grow some machine-
    specific options soon.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Complete the SMC configuration code by adding nwait and tdf
    parameter. After this change, we support the same parameters as the
    hardware.

    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • This adds register and clock definitions for the High-speed bus Matrix
    (HMATRIX) as well as a function that can be used to configure special
    EBI functionality like CompactFlash and NAND flash support.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     

26 Apr, 2007

5 commits


25 Apr, 2007

13 commits

  • There's a really rare and obscure bug in CFQ, that causes a crash in
    cfq_dispatch_insert() due to rq == NULL. One example of the resulting
    oops is seen here:

    http://lkml.org/lkml/2007/4/15/41

    Neil correctly diagnosed the situation for how this can happen: if two
    concurrent requests with the exact same sector number (due to direct IO
    or aliasing between MD and the raw device access), the alias handling
    will add the request to the sortlist, but next_rq remains NULL.

    Read the more complete analysis at:

    http://lkml.org/lkml/2007/4/25/57

    This looks like it requires md to trigger, even though it should
    potentially be possible to due with O_DIRECT (at least if you edit the
    kernel and doctor some of the unplug calls).

    The fix is to move the ->next_rq update to when we add a request to the
    rbtree. Then we remove the possibility for a request to exist in the
    rbtree code, but not have ->next_rq correctly updated.

    Signed-off-by: Jens Axboe
    Signed-off-by: Linus Torvalds

    Jens Axboe
     
  • Oops, thinko. The test for accempting a RH0 was exatly the wrong way
    around.

    Signed-off-by: YOSHIFUJI Hideaki
    Signed-off-by: Linus Torvalds

    YOSHIFUJI Hideaki
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [BNX2]: Fix occasional NETDEV WATCHDOG on 5709.
    [IPV6]: Disallow RH0 by default.
    [XFRM]: beet: fix pseudo header length value
    [TCP]: Congestion control initialization.

    Linus Torvalds
     
  • Tweak a register setting to prevent the tx mailbox from halting.

    Update version to 1.5.8.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • A security issue is emerging. Disallow Routing Header Type 0 by default
    as we have been doing for IPv4.
    Note: We allow RH2 by default because it is harmless.

    Signed-off-by: YOSHIFUJI Hideaki
    Signed-off-by: David S. Miller

    YOSHIFUJI Hideaki
     
  • This did cause oprofile to fail on non-multithreaded systems with more
    than 2 processors such as the BCM1480.

    Reported by Manish Lachwani (mlachwani@mvista.com).

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
    drivers/net/hamradio/baycom_ser_fdx build fix
    usb-net/pegasus: fix pegasus carrier detection
    sis900: Allocate rx replacement buffer before rx operation
    [netdrvr] depca: handle platform_device_add() failure

    Linus Torvalds
     
  • sparc64:

    drivers/net/hamradio/baycom_ser_fdx.c: In function `ser12_open':
    drivers/net/hamradio/baycom_ser_fdx.c:417: error: `NR_IRQS' undeclared (first us
    e in this function)
    drivers/net/hamradio/baycom_ser_fdx.c:417: error: (Each undeclared identifier is
    reported only once
    drivers/net/hamradio/baycom_ser_fdx.c:417: error: for each function it appears i
    n.)

    Cc: Folkert van Heusden
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Andrew Morton
     
  • Broken by 4a1728a28a193aa388900714bbb1f375e08a6d8e which switched the
    return semantics of read_mii_word() but didn't fix usage of
    read_mii_word() to conform to the new semantics.

    Setting carrier to off based on the NO_CARRIER flag is also incorrect as
    that flag only triggers on TX failure and therefore isn't correct when
    no frames are being transmitted. Since there is already a 2*HZ MII
    carrier check going on, defer to that.

    Add a TRUST_LINK_STATUS feature flag for adapters where the LINK_STATUS
    flag is actually correct, and use that rather than the NO_CARRIER flag.

    Signed-off-by: Dan Williams
    Signed-off-by: Jeff Garzik

    Dan Williams
     
  • The sis900 driver appears to have a bug in which the receive routine
    passes the skbuff holding the received frame to the network stack before
    refilling the buffer in the rx ring. If a new skbuff cannot be allocated, the
    driver simply leaves a hole in the rx ring, which causes the driver to stop
    receiving frames and become non-recoverable without an rmmod/insmod according to
    reporters. This patch reverses that order, attempting to allocate a replacement
    buffer first, and receiving the new frame only if one can be allocated. If no
    skbuff can be allocated, the current skbuf in the rx ring is recycled, dropping
    the current frame, but keeping the NIC operational.

    Signed-off-by: Neil Horman
    Signed-off-by: Jeff Garzik

    Neil Horman
     
  • The following patch fixes a kernel bug in depca_platform_probe().

    We don't use a dynamic pointer for pldev->dev.platform_data, so it seems
    that the correct way to proceed if platform_device_add(pldev) fails is
    to explicitly set the pldev->dev.platform_data pointer to NULL, before
    calling the platform_device_put(pldev), or it will be kfree'ed by
    platform_device_release().

    Signed-off-by: Jeff Garzik

    Andrea Righi
     
  • * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
    [PATCH] i386: Fix some warnings added by earlier patch
    [PATCH] x86-64: Always flush all pages in change_page_attr
    [PATCH] x86: Remove noreplacement option
    [PATCH] x86-64: make GART PTEs uncacheable

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:
    Revert "adjust legacy IDE resource setting (v2)"

    Linus Torvalds
     

24 Apr, 2007

13 commits

  • Commit 40b36daa introduced possibility that serial8250_backup_timeout() ->
    serial8250_handle_port() locks port.lock without disabling irqs, thus
    allowing deadlock against interrupt handler (port.lock is acquired in
    serial8250_interrupt()).

    Spotted by lockdep.

    Signed-off-by: Jiri Kosina
    Cc: Dave Jones
    Cc: Russell King
    Cc: Alex Williamson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Kosina
     
  • Add maintainer for fault injection support.

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

    Akinobu Mita
     
  • Two functions are called from __devinit context, but they are marked as
    __init. Fix this.

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

    Jiri Slaby
     
  • The listxattr() and getxattr() operations are only protected by a read
    lock. As a result, if either of these operations run in parallel, a race
    condition exists where the xattr_root will end up being cached twice, which
    results in the leaking of a reference and a BUG() on umount.

    This patch refactors get_xa_root(), __get_xa_root(), and create_xa_root(),
    into one get_xa_root() function that takes the appropriate locking around
    the entire critical section.

    Reported, diagnosed and tested by Andrea Righi

    Signed-off-by: Jeff Mahoney
    Cc: Andrea Righi
    Cc: "Vladimir V. Saveliev"
    Cc: Edward Shishkin
    Cc: Alex Zarochentsev
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     
  • On ia64, kernel headers define REGION_OFFSET so we can't use that.
    Reported by Andrew Morton.

    Signed-off-by: Jean Delvare
    Acked-by: David Hubbard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • irq values are u32, not u8. Large irq numbers will be truncated,
    free_irq may free a different irq.

    Remove incorrectly sized struct member and use the one from pci_dev.

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

    Olaf Hering
     
  • The commit 34f5a39899f3f3e815da64f48ddb72942d86c366 restricted reading
    of the tainted value. The attached patch changes this back to a
    write-only check and restores the read behaviour of older versions.

    Signed-off-by: Bastian Blank
    Cc: Theodore Ts'o
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bastian Blank
     
  • Use relative time, not absolute. Discovered by Jung-Ik (John) Lee
    .

    Cc: Jung-Ik (John) Lee
    Acked-by: Len Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • v9fs_insert uses v9fs_fid_lookup (which also locks the fid) to get the
    primary fid associated with the dentry and destroys the v9fs_fid struct
    after removing the file. If another process called v9fs_fid_lookup on the
    same dentry, it may wait undefinitely for the fid's lock (as the struct is
    freed).

    This patch changes v9fs_remove to use a cloned fid, so the primary fid is
    not locked and freed.

    Signed-off-by: Latchesar Ionkov
    Cc: Eric Van Hensbergen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Latchesar Ionkov
     
  • - update Ben's address
    - replace Ben's contact by mine as raw1394's 2nd contact
    - eth1394's and pcilynx's maintenance doesn't really differ from that
    of other parts of the stack like video1394

    Signed-off-by: Stefan Richter
    Acked-by: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stefan Richter
     
  • NR_FILE_PAGES must be accounted for depending on the zone that the page
    belongs to. If we replace the page in the radix tree then we may have to
    shift the count to another zone.

    Suggested-by: Ethan Solomita
    Eventually-typed-in-by: Christoph Lameter
    Cc: Martin Bligh
    Cc:
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Signed-off-by: Miguel Ojeda Sandonis
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miguel Ojeda
     
  • Signed-off-by: Michael Buesch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch