27 Apr, 2007

17 commits

  • Add board code and defconfig for the ATNGW100 Network Gateway kit.
    For more information about this board, see

    http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Using readb/writeb to implement these breaks NOR flash support. I
    can't see any reason why regular memcpy and memset shouldn't work.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Since the core setup code takes care of both allocation and
    reservation of framebuffer memory, there's no need for this board-
    specific hook anymore. Replace it with two global variables,
    fbmem_start and fbmem_size, which can be used directly.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • With the current strategy of using the bootmem allocator to allocate
    or reserve framebuffer memory, there's a slight chance that the
    requested area has been taken by the boot allocator bitmap before we
    get around to reserving it.

    By inserting the framebuffer region as a reserved region as early as
    possible, we improve our chances for success and we make the region
    visible as a reserved region in dmesg and /proc/iomem without any
    extra work.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Use struct resource to specify both physical memory regions and
    reserved regions and push everything into the same framework,
    including kernel code/data and initrd memory. This allows us to get
    rid of many special cases in the bootmem initialization and will also
    make it easier to implement more robust handling of framebuffer
    memory later.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Fix the I/O access macros so that they work with externally connected
    devices accessed in little-endian mode over any bus width:

    * Use a set of macros to define I/O port- and memory operations
    borrowed from MIPS.
    * Allow subarchitecture to specify address- and data-mangling
    * Implement at32ap-specific port mangling (with build-time
    configurable bus width. Only one bus width at a time supported
    for now.)
    * Rewrite iowriteN and friends to use write[bwl] and friends
    (not the __raw counterparts.)

    This has been tested using pata_pcmcia to access a CompactFlash card
    connected to the EBI (16-bit bus width.)

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Fix a problem with the NMI handler entry code related to the NMI handler
    sharing some code with the exception handlers. This is not a good idea
    because the RSR and RAR registers are not the same, and the NMI handler
    runs with interrupts masked the whole time so there's no need to check
    for pending work.

    Open-code the low-level NMI handling logic instead so that the pt_regs
    layout is actually correct when the higher-level handler is called.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • * 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

5 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