16 Nov, 2009

3 commits


15 Nov, 2009

8 commits


14 Nov, 2009

5 commits

  • 1. At the end of smtc_distribute_timer, nextstamp is valid and has already
    passed so we goto repeat.
    2. Nothing updates nextstamp (only updated if the timeout is in the future
    And we just decided it is in the past)
    3. At the end nextstamp still has the same value so it is still valid and
    in the past.
    4. This repeats until read_c0_count has a value which causes nextstamp to
    be in the future.

    Reported and initial patch and testing by Mikael Starvik
    .

    Signed-off-by: Kevin D. Kissell
    Cc: Mikael Starvik
    Cc: linux-mips@linux-mips.org
    Cc: Jesper Nilsson
    Patchwork: http://patchwork.linux-mips.org/patch/621/
    Signed-off-by: Ralf Baechle

    Kevin D. Kissell
     
  • Enable following features:

    * MTD (RBTX4939, NAND_TXX9NDFMC)
    * HW_RANDOM (HW_RANDOM_TX4939)
    * SOUND (SND_SOC_TXX9ACLC)
    * DMADEVICE (TXX9_DMAC)

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

    Atsushi Nemoto
     
  • Since commit 22242681cff52bfb7cba5d2a37b91802be7a4e4c ("MIPS: Extend
    COMMAND_LINE_SIZE"), CL_SIZE is 4096 and local array variables with this
    size will cause an build failure with default CONFIG_FRAME_WARN settings.

    Although current users of such array variables are all early bootstrap
    code and not likely to cause real stack overflow (thread_info corruption),
    it is preferable to to declare these arrays static with __initdata.

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

    Atsushi Nemoto
     
  • The ohci-sm501 driver requires dma_declare_coherent_memory(). It is used
    by the driver's local memory allocation with dma_alloc_coherent().

    Tested on TANBAC TB0287(VR4131 + SM501).

    [Ralf: Fixed reject in dma-default.c and removed the entire #if 0'ed block
    in dma-mapping.h instead of just the #if 0.]

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

    Yoichi Yuasa
     
  • Running a 64-bit kernel on a 64-bit CPU without an FPU would cause the
    emulator to run in 32-bit mode. The c0_Status.FR bit is wired to zero
    on systems without an FPU, so using that bit to decide how the emulator
    behaves doesn't allow for proper emulation on 64-bit FPU-less
    processors.

    Instead, we need to select the emulator mode based on the user-space
    ABI. Since the thread flag TIF_32BIT_REGS is used to set c0_Status.FR,
    we can just use it to decide if the emulator should be in 32-bit or
    64-bit mode.

    Signed-off-by: David Daney
    Signed-off-by: Ralf Baechle

    David Daney
     

13 Nov, 2009

12 commits

  • On s390 there are two ways of specifying the system call number for
    the svc instruction. The standard way is to use the immediate field
    in the instruction (or to use EXecute for values unknown during
    assemble time). This can encode 256 system calls.
    The kernel ABI also allows to put the system call number in r1 and
    then execute svc 0 to enable system call numbers > 255.

    It turns out that single stepping svc 0 is broken, since the PER
    program check handler uses r1. We have to use a different register.

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Martin Schwidefsky

    Christian Borntraeger
     
  • In a system where the ctrl-alt-del init action initiated by signal
    quiesce suspends the machine the quiesce handler override for
    _machine_restart, _machine_halt and _machine_power_off needs to be
    undone, otherwise the override is still present in the resumed
    system. The next shutdown would then load the quiesce state psw
    instead of performing the correct shutdown action.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • After an IPL from NSS the uptime of the system is incorrect. The reason
    is that the startup code in head.S is not executed in case of an IPL
    from NSS. Due to that sched_clock_base_cc which is used to initialze
    wall_to_monotonic contains the time stamp when the NSS has been created
    instead of the time stamp of the system start.

    Reinitialize the cputime accounting values in create_kernel_nss after
    the SAVESYS CP command that created the NSS segment.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • The monreader device driver doesn't set dev->driver_data to NULL after
    freeing the corresponding data structure. This leads to a use after
    free bug in the freeze/thaw suspend/resume functions after the device
    has been opened and closed once. Fix this by clearing dev->driver_data
    in the close() function.

    Signed-off-by: Gerald Schaefer
    Signed-off-by: Martin Schwidefsky

    Gerald Schaefer
     
  • The get parameter function should return a string without a life-feed.
    Otherwise you'll see additional empty line in sysfs parameters file.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Dmitry Torokhov

    Takashi Iwai
     
  • Even though input core tells us to restore LED state and repeat rate
    at resume keyboard may be reconnected either by request from userspace
    (via sysfs) or just by pulling it from the box and plugging it back in.
    In these cases we still need to restore state ourselves.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • We should be sending EV_LED event down to drivers upon resume even in cases
    when in-kernel state of the LED is off since device could come up with some
    leds turned on.

    Reported-and-tested-by: Mikko Vinni
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Normally is it not safe to allow a raid5 that is both dirty and
    degraded to be assembled without explicit request from that admin, as
    it can cause hidden data corruption.
    This is because 'dirty' means that the parity cannot be trusted, and
    'degraded' means that the parity needs to be used.

    However, if the device that is missing contains only parity, then
    there is no issue and assembly can continue.
    This particularly applies when a RAID5 is being converted to a RAID6
    and there is an unclean shutdown while the conversion is happening.

    So check for whether the degraded space only contains parity, and
    in that case, allow the assembly.

    Signed-off-by: NeilBrown

    NeilBrown
     
  • When a reshape finds that it can add spare devices into the array,
    those devices might already be 'in_sync' if they are beyond the old
    size of the array, or they might not if they are within the array.

    The first case happens when we change an N-drive RAID5 to an
    N+1-drive RAID5.
    The second happens when we convert an N-drive RAID5 to an
    N+1-drive RAID6.

    So set the flag more carefully.
    Also, ->recovery_offset is only meaningful when the flag is clear,
    so only set it in that case.

    This change needs the preceding two to ensure that the non-in_sync
    device doesn't get evicted from the array when it is stopped, in the
    case where v0.90 metadata is used.

    Signed-off-by: NeilBrown

    NeilBrown
     
  • This is a combination that didn't really make sense before.
    However when a reshape is converting e.g. raid5 -> raid6, the extra
    device is not fully in-sync, but is certainly active and contains
    important data.
    So allow that start to be meaningful and in particular get
    the 'recovery_offset' value (which is needed for any non-in-sync
    active device) from the reshape_position.

    Signed-off-by: NeilBrown

    NeilBrown
     
  • Linus Torvalds
     
  • …/git/tmlind/linux-omap-2.6

    * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
    omap3: Decrease cpufreq transition latency
    omap3: update Pandora defconfig
    omap3: 3430sdp: Enable Linux Regulator framework
    omap3: beagle: Fix USB host port power control
    omap3: pandora: Fix keypad keymap
    omap1: Amstrad Delta defconfig fixes
    omap: Fix omapfb/lcdc on OMAP1510 broken when PM set
    omap: Use resource_size
    omap: Fix race condition in omap dma driver

    Linus Torvalds
     

12 Nov, 2009

12 commits

  • pcpu_extend_area_map() had the following two bugs.

    * It should return 1 if pcpu_lock was dropped and reacquired but it
    returned 0. This could lead to oops if free_percpu() races with
    area map extension.

    * pcpu_mem_free() was called under pcpu_lock. pcpu_mem_free() might
    end up calling vfree() which isn't IRQ safe. This could lead to
    deadlock through lock order inversion via IRQ.

    In addition, Linus pointed out that the temporary lock dropping and
    subtle three-way return value of pcpu_extend_area_map() was very ugly
    and suggested to split the function into two - pcpu_need_to_extend()
    and pcpu_extend_area_map().

    This patch restructures pcpu_extend_area_map() as suggested and fixes
    the two bugs.

    Signed-off-by: Tejun Heo
    Acked-by: Linus Torvalds
    Cc: Ingo Molnar

    Tejun Heo
     
  • Because of an integer overflow on start_blk, various kind of wrong results
    would be returned by the generic_block_fiemap() handler, such as no
    extents when there is a 4GB+ hole at the beginning of the file, or wrong
    fe_logical when an extent starts after the first 4GB.

    Signed-off-by: Mike Hommey
    Cc: Alexander Viro
    Cc: Steven Whitehouse
    Cc: Theodore Ts'o
    Cc: Eric Sandeen
    Cc: Josef Bacik
    Cc: Mark Fasheh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Hommey
     
  • PPS events must be recorded according to PPS's mode settings.

    If a process asks for (i.e.) capture-assert events only, when the PPS
    client calls the pps_event() function to save the current PPS event, we
    should verify the event type and then discard unwanted ones.

    Also, without this patch userland processes waiting for a specific PPS
    event (assert or clear but not both) may be awakened at wrong time.

    Signed-off-by: Rodolfo Giometti
    Tested-by: William S. Brasher
    Tested-by: Reg Clemens
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rodolfo Giometti
     
  • Userland programs may read/write PPS parameters at same time and these
    operations may corrupt PPS data.

    Signed-off-by: Rodolfo Giometti
    Tested-by: Reg Clemens
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rodolfo Giometti
     
  • TASK_INTERRUPTIBLE and friends are now only available after including
    , so include it when needed.

    bus_id is no longer available/necessary, so remove that.

    Android pmem driver is not available in mainline, so remove its hooks
    from drivers/video.

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

    Pavel Machek
     
  • In case of failure, device_create() returns not NULL but the error code.
    The current code checks for non-NULL though which causes kernel oops in
    sysfs_create_group() when device_create() fails. Check for error using
    IS_ERR() and propagate the error value using PTR_ERR() instead of fixed
    -ENODEV code returned now...

    Signed-off-by: Sergei Shtylyov
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergei Shtylyov
     
  • v3020_mmio_read_bit() always returns 0 when left_shift > 7.

    v3020_mmio_read_bit()'s return type is (unsigned char). The code returns
    a value masked by (1 << left_shift) that is casted to the return type. If
    left_shift is larger than 7, the cast will always result in a 0 return
    value. The problem was discovered with left_shift = 16, and the included
    patch corrects the problem.

    The bug was introduced in the last (Apr 3 2009) commit of the file, kernel
    versions 2.6.30 and later.

    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Cc: Raphael Assenat
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Scott Valentine
     
  • drivers/rtc/rtc-vr41xx.c: In function 'vr41xx_rtc_irq_set_freq':
    drivers/rtc/rtc-vr41xx.c:217: warning: comparison of distinct pointer types lacks a cast
    drivers/rtc/rtc-vr41xx.c:217: warning: right shift count >= width of type
    drivers/rtc/rtc-vr41xx.c:217: warning: passing argument 1 of '__div64_32' from incompatible pointer type
    include/asm-generic/div64.h:35: note: expected 'uint64_t *' but argument is of type 'long unsigned int *'

    Signed-off-by: Yoichi Yuasa
    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Cc: Paul Mundt
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa
     
  • In setup_arg_pages we work hard to assign a value to ret, but on exit we
    always return 0.

    Also remove a now duplicated exit path and branch to out_unlock instead.

    Signed-off-by: Anton Blanchard
    Acked-by: Serge Hallyn
    Reviewed-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Blanchard
     
  • The config FB_PRE_INIT_FB entry in drivers/video/Kconfig pushes all entries
    below it out of the menuconfig selection. Fix this.

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

    Guennadi Liakhovetski
     
  • Use git.kernel.org not www.kernel.org

    Signed-off-by: Joe Perches
    Cc: James Morris
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Patrick McHardy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches