1. 11 8月, 2010 28 次提交
  2. 10 8月, 2010 12 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · f6cec0ae
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (59 commits)
        igbvf.txt: Add igbvf Documentation
        igb.txt: Add igb documentation
        e100/e1000*/igb*/ixgb*: Add missing read memory barrier
        ixgbe: fix build error with FCOE_CONFIG without DCB_CONFIG
        netxen: protect tx timeout recovery by rtnl lock
        isdn: gigaset: use after free
        isdn: gigaset: add missing unlock
        solos-pci: Fix race condition in tasklet RX handling
        pkt_sched: Fix sch_sfq vs tcf_bind_filter oops
        net: disable preemption before call smp_processor_id()
        tcp: no md5sig option size check bug
        iwlwifi: fix locking assertions
        iwlwifi: fix TX tracer
        isdn: fix information leak
        net: Fix napi_gro_frags vs netpoll path
        usbnet: remove noisy and hardly useful printk
        rtl8180: avoid potential NULL deref in rtl8180_beacon_work
        ath9k: Remove myself from the MAINTAINERS list
        libertas: scan before assocation if no BSSID was given
        libertas: fix association with some APs by using extended rates
        ...
      f6cec0ae
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 · 0fcf12d5
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
        tx493xide: use min_t() macro instead of min()
        drivers/ide: Use memdup_user
        via82cxxx: fix typo for VT6415 PCIE PATA IDE Host Controller support.
        ide-cd: Do not access completed requests in the irq handler
      0fcf12d5
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 4d15393d
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Update defconfig.
        sparc: Kill user copy check code.
        sparc64: Fix perf_arch_get_caller_regs().
        sparc64: Add missing ID to parport probing code.
      4d15393d
    • L
      Merge branch 'rs485fix' of git://www.jni.nu/cris · 7fbd15f9
      Linus Torvalds 提交于
      * 'rs485fix' of git://www.jni.nu/cris:
        CRIS: ioctl for getting RS485 information
      7fbd15f9
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 1989425a
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: fix build with make 3.82
        Revert "Input: appletouch - fix integer overflow issue"
        memblock: Fix memblock_is_region_reserved() to return a boolean
        powerpc: Trim defconfigs
        powerpc: fix i8042 module build error
        sound/soc: mpc5200_psc_ac97: Use gpio pins for cold reset
        powerpc/5200: add mpc5200_psc_ac97_gpio_reset
      1989425a
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin · 0fc2f137
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (32 commits)
        Blackfin: gpio: add a debounce stub
        Blackfin: update defconfigs
        Blackfin: remove CONFIG_MEM_GENERIC_BOARD
        Blackfin: dpmc: punt unnecessary RTC_ISTAT clearing
        Blackfin: unify rotary encoder bitmasks
        Blackfin: unify SDH/RSI bitmasks
        Blackfin: BF54x: tweak DMAC MMR naming to match other ports
        Blackfin: TWI: clean up the MMR names
        Blackfin: add EVT_OVERRIDE/IPRIO core MMR helpers
        Blackfin: add support for dynamic ftrace
        Blackfin: add support for LZO compressed kernels
        Blackfin: portmux: fix peripheral map overflow when requesting pins
        Blackfin: document SPI CS limitations with CPHA=0
        Blackfin: remove useless and outdated documentation
        Blackfin: BF51x/BF52x: support GPIO Hysteresis/Schmitt Trigger options
        Blackfin: gpio/portmux: clean up whitespace corruption
        Blackfin: make sure mmiowb inserts a write barrier with SSYNC
        Blackfin: fix DMA/cache bug when resuming from suspend to RAM
        Blackfin: BF51x: fix handling of PH8 (the "internal" SPI0SEL4 pin)
        Blackfin: add a GPIO_DEFAULT_BOOT_SPI_CS
        ...
      0fc2f137
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx · dcded10f
      Linus Torvalds 提交于
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (30 commits)
        DMAENGINE: at_hdmac: locking fixlet
        DMAENGINE: pch_dma: kill another usage of __raw_{read|write}l
        dma: dmatest: fix potential sign bug
        ioat2: catch and recover from broken vtd configurations v6
        DMAENGINE: add runtime slave control to COH 901 318 v3
        DMAENGINE: add runtime slave config to DMA40 v3
        DMAENGINE: generic slave channel control v3
        dmaengine: Driver for Topcliff PCH DMA controller
        intel_mid: Add Mrst & Mfld DMA Drivers
        drivers/dma: Eliminate a NULL pointer dereference
        dma/timb_dma: compile warning on 32 bit
        DMAENGINE: ste_dma40: support older silicon
        DMAENGINE: ste_dma40: support disabling physical channels
        DMAENGINE: ste_dma40: no disabled phy channels on ux500
        DMAENGINE: ste_dma40: fix suspend bug
        DMAENGINE: ste_dma40: add DB8500 memcpy channels
        DMAENGINE: ste_dma40: no flow control on memcpy
        DMAENGINE: ste_dma40: arch updates for LCLA and LCPA
        DMAENGINE: ste_dma40: allocate LCLA dynamically
        DMAENGINE: ste_dma40: no premature stop
        ...
      
      Fix up trivial conflicts in arch/arm/mach-ux500/devices-db8500.c
      dcded10f
    • Q
      drivers/char/vt.c:vc_do_resize(): local var `end' should be unsigned long · 9e0ba741
      qiaochong 提交于
      According include/linux/console_struct.h,vc_scr_end is unsigned long.
      
      struct vc_data {
          unsigned short  vc_num;         /* Console number */
          unsigned int    vc_cols;        /* [#] Console size */
          unsigned int    vc_rows;
          unsigned int    vc_size_row;        /* Bytes per row */
          unsigned int    vc_scan_lines;      /* # of scan lines */
          unsigned long   vc_origin;      /* [!] Start of real screen */
          unsigned long   vc_scr_end;     /* [!] End of real screen */
          unsigned long   vc_visible_origin;  /* [!] Top of visible window */
          unsigned int    vc_top, vc_bottom;  /* Scrolling region */
          const struct consw *vc_sw;
          unsigned short  *vc_screenbuf;
      ...
      }
      Signed-off-by: Nqiaochong <qiaochong@loongson.cn>
      Cc: Greg KH <greg@kroah.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9e0ba741
    • Q
      drivers/char/vt.c: fix vc->vc_origin on take_over_console() · 02f0777a
      qiaochong 提交于
      kernel will die on some platform when switch from vga mode to framebuffer
      mode.  The reason of this bug is that bind_con_driver reset vc->vc_origin
      to (unsigned long)vc->vc_screenbuf.
      
      On vgacon vc->vc_origin is not releated to vc->vc_screenbuf,if set
      vc->vc_origin to vc->vc_screenbuf,kernel will die on vc_do_resize.
      
      static int vc_do_resize(struct tty_struct *tty, struct tty_struct *real_tty,
              struct vc_data *vc, unsigned int cols, unsigned int lines)
      {
          unsigned long old_origin, new_origin, new_scr_end, rlth, rrem, err = 0;
          unsigned int old_cols, old_rows, old_row_size, old_screen_size;
          unsigned int new_cols, new_rows, new_row_size, new_screen_size;
          unsigned int end, user;
      ...
              end = (old_rows > new_rows) ? old_origin +
                  (old_row_size * new_rows) :
                  vc->vc_scr_end;
      
      ...
      /*
      here for a test from vgacon to framebuffer:
      old_origin=0x810814a0,end=0xb00b8fa0,vc->vc_origin=0x810814a0
      the code bellow will copy memory from 0x810814a0 to 0xb00b8fa0,
      this will cover kernel code,kernel died here.
      */
      
          while (old_origin < end) {
      
              scr_memcpyw((unsigned short *) new_origin,
                      (unsigned short *) old_origin, rlth);
              if (rrem)
                  scr_memsetw((void *)(new_origin + rlth),
                          vc->vc_video_erase_char, rrem);
              old_origin += old_row_size;
              new_origin += new_row_size;
          }
      
      ...
      }
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: Nqiaochong <qiaochong@loongson.cn>
      Cc: Greg KH <greg@kroah.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      02f0777a
    • M
      rwsem: smaller wrappers around rwsem_down_failed_common · a8618a0e
      Michel Lespinasse 提交于
      More code can be pushed from rwsem_down_read_failed and
      rwsem_down_write_failed into rwsem_down_failed_common.
      
      Following change adding down_read_critical infrastructure support also
      enjoys having flags available in a register rather than having to fish it
      out in the struct rwsem_waiter...
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: Mike Waychison <mikew@google.com>
      Cc: Suleiman Souhlal <suleiman@google.com>
      Cc: Ying Han <yinghan@google.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a8618a0e
    • M
      rwsem: wake queued readers when writer blocks on active read lock · 424acaae
      Michel Lespinasse 提交于
      This change addresses the following situation:
      
      - Thread A acquires the rwsem for read
      - Thread B tries to acquire the rwsem for write, notices there is already
        an active owner for the rwsem.
      - Thread C tries to acquire the rwsem for read, notices that thread B already
        tried to acquire it.
      - Thread C grabs the spinlock and queues itself on the wait queue.
      - Thread B grabs the spinlock and queues itself behind C. At this point A is
        the only remaining active owner on the rwsem.
      
      In this situation thread B could notice that it was the last active writer
      on the rwsem, and decide to wake C to let it proceed in parallel with A
      since they both only want the rwsem for read.
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: Mike Waychison <mikew@google.com>
      Cc: Suleiman Souhlal <suleiman@google.com>
      Cc: Ying Han <yinghan@google.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      424acaae
    • M
      rwsem: let RWSEM_WAITING_BIAS represent any number of waiting threads · fd41b334
      Michel Lespinasse 提交于
      Previously each waiting thread added a bias of RWSEM_WAITING_BIAS.  With
      this change, the bias is added only once to indicate that the wait list is
      non-empty.
      
      This has a few nice properties which will be used in following changes:
      - when the spinlock is held and the waiter list is known to be non-empty,
        count < RWSEM_WAITING_BIAS  <=>  there is an active writer on that sem
      - count == RWSEM_WAITING_BIAS  <=>  there are waiting threads and no
                                           active readers/writers on that sem
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: Mike Waychison <mikew@google.com>
      Cc: Suleiman Souhlal <suleiman@google.com>
      Cc: Ying Han <yinghan@google.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fd41b334