1. 11 8月, 2010 27 次提交
  2. 10 8月, 2010 13 次提交
    • 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
    • M
      rwsem: lighter active count checks when waking up readers · 70bdc6e0
      Michel Lespinasse 提交于
      In __rwsem_do_wake(), we can skip the active count check unless we come
      there from up_xxxx().  Also when checking the active count, it is not
      actually necessary to increment it; this allows us to get rid of the read
      side undo code and simplify the calculation of the final rwsem count
      adjustment once we've counted the reader threads to wake.
      
      The basic observation is the following.  When there are waiter threads on
      a rwsem and the spinlock is held, other threads can only increment the
      active count by trying to grab the rwsem in down_xxxx().  However
      down_xxxx() will notice there are waiter threads and take the down_failed
      path, blocking to acquire the spinlock on the way there.  Therefore, a
      thread observing an active count of zero with waiters queued and the
      spinlock held, is protected against other threads acquiring the rwsem
      until it wakes the last waiter or releases the spinlock.
      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>
      70bdc6e0