29 Dec, 2010

8 commits


28 Dec, 2010

4 commits


27 Dec, 2010

7 commits

  • LCDC hardware can support 1920x1080 formats, adjust the driver to cover them.
    Besides, instead of guessing some "reasonable" validity checks, only verify
    values in .fb_check_var(), that we are sure, we cannot support.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Paul Mundt

    Guennadi Liakhovetski
     
  • MX27 and MX25 have 10 bits in the YMAX field of LCDC Size Register.

    Fix the maximum value for yres.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Paul Mundt

    Fabio Estevam
     
  • In arch/x86/kernel/microcode_intel.c::generic_load_microcode()
    we have this:

    while (leftover) {
    ...
    if (get_ucode_data(mc, ucode_ptr, mc_size) ||
    microcode_sanity_check(mc) < 0) {
    vfree(mc);
    break;
    }
    ...
    }

    if (mc)
    vfree(mc);

    This will cause a double free of 'mc'. This patch fixes that by
    just removing the vfree() call in the loop since 'mc' will be
    freed nicely just after we break out of the loop.

    There's also a second change in the patch. I noticed a lot of
    checks for pointers being NULL before passing them to vfree().
    That's completely redundant since vfree() deals gracefully with
    being passed a NULL pointer. Removing the redundant checks
    yields a nice size decrease for the object file.

    Size before the patch:
    text data bss dec hex filename
    4578 240 1032 5850 16da arch/x86/kernel/microcode_intel.o
    Size after the patch:
    text data bss dec hex filename
    4489 240 984 5713 1651 arch/x86/kernel/microcode_intel.o

    Signed-off-by: Jesper Juhl
    Acked-by: Tigran Aivazian
    Cc: Shaohua Li
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jesper Juhl
     
  • We don't need or want MSR usage here, on x86-64.
    x86-64 was disabled intentionally in Kconfig, but commit
    9272dcc232b84ccb027d6861077934055d42764d changed that.

    drivers/ata/pata_cs5536.c:47:1: warning: "rdmsr" redefined
    In file included from arch/x86/include/asm/irqflags.h:60,
    from include/linux/irqflags.h:15,
    from arch/x86/include/asm/system.h:11,
    from arch/x86/include/asm/processor.h:17,
    from include/linux/prefetch.h:14,
    from include/linux/list.h:7,
    from include/linux/module.h:9,
    from drivers/ata/pata_cs5536.c:33:
    arch/x86/include/asm/paravirt.h:146:1: warning: this is the location of the previous definition
    drivers/ata/pata_cs5536.c:48:1: warning: "wrmsr" redefined
    arch/x86/include/asm/paravirt.h:154:1: warning: this is the location of the previous definition

    Reported-by: Stephen Rothwell
    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Len Brown
     
  • GPEs with corresponding _Lxx/_Exx control methods need to be disabled
    during initialization in case they have been enabled by the BIOS, so
    that they don't fire up until they are enabled by acpi_update_gpes().

    References: https://bugzilla.kernel.org/show_bug.cgi?id=25412
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)
    ipv4: dont create routes on down devices
    epic100: hamachi: yellowfin: Fix skb allocation size
    sundance: Fix oopses with corrupted skb_shared_info
    Revert "ipv4: Allow configuring subnets as local addresses"
    USB: mcs7830: return negative if auto negotiate fails
    irda: prevent integer underflow in IRLMP_ENUMDEVICES
    tcp: fix listening_get_next()
    atl1c: Do not use legacy PCI power management
    mac80211: fix mesh forwarding
    MAINTAINERS: email address change
    net: Fix range checks in tcf_valid_offset().
    net_sched: sch_sfq: fix allot handling
    hostap: remove netif_stop_queue from init
    mac80211/rt2x00: add ieee80211_tx_status_ni()
    typhoon: memory corruption in typhoon_get_drvinfo()
    net: Add USB PID for new MOSCHIP USB ethernet controller MCS7832 variant
    net_sched: always clone skbs
    ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed.
    netlink: fix gcc -Wconversion compilation warning
    asix: add USB ID for Logitec LAN-GTJ U2A
    ...

    Linus Torvalds
     

26 Dec, 2010

4 commits

  • In ip_route_output_slow(), instead of allowing a route to be created on
    a not UPed device, report -ENETUNREACH immediately.

    # ip tunnel add mode ipip remote 10.16.0.164 local
    10.16.0.72 dev eth0
    # (Note : tunl1 is down)
    # ping -I tunl1 10.1.2.3
    PING 10.1.2.3 (10.1.2.3) from 192.168.18.5 tunl1: 56(84) bytes of data.
    (nothing)
    # ./a.out tunl1
    # ip tunnel del tunl1
    Message from syslogd@shelby at Dec 22 10:12:08 ...
    kernel: unregister_netdevice: waiting for tunl1 to become free.
    Usage count = 3

    After patch:
    # ping -I tunl1 10.1.2.3
    connect: Network is unreachable

    Reported-by: Nicolas Dichtel
    Signed-off-by: Eric Dumazet
    Reviewed-by: Octavian Purdila
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Joel Soete reported oopses during pppoe over sundance NIC, caused by
    a bug in skb allocation and dma mapping code, where skb_reserve()
    bytes weren't taken into account. As a followup to the patch:
    "sundance: Fix oopses with corrupted skb_shared_info" very similar
    code is fixed here for three other drivers.

    Signed-off-by: Jarek Poplawski
    Cc: Joel Soete
    Cc: Eric Dumazet
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • Joel Soete reported oopses at the beginning of pppoe connections since
    v2.6.35. After debugging the bug was found in sundance skb allocation
    and dma mapping code, where skb_reserve() bytes aren't taken into
    account. This is an old bug, only uncovered by some change in 2.6.35.

    Initial debugging patch by: Eric Dumazet

    Reported-by: Joel Soete
    Tested-by: Joel Soete
    Signed-off-by: Jarek Poplawski
    Cc: Eric Dumazet
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • A recent patch has introduced a regression, whereby a second open of an
    soc-camera video device breaks the running capture. This patch fixes this bug
    by guaranteeing, that video buffers get initialised only during the first open
    of the device node.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     

25 Dec, 2010

10 commits

  • This reverts commit 3138b32d5e0998ba3cbd1c74bdc1887d74c5279b.

    as it caused a crash upon battery removal:
    https://bugzilla.kernel.org/show_bug.cgi?id=25302

    Signed-off-by: Len Brown

    Len Brown
     
  • * 'merge' of git://git.secretlab.ca/git/linux-2.6:
    spi/mpc52xx-spi: fix annotation for remove()-pointer
    spi/fsl_espi: fix wrong setting of the address in the command buffer
    spi/fsl_espi: change the read behaviour of the SPIRF
    of/i2c: Fix request module by alias
    powerpc/mpc5200: include fs.h in mpc52xx_gpt.c

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: issue DIPM enable commands with LPM state updated
    libata: no special completion processing for EH commands
    pata_mpc52xx: driver needs BMDMA
    pata_cs5536: Add support for non-X86_32 platforms
    libata-sff: fix HSM_ST_ERR handling in __ata_sff_port_intr()

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: print out alloc information with KERN_DEBUG instead of KERN_INFO
    kthread_work: make lockdep happy

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
    [SCSI] fix up documentation for change in ->queuecommand to lockless calling
    [SCSI] bfa: rename log_level to bfa_log_level

    Linus Torvalds
     
  • Low level drivers may behave differently depending on the current
    link->lpm_policy. During ata_eh_set_lpm(), DIPM enable commands are
    issued after the successful completion of ap->ops->set_lpm(), which
    means that the controller is already in the target state. This causes
    DIPM enable commands to be processed with mismatching controller power
    state and link->lpm_policy value.

    In ahci, link->lpm_policy is used to ignore certain PHY events if LPM
    is enabled; however, as DIPM commands are issued with stale
    link->lpm_policy, they sometimes end up triggering these conditions
    and get aborted leading to LPM configuration failure.

    Fix it by updating link->lpm_policy before issuing DIPM enable
    commands.

    Signed-off-by: Tejun Heo
    Reported-by: Kyle McMartin
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • ata_qc_complete() contains special handling for certain commands. For
    example, it schedules EH for device revalidation after certain
    configurations are changed. These shouldn't be applied to EH
    commands but they were.

    In most cases, it doesn't cause an actual problem because EH doesn't
    issue any command which would trigger special handling; however, ACPI
    can issue such commands via _GTF which can cause weird interactions.

    Restructure ata_qc_complete() such that EH commands are always passed
    on to __ata_qc_complete().

    stable: Please apply to -stable only after 2.6.38 is released.

    Signed-off-by: Tejun Heo
    Reported-by: Kyle McMartin
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Found by this build-error if BMDMA is disabled:

    drivers/ata/pata_mpc52xx.c: In function 'mpc52xx_ata_init_one':
    drivers/ata/pata_mpc52xx.c:662: error: 'ata_bmdma_interrupt' undeclared (first use in this function)
    ...

    Move the Kconfig entry to the proper location as needed since
    9a7780c9acb821fe1c2b6fc53f74cc2556ff5364 (libata-sff: make BMDMA optional)

    Signed-off-by: Wolfram Sang
    Signed-off-by: Jeff Garzik

    Wolfram Sang
     
  • pata_cs5536 does work on the other platforms(e.g. Loongson, a MIPS
    variant), so, remove the dependency of X86_32 and fix the building
    errors under the other platforms via only reserving the X86_32 specific
    parts for X86_32.

    pata_amd also supports cs5536 IDE controller, but this one saves about
    33k for the compressed kernel image(vmlinuz for MIPS).

    Signed-off-by: Zhang Le
    Signed-off-by: Chen Jie
    Signed-off-by: Wu Zhangjin
    Signed-off-by: Jeff Garzik

    Wu Zhangjin
     
  • While separating out BMDMA irq handler from SFF, commit c3b28894
    (libata-sff: separate out BMDMA irq handler) incorrectly made
    __ata_sff_port_intr() consider an IRQ to be an idle one if the host
    state was transitioned to HSM_ST_ERR by ata_bmdma_port_intr().

    This makes BMDMA drivers ignore IRQs reporting host bus error which
    leads to timeouts instead of triggering EH immediately. Fix it by
    making __ata_sff_port_intr() consider the IRQ to be an idle one iff
    the state is HSM_ST_IDLE. This is equivalent to adding HSM_ST_ERR to
    the "break"ing case but less error-prone.

    Signed-off-by: Tejun Heo
    Reported-by: Antonio Toma
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

24 Dec, 2010

7 commits

  • Presently the root node is initialized by way of kzalloc on the parent
    data structure, which by chance happens to do the bulk of what an
    explicit initialization does with GFP_NOWAIT semantics. This however is
    more by luck than by design, and as we ideally want to permit radix node
    allocations access to the emergency pools anyways, add in the proper
    initializer with the desired mask.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Signed-off-by: Wolfram Sang
    Signed-off-by: Grant Likely

    Wolfram Sang
     
  • Or else we can't operate on the right address when the trans length
    is greater than 65535.

    Signed-off-by: Mingkai Hu
    Signed-off-by: Grant Likely

    Mingkai Hu
     
  • The user must read N bytes of SPIRF (1
    Signed-off-by: Grant Likely

    Mingkai Hu
     
  • If we are registering an i2c device that has a device tree node like
    this real-world example:

    rtc@68 {
    compatible = "dallas,ds1337";
    reg = ;
    };

    of_i2c_register_devices() will try to load a module called ds1337.ko.
    There is no such module, so it will fail. If we look in modules.alias
    we will find entries like these:

    .
    .
    .
    alias i2c:ds1339 rtc_ds1307
    alias i2c:ds1338 rtc_ds1307
    alias i2c:ds1337 rtc_ds1307
    alias i2c:ds1307 rtc_ds1307
    alias i2c:ds1374 rtc_ds1374
    .
    .
    .

    The module we want is really called rtc_ds1307.ko. If we request a
    module called "i2c:ds1337", the userspace module loader will do the
    right thing (unless it is busybox) and load rtc_ds1307.ko. So we add
    the I2C_MODULE_PREFIX to the request_module() string.

    Signed-off-by: David Daney
    Signed-off-by: Grant Likely

    David Daney
     
  • On my system with a radeon x2, the first GPU was not overlapping vesa
    but the test decided it was.

    Signed-off-by: Dave Airlie
    Reviewed-by: Michel Dänzer
    Signed-off-by: Paul Mundt

    Dave Airlie
     
  • The master clock initialization for SH7201 was wholly bogus. Users of the
    legacy API must initialize the clock rate through the struct clk itself
    rather than returning the clock frequency. Given that the init function
    itself is void, returning the frequency isn't terribly effective.

    Signed-off-by: Paul Mundt

    Paul Mundt