Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v2.6.27-rc3
Commits on Aug 13, 2008
  1. Linus Torvalds

    Linux 2.6.27-rc3

    torvalds authored
Commits on Aug 12, 2008
  1. Linus Torvalds

    Merge branch 'for-2.6.27' of git://linux-nfs.org/~bfields/linux

    torvalds authored
    * 'for-2.6.27' of git://linux-nfs.org/~bfields/linux:
      fs/nfsd/export.c: Adjust error handling code involving auth_domain_put
      MAINTAINERS: mention lockd and sunrpc in nfs entries
      lockd: trivial sparse endian annotations
  2. Linus Torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds authored
    …/git/roland/infiniband
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
      IB/ehca: Discard double CQE for one WR
      IB/ehca: Check idr_find() return value
      IB/ehca: Repoll CQ on invalid opcode
      IB/ehca: Rename goto label in ehca_poll_cq_one()
      IB/ehca: Update qp_state on cached modify_qp()
      IPoIB/cm: Use vmalloc() to allocate rx_rings
  3. Linus Torvalds

    Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/g…

    torvalds authored
    …it/aegl/linux-2.6
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
      [IA64] use bcd2bin/bin2bcd
      [IA64] Ensure cpu0 can access per-cpu variables in early boot code
  4. Linus Torvalds

    firmware/memmap: cleanup

    Bernhard Walle authored torvalds committed
    Various cleanup the drivers/firmware/memmap (after review by AKPM):
    
        - fix kdoc to conform to the standard
        - move kdoc from header to implementation files
        - remove superfluous WARN_ON() after kmalloc()
        - WARN_ON(x); if (!x) -> if(!WARN_ON(x))
        - improve some comments
    
    Signed-off-by: Bernhard Walle <bwalle@suse.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  5. Linus Torvalds

    ALi M7101 PMU also available on Sun Netra's too

    Alexander Clouter authored torvalds committed
    My Sun Netra T1 AC200 has one of these... bit harsh not letting me use it
    and all :)
    
    ==========
    alex@woodchuck:~$ lspci -nn
    00:01.0 PCI bridge [0604]: Sun Microsystems Computer Corp. Simba Advanced PCI Bridge [108e:5000] (rev 13)
    00:01.1 PCI bridge [0604]: Sun Microsystems Computer Corp. Simba Advanced PCI Bridge [108e:5000] (rev 13)
    01:03.0 Non-VGA unclassified device [0000]: ALi Corporation M7101 Power Management Controller [PMU] [10b9:7101]
    01:05.1 Ethernet controller [0200]: Sun Microsystems Computer Corp. RIO GEM [108e:1101] (rev 01)
    01:05.3 USB Controller [0c03]: Sun Microsystems Computer Corp. RIO USB [108e:1103] (rev 01)
    01:07.0 ISA bridge [0601]: ALi Corporation M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+] [10b9:1533]
    01:0c.0 Bridge [0680]: Sun Microsystems Computer Corp. RIO EBUS [108e:1100] (rev 01)
    01:0c.1 Ethernet controller [0200]: Sun Microsystems Computer Corp. RIO GEM [108e:1101] (rev 01)
    01:0c.3 USB Controller [0c03]: Sun Microsystems Computer Corp. RIO USB [108e:1103] (rev 01)
    01:0d.0 IDE interface [0101]: ALi Corporation M5229 IDE [10b9:5229] (rev c3)
    02:08.0 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53C896/897 [1000:000b] (rev 07)
    02:08.1 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53C896/897 [1000:000b] (rev 07)
    ==========
    
    Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
    Cc: Wim Van Sebroeck <wim@iguana.be>
    Cc: "David S. Miller" <davem@davemloft.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  6. Michael Abbott Linus Torvalds

    Make ioctl.h compatible with userland

    Araneidae authored torvalds committed
    The attached patch seems to already exist in a number of branches -- it
    keeps popping up on Google for me, and is certainly already in Debian --
    but is strangely absent from mainstream.
    
    The problem appears to be that the patched file ends up as part of the
    target toolchain, but unfortunately the gcc constant folding doesn't
    appear to eliminate the __invalid_size_argument_for_IOC value early
    enough.  Certainly compiling C++ programs which use _IO...  macros as
    constants fails without this patch.
    
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  7. Linus Torvalds

    docsrc: fix getdelays printk formats

    Randy Dunlap authored torvalds committed
    Fix printf format type warnings (seen on alpha & ia64):
    
    Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 6 has type '__u64'
    Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 7 has type '__u64'
    Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
    Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 9 has type '__u64'
    Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 12 has type '__u64'
    Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 13 has type '__u64'
    Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 16 has type '__u64'
    Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 17 has type '__u64'
    Documentation/accounting/getdelays.c:214: warning: format '%15llu' expects type 'long long unsigned int', but argument 4 has type '__u64'
    Documentation/accounting/getdelays.c:214: warning: format '%15llu' expects type 'long long unsigned int', but argument 5 has type '__u64'
    Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 2 has type '__u64'
    Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type '__u64'
    Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type '__u64'
    Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 5 has type '__u64'
    Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 6 has type '__u64'
    Documentation/accounting/getdelays.c:236: warning: 'cmd_type' may be used uninitialized in this function
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Balbir Singh <balbir@in.ibm.com>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  8. Linus Torvalds

    docsrc: fix crc32hash type

    Randy Dunlap authored torvalds committed
    Fix differing signedness warning:
    
    Documentation/pcmcia/crc32hash.c:29: warning: pointer targets in passing argument 1 of 'crc32' differ in signedness
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  9. Linus Torvalds

    docsrc: fix ifenslave type

    Randy Dunlap authored torvalds committed
    Documentation/networking/ifenslave.c:1084: warning: pointer targets in assignment differ in signedness
    
    >From include/linux/socket.h:
     *	1003.1g requires sa_family_t and that sa_data is char.
    
    and from SUSv3:
    (http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/socket.h.html)
    
    The <sys/socket.h> header shall define the sockaddr structure that includes at least the following members:
    
    sa_family_t  sa_family  Address family.
    char         sa_data[]  Socket address (variable-length data).
    <end SUSv3>
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: "David S. Miller" <davem@davemloft.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  10. Linus Torvalds

    docsrc: fix procfs example

    Randy Dunlap authored torvalds committed
    Add MODULE_LICENSE() to DocBook/procfs_example.c since modpost complained
    about a missing license there.
    
    Remove tty procfs removal since the creation was deleted long ago
    (http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=5ad9cb65e9b15e5b83e2dd1c10a4bcaccc4ec644).
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: <J.A.K.Mouw@its.tudelft.nl>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  11. Linus Torvalds

    docsrc: build Documentation/ sources

    Randy Dunlap authored torvalds committed
    Currently source files in the Documentation/ sub-dir can easily bit-rot
    since they are not generally buildable, either because they are hidden in
    text files or because there are no Makefile rules for them.  This needs to
    be fixed so that the source files remain usable and good examples of code
    instead of bad examples.
    
    Add the ability to build source files that are in the Documentation/ dir.
    Add to Kconfig as "BUILD_DOCSRC" config symbol.
    
    Use "CONFIG_BUILD_DOCSRC=1 make ..." to build objects from the
    Documentation/ sources.  Or enable BUILD_DOCSRC in the *config system.
    However, this symbol depends on HEADERS_CHECK since the header files need
    to be installed (for userspace builds).
    
    Built (using cross-tools) for x86-64, i386, alpha, ia64, sparc32,
    sparc64, powerpc, sh, m68k, & mips.
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  12. Harvey Harrison Linus Torvalds

    byteorder: add include/linux/byteorder.h to define endian helpers

    hharrison authored torvalds committed
    Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  13. Harvey Harrison Linus Torvalds

    byteorder: add a new include/linux/swab.h to define byteswapping func…

    hharrison authored torvalds committed
    …tions
    
    Collect the implementations from include/linux/byteorder/swab.h, swabb.h
    in swab.h
    
    The functionality provided covers:
    u16 swab16(u16 val) - return a byteswapped 16 bit value
    u32 swab32(u32 val) - return a byteswapped 32 bit value
    u64 swab64(u64 val) - return a byteswapped 64 bit value
    u32 swahw32(u32 val) - return a wordswapped 32 bit value
    u32 swahb32(u32 val) - return a high/low byteswapped 32 bit value
    
    Similar to above, but return swapped value from a naturally-aligned pointer
    u16 swab16p(u16 *p)
    u32 swab32p(u32 *p)
    u64 swab64p(u64 *p)
    u32 swahw32p(u32 *p)
    u32 swahb32p(u32 *p)
    
    Similar to above, but swap the value in-place (in-situ)
    void swab16s(u16 *p)
    void swab32s(u32 *p)
    void swab64s(u64 *p)
    void swahw32s(u32 *p)
    void swahb32s(u32 *p)
    
    Arches can override any of these with an optimized version by defining an
    inline in their asm/byteorder.h (example given for swab16()):
    
    u16 __arch_swab16() {}
     #define __arch_swab16 __arch_swab16
    
    Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  14. Linus Torvalds

    genirq: switch /proc/irq/*/smp_affinity et al to seqfiles

    Alexey Dobriyan authored torvalds committed
    Switch /proc/irq/*/smp_affinity , /proc/irq/default_smp_affinity to
    seq_files.
    
    cat(1) reads with 1024 chunks by default, with high enough NR_CPUS, there
    will be -EINVAL.
    
    As side effect, there are now two less users of the ->read_proc interface.
    
    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Paul Jackson <pj@sgi.com>
    Cc: Mike Travis <travis@sgi.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  15. Linus Torvalds

    seq_file: add seq_cpumask(), seq_nodemask()

    Alexey Dobriyan authored torvalds committed
    Short enough reads from /proc/irq/*/smp_affinity return -EINVAL for no
    good reason.
    
    This became noticed with NR_CPUS=4096 patches, when length of printed
    representation of cpumask becase 1152, but cat(1) continued to read with
    1024-byte chunks.  bitmap_scnprintf() in good faith fills buffer, returns
    1023, check returns -EINVAL.
    
    Fix it by switching to seq_file, so handler will just fill buffer and
    doesn't care about offsets, length, filling EOF and all this crap.
    
    For that add seq_bitmap(), and wrappers around it -- seq_cpumask() and
    seq_nodemask().
    
    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Reviewed-by: Paul Jackson <pj@sgi.com>
    Cc: Mike Travis <travis@sgi.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  16. Linus Torvalds

    reiserfs: removed duplicated #include

    Huang Weiyi authored torvalds committed
    Removed duplicated #include <linux/quotaops.h> in
    fs/reiserfs/super.c.
    
    Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  17. Linus Torvalds

    fs/eventpoll.c: fix sys_epoll_create1() comment

    Andrew Morton authored torvalds committed
    The `size' argument was removed.
    
    Reported-by:  Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Ulrich Drepper <drepper@redhat.com>
    Cc: Davide Libenzi <davidel@xmailserver.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  18. Linus Torvalds

    drivers/char/rtc.c: removed duplicated include

    Huang Weiyi authored torvalds committed
    Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  19. Linus Torvalds

    mm/sparse.c: removed duplicated include

    Huang Weiyi authored torvalds committed
    Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  20. Linus Torvalds

    move kernel-doc comment for might_sleep directly before its defining …

    Uwe Kleine-König authored torvalds committed
    …block
    
    Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  21. Linus Torvalds

    lib/vsprintf.c: wrong conversion function used

    Yi Yang authored torvalds committed
    Fix wrong conversion function used by strict_strtou*
    
    Signed-off-by: Yi Yang <yi.y.yang@intel.com>
    Reported-by: Swen Schillig <swen@vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  22. Linus Torvalds

    fbcon: prevent cursor disappearance after switching to 512 character …

    Krzysztof Helt authored torvalds committed
    …font
    
    Adjust and honor the vc_scrl_erase_char for 256 and 512 character fonts.
    
    It fixes the issue with disappearing cursor during scrolling
    (http://bugzilla.kernel.org/show_bug.cgi?id=11258).  The issue was
    reported and tracked by Peter Hanzel.
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
    Reported-by: Peter Hanzel <hanzelpeter@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  23. Linus Torvalds

    atmel_lcdfb: add board parameter specify framebuffer memory size

    Haavard Skinnemoen authored torvalds committed
    Specify how much physically continuous, DMA capable memory will be
    allocated at driver initialization time.  This allow to create framebuffer
    device with larger virtual resolution.  Combine with y-panning this can be
    used to implement double buffering acceleration method.
    
    Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
    Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
    Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
    Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  24. Linus Torvalds

    atmel_lcdfb: set ypanstep to 1 and enable y-panning on AT91

    Haavard Skinnemoen authored torvalds committed
    Panning in the y-direction can be done by simply changing the DMA base
    address.  This code is already in place, but FBIOPAN_DISPLAY will
    currently fail because ypanstep is 0.
    
    Set ypanstep to 1 to indicate that we do support y-panning and also set
    the necessary acceleration flags on AT91 (AVR32 already have them.)
    
    Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
    Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
    Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  25. Linus Torvalds

    matrox maven: convert to a new-style i2c driver

    Jean Delvare authored torvalds committed
    The legacy i2c model is going away soon, so switch to the new model.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
    Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  26. Linus Torvalds

    matroxfb: i2c structure templates clean-up

    Jean Delvare authored torvalds committed
    Clean up the use of structure templates in i2c-matroxfb. In this case
    it's more efficient to initialize the few fields we need individually.
    This makes i2c-matroxfb.ko 16% smaller on my system.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
    Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  27. Linus Torvalds

    matrox maven: fix a broken error path

    Jean Delvare authored torvalds committed
    I broke an error path with d03c21e,
    sorry about that.
    
    The machine will crash if the i2c_attach_client() or maven_init_client()
    calls fail, although nobody has yet reported this happening.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
    Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>
    Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  28. Linus Torvalds

    do_migrate_pages(): remove unused variable

    MinChan Kim authored torvalds committed
    Signed-off-by: MinChan Kim <minchan.kim@gmail.com>
    Acked-by: Christoph Lameter <cl@linux-foundation.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  29. Linus Torvalds

    GRU: fix preprocessor symbol for sparse

    Randy Dunlap authored torvalds committed
    Fix preprocessor symbol so that sparse sees it and does not generate
    errors:
    
      drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
      drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
      drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
      drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
      drivers/misc/sgi-gru/grutlbpurge.c:185:11: error: undefined identifier 'GRUREGION'
      drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
      drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Jack Steiner <steiner@sgi.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  30. davem330 Linus Torvalds

    radeonfb: fix accel engine hangs

    davem330 authored torvalds committed
    Some chips appear to have the 2D engine hang during screen redraw,
    typically in a sequence of copyarea operations. This appear to be
    solved by adding a flush of the engine destination pixel cache
    and waiting for the engine to be idle before issuing the accel
    operation. The performance impact seems to be fairly small.
    
    Here is a trace on an RV370 (PCI device ID 0x5b64), it records the
    RBBM_STATUS register, then the source x/y, destination x/y, and
    width/height used for the copy:
    
    ----------------------------------------
    radeonfb_prim_copyarea: STATUS[00000140] src[210:70] dst[210:60] wh[a0:10]
    radeonfb_prim_copyarea: STATUS[00000140] src[2b8:70] dst[2b8:60] wh[88:10]
    radeonfb_prim_copyarea: STATUS[00000140] src[348:70] dst[348:60] wh[40:10]
    radeonfb_prim_copyarea: STATUS[80020140] src[390:70] dst[390:60] wh[88:10]
    radeonfb_prim_copyarea: STATUS[8002613f] src[40:80] dst[40:70] wh[28:10]
    radeonfb_prim_copyarea: STATUS[80026139] src[a8:80] dst[a8:70] wh[38:10]
    radeonfb_prim_copyarea: STATUS[80026133] src[e8:80] dst[e8:70] wh[80:10]
    radeonfb_prim_copyarea: STATUS[8002612d] src[170:80] dst[170:70] wh[30:10]
    radeonfb_prim_copyarea: STATUS[80026127] src[1a8:80] dst[1a8:70] wh[8:10]
    radeonfb_prim_copyarea: STATUS[80026121] src[1b8:80] dst[1b8:70] wh[88:10]
    radeonfb_prim_copyarea: STATUS[8002611b] src[248:80] dst[248:70] wh[68:10]
    ----------------------------------------
    
    When things are going fine the copies complete before the next ROP is
    even issued, but all of a sudden the 2D unit becomes active (bit 17 in
    RBBM_STATUS) and the FIFO retry (bit 13) and FIFO pipeline busy (bit
    14) are set as well.  The FIFO begins to backup until it becomes full.
    
    What happens next is the radeon_fifo_wait() times out, and we access
    the chip illegally leading to a bus error which usually wedges the
    box.  None of this makes it to the console screen, of course :-)
    radeon_fifo_wait() should be modified to reset the accelerator when
    this timeout happens instead of programming the chip anyways.
    
    ----------------------------------------
    radeonfb: FIFO Timeout !
    ERROR(0): Cheetah error trap taken afsr[0010080005000000] afar[000007f900800e40] TL1(0)
    ERROR(0): TPC[595114] TNPC[595118] O7[459788] TSTATE[11009601]
    ERROR(0): TPC<radeonfb_copyarea+0xfc/0x248>
    ERROR(0): M_SYND(0),  E_SYND(0), Privileged
    ERROR(0): Highest priority error (0000080000000000) "Bus error response from system bus"
    ERROR(0): D-cache idx[0] tag[0000000000000000] utag[0000000000000000] stag[0000000000000000]
    ERROR(0): D-cache data0[0000000000000000] data1[0000000000000000] data2[0000000000000000] data3[0000000000000000]
    ERROR(0): I-cache idx[0] tag[0000000000000000] utag[0000000000000000] stag[0000000000000000] u[0000000000000000] l[00\
    
    ERROR(0): I-cache INSN0[0000000000000000] INSN1[0000000000000000] INSN2[0000000000000000] INSN3[0000000000000000]
    ERROR(0): I-cache INSN4[0000000000000000] INSN5[0000000000000000] INSN6[0000000000000000] INSN7[0000000000000000]
    ERROR(0): E-cache idx[800e40] tag[000000000e049f4c]
    ERROR(0): E-cache data0[fffff8127d300180] data1[00000000004b5384] data2[0000000000000000] data3[0000000000000000]
    Ker:xnel panic - not syncing: Irrecoverable deferred error trap.
    ----------------------------------------
    
    Another quirk is that these copyarea calls will not happen until the
    first drivers/char/vt.c:redraw_screen() occurs.  This will only happen
    if you 1) VC switch or 2) run "consolechars" or 3) unblank the screen.
    
    This seems to happen because until a redraw_screen() the screen scrolling
    method used by fbcon is not finalized yet.  I've seen this with other fb
    drivers too.
    
    So if all you do is boot straight into X you will never see this bug on
    the relevant chips.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  31. Andy Whitcroft Linus Torvalds

    allocate structures for reservation tracking in hugetlbfs outside of …

    awhitcroft authored torvalds committed
    …spinlocks v2
    
    [Andrew this should replace the previous version which did not check
    the returns from the region prepare for errors.  This has been tested by
    us and Gerald and it looks good.
    
    Bah, while reviewing the locking based on your previous email I spotted
    that we need to check the return from the vma_needs_reservation call for
    allocation errors.  Here is an updated patch to correct this.  This passes
    testing here.]
    
    Signed-off-by: Andy Whitcroft <apw@shadowen.org>
    Tested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  32. Andy Whitcroft Linus Torvalds

    hugetlbfs: allocate structures for reservation tracking outside of sp…

    awhitcroft authored torvalds committed
    …inlocks
    
    In the normal case, hugetlbfs reserves hugepages at map time so that the
    pages exist for future faults.  A struct file_region is used to track when
    reservations have been consumed and where.  These file_regions are
    allocated as necessary with kmalloc() which can sleep with the
    mm->page_table_lock held.  This is wrong and triggers may-sleep warning
    when PREEMPT is enabled.
    
    Updates to the underlying file_region are done in two phases.  The first
    phase prepares the region for the change, allocating any necessary memory,
    without actually making the change.  The second phase actually commits the
    change.  This patch makes use of this by checking the reservations before
    the page_table_lock is taken; triggering any necessary allocations.  This
    may then be safely repeated within the locks without any allocations being
    required.
    
    Credit to Mel Gorman for diagnosing this failure and initial versions of
    the patch.
    
    Signed-off-by: Andy Whitcroft <apw@shadowen.org>
    Tested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  33. Linus Torvalds

    isight_firmware: fix a leak and double kfree()

    Parag Warudkar authored torvalds committed
    Signed-off-by: Parag Warudkar <parag.warudkar@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  34. rabinv Linus Torvalds

    cpuidle: make sysfs attributes sysdev class attributes

    rabinv authored torvalds committed
    These attributes are really sysdev class attributes.  The incorrect
    definition leads to an oops because of recent changes which make sysdev
    attributes use a different prototype.
    
    Based on Andi's f718cd4 ("sched: make
    scheduler sysfs attributes sysdev class devices")
    
    Reported-by: Eric Sesterhenn <snakebyte@gmx.de>
    Signed-off-by: Rabin Vincent <rabin@rab.in>
    Acked-by: Andi Kleen <ak@linux.intel.com>
    Cc: "Li, Shaohua" <shaohua.li@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Something went wrong with that request. Please try again.