Permalink
Commits on Aug 10, 2010
  1. @torvalds

    Merge branch 'for-linus' of git://neil.brown.name/md

    * 'for-linus' of git://neil.brown.name/md: (24 commits)
      md: clean up do_md_stop
      md: fix another deadlock with removing sysfs attributes.
      md: move revalidate_disk() back outside open_mutex
      md/raid10: fix deadlock with unaligned read during resync
      md/bitmap:  separate out loading a bitmap from initialising the structures.
      md/bitmap: prepare for storing write-intent-bitmap via dm-dirty-log.
      md/bitmap: optimise scanning of empty bitmaps.
      md/bitmap: clean up plugging calls.
      md/bitmap: reduce dependence on sysfs.
      md/bitmap: white space clean up and similar.
      md/raid5: export raid5 unplugging interface.
      md/plug: optionally use plugger to unplug an array during resync/recovery.
      md/raid5: add simple plugging infrastructure.
      md/raid5: export is_congested test
      raid5: Don't set read-ahead when there is no queue
      md: add support for raising dm events.
      md: export various start/stop interfaces
      md: split out md_rdev_init
      md: be more careful setting MD_CHANGE_CLEAN
      md/raid5: ensure we create a unique name for kmem_cache when mddev has no gendisk
      ...
    torvalds committed Aug 10, 2010
  2. @torvalds

    x86: fix up system call numbering nit

    As pointed out by Jiri Slaby: when I resolved the the 32-bit x85 system
    call entry tables for prlimit (due to the conflict with fanotify), I
    forgot to add the numbering in comments that we do for every fifth entry.
    
    Reported-by: Jiri Slaby <jslaby@suse.cz>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Aug 10, 2010
  3. @torvalds

    power: Remove owner field from attribute initialization code in OLPC …

    …driver
    
    Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Guenter Roeck committed with torvalds Aug 10, 2010
  4. @torvalds

    i2c.h: fix kernel-doc warnings

    Fix kernel-doc warnings in linux/i2c.h:
    
      Warning(include/linux/i2c.h:176): No description found for parameter 'alert'
      Warning(include/linux/i2c.h:259): No description found for parameter 'of_node'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Randy Dunlap committed with torvalds Aug 9, 2010
  5. @torvalds

    kernel/timer.c: fix kernel-doc function parameter warning

    Fix kernel-doc warning, add @timer description:
    
      Warning(kernel/timer.c:335): No description found for parameter 'timer'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Randy Dunlap committed with torvalds Aug 9, 2010
  6. @torvalds

    docbook: fixup media support files for htmldocs also

    'make htmldocs' produces errors due to missing a supporting media
    file, so add 'xmldoclinks' to the htmldocs dependencies so that the
    needed supporting file will be present.
    
      Documentation/DocBook/media.xml:4: warning: failed to load external entity "Documentation/DocBook/media-entities.tmpl"
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Randy Dunlap committed with torvalds Aug 9, 2010
  7. @torvalds

    docbook: fix fatal error from libata

    'make htmldocs' has a fatal error when processing libata.xml, as seen
    below.  The string "Example patterns:" (or any string with "example.*:"
    in it AFAIK) causes some part of the doc generation tool chain to try to
    produce an <informalexample> block without a beginning <para>, but
    there is an ending </para> generated, which throws things out of kilter.
    
    I don't even know where (what program) this is happening in.
    I searched in docproc and xmlto and in some XML stylesheets without
    finding anything.  If anyone can give me pointers about this, please do.
    Until this is fixed, let's just spell "Example" as "Sample"
    and match up the double quotation marks while there.
    
      Documentation/DocBook/libata.xml:6575: parser error : Opening and ending tag mismatch: programlisting line 6573 and para
         </para><para>
                ^
      Documentation/DocBook/libata.xml:6580: parser error : Opening and ending tag mismatch: para line 6575 and programlisting
      </programlisting></informalexample>
                       ^
      unable to parse Documentation/DocBook/libata.xml
      make[2]: *** [Documentation/DocBook/libata.html] Error 1
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Randy Dunlap committed with torvalds Aug 9, 2010
  8. @torvalds

    jfs: don't allow os2 xattr namespace overlap with others

    It's currently possible to bypass xattr namespace access rules by
    prefixing valid xattr names with "os2.", since the os2 namespace stores
    extended attributes in a legacy format with no prefix.
    
    This patch adds checking to deny access to any valid namespace prefix
    following "os2.".
    
    Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
    Reported-by: Sergey Vlasov <vsu@altlinux.ru>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Dave Kleikamp committed with torvalds Aug 9, 2010
  9. @torvalds

    Merge branch 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block

    * 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits)
      block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n
      xen-blkfront: fix missing out label
      blkdev: fix blkdev_issue_zeroout return value
      block: update request stacking methods to support discards
      block: fix missing export of blk_types.h
      writeback: fix bad _bh spinlock nesting
      drbd: revert "delay probes", feature is being re-implemented differently
      drbd: Initialize all members of sync_conf to their defaults [Bugz 315]
      drbd: Disable delay probes for the upcomming release
      writeback: cleanup bdi_register
      writeback: add new tracepoints
      writeback: remove unnecessary init_timer call
      writeback: optimize periodic bdi thread wakeups
      writeback: prevent unnecessary bdi threads wakeups
      writeback: move bdi threads exiting logic to the forker thread
      writeback: restructure bdi forker loop a little
      writeback: move last_active to bdi
      writeback: do not remove bdi from bdi_list
      writeback: simplify bdi code a little
      writeback: do not lose wake-ups in bdi threads
      ...
    
    Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and
    drivers/scsi/scsi_error.c as per Jens.
    torvalds committed Aug 10, 2010
  10. @torvalds

    Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/mchehab/linux-2.6
    
    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (94 commits)
      V4L/DVB: tvp7002: fix write to H-PLL Feedback Divider LSB register
      V4L/DVB: dvb: siano: free spinlock before schedule()
      V4L/DVB: media: video: pvrusb2: remove custom hex_to_bin()
      V4L/DVB: drivers: usbvideo: remove custom implementation of hex_to_bin()
      V4L/DVB: Report supported QAM modes on bt8xx
      V4L/DVB: media: ir-keytable: null dereference in debug code
      V4L/DVB: ivtv: convert to the new control framework
      V4L/DVB: ivtv: convert gpio subdev to new control framework
      V4L/DVB: wm8739: convert to the new control framework
      V4L/DVB: cs53l32a: convert to new control framework
      V4L/DVB: wm8775: convert to the new control framework
      V4L/DVB: cx2341x: convert to the control framework
      V4L/DVB: cx25840: convert to the new control framework
      V4L/DVB: cx25840/ivtv: replace ugly priv control with s_config
      V4L/DVB: saa717x: convert to the new control framework
      V4L/DVB: msp3400: convert to the new control framework
      V4L/DVB: saa7115: convert to the new control framework
      V4L/DVB: v4l2: hook up the new control framework into the core framework
      V4L/DVB: Documentation: add v4l2-controls.txt documenting the new controls API
      V4L/DVB: v4l2-ctrls: Whitespace cleanups
      ...
    torvalds committed Aug 10, 2010
  11. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-wat…

    …chdog
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
      watchdog: hpwdt: formatting of pointers in printk()
      watchdog: Adding support for ARM Primecell SP805 Watchdog
      watchdog: f71808e_wdt: new watchdog driver for Fintek F71808E and F71882FG
      watchdog: sch311x_wdt.c: set parent before registeriing the misc device in probe() function
      watchdog: wdt_pci.c: move ids to pci_ids.h
      watchdog: s3c2410_wdt - Fix removing of platform device
    torvalds committed Aug 10, 2010
  12. @torvalds

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

    …/git/roland/infiniband
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
      RDMA/cxgb4: Obtain RDMA QID ranges from LLD/FW
    torvalds committed Aug 10, 2010
  13. @torvalds

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

    …/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: xpad - add USB-ID for PL-3601 Xbox 360 pad
      Input: cy8ctmg100_ts - signedness bug
      Input: elantech - report position also with 3 fingers
      Input: elantech - discard the first 2 positions on some firmwares
      Input: adxl34x - do not mark device as disabled on startup
      Input: gpio_keys - add hooks to enable/disable device
      Input: evdev - rearrange ioctl handling
      Input: dynamically allocate ABS information
      Input: switch to input_abs_*() access functions
      Input: add static inline accessors for ABS properties
    torvalds committed Aug 10, 2010
  14. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (148 commits)
      USB: serial: fix stalled writes
      USB: remove fake "address-of" expressions
      USB: fix thread-unsafe anchor utiliy routines
      USB: usbtest: support test device with only one iso-in or iso-out endpoint
      USB: usbtest: avoid to free coherent buffer in atomic context
      USB: xhci: Set DMA mask for host.
      USB: xhci: Don't flush doorbell writes.
      USB: xhci: Reduce reads and writes of interrupter registers.
      USB: xhci: Make xhci_set_hc_event_deq() static.
      USB: xhci: Minimize HW event ring dequeue pointer writes.
      USB: xhci: Make xhci_handle_event() static.
      USB: xhci: Remove unnecessary reads of IRQ_PENDING register.
      USB: xhci: Performance - move xhci_work() into xhci_irq()
      USB: xhci: Performance - move interrupt handlers into xhci-ring.c
      USB: xhci: Performance - move functions that find ep ring.
      USB:: fix linux/usb.h kernel-doc warnings
      USB: add USB serial ssu100 driver
      USB: usb-storage: implement autosuspend
      USB: ehci: fix remove of ehci debugfs dir
      USB: Add USB 2.0 to ssb ohci driver
      ...
    torvalds committed Aug 10, 2010
  15. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6

    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (68 commits)
      U6715 16550A serial driver support
      Char: nozomi, set tty->driver_data appropriately
      Char: nozomi, fix tty->count counting
      serial: max3107: Fix gpiolib support
      hsu: call PCI pm hooks in suspend/resume function
      hsu: some code cleanup
      hsu: add a periodic timer to check dma rx channel
      hsu: driver for Medfield High Speed UART device
      mxser: remove unnesesary NULL check
      serial: add support for OX16PCI958 card
      serial: 68328serial.c: remove dead (ALMA_ANS | DRAGONIXVZ | M68EZ328ADS)
      timbuart: use __devinit and __devexit macros for probe and remove
      serial: MMIO32 support for 8250_early.c
      serial: mcf: don't take spinlocks in already protected functions
      serial: general fixes in the serial_rs485 structure
      serial: fix missing bit coverage of ASYNC_FLAGS
      serial: "altera_uart: simplify altera_uart_console_putc()" checkpatch fixes
      serial: crisv10: formatting of pointers in printk()
      vt: Fix warning: statement with no effect due to vt_kern.h
      tty_io: remove casts from void*
      ...
    torvalds committed Aug 10, 2010
  16. @jhovold @gregkh

    USB: serial: fix stalled writes

    As David VomLehn points out, it was possible to receive an interrupt
    before clearing the free-urb flag which could lead to the urb being
    incorrectly marked as busy.
    
    For the same reason, move tx_bytes accounting so that it will never be
    negative.
    
    Note that the free-flags set and clear operations do not need any
    additional locking as they are manipulated while USB_SERIAL_WRITE_BUSY
    is set.
    
    Reported-by: David VomLehn <dvomlehn@cisco.com>
    Tested-by: David VomLehn <dvomlehn@cisco.com>
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Cc: stable <stable@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jhovold committed with gregkh Aug 4, 2010
  17. @gregkh

    USB: remove fake "address-of" expressions

    Fake "address-of" expressions that evaluate to NULL generally confuse
    readers and can provoke compiler warnings.  This patch (as1412)
    removes three such fake expressions, using "#ifdef"s in their place.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Aug 5, 2010
  18. @chunkeey @gregkh

    USB: fix thread-unsafe anchor utiliy routines

    This patch fixes a race condition in two utility routines
    related to the removal/unlinking of urbs from an anchor.
    
    If two threads are concurrently accessing the same anchor,
    both could end up with the same urb - thinking they are
    the exclusive owner.
    
    Alan Stern pointed out a related issue in
    usb_unlink_anchored_urbs:
    
    "The URB isn't removed from the anchor until it completes
     (as a by-product of completion, in fact), which might not
     be for quite some time after the unlink call returns.
     In the meantime, the subroutine will keep trying to unlink
     it, over and over again."
    
    Cc: stable <stable@kernel.org>
    Cc: Oliver Neukum <oneukum@suse.de>
    Cc: Greg Kroah-Hartman <greg@kroah.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    chunkeey committed with gregkh Aug 3, 2010
  19. @ming1 @gregkh

    USB: usbtest: support test device with only one iso-in or iso-out end…

    …point
    
    It is very common that one altsetting may include only one iso-in or iso-out
    single endpoint, especially for high bandwidth endpoint, so support it.
    
    Signed-off-by: Ming Lei <tom.leiming@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ming1 committed with gregkh Aug 2, 2010
  20. @ming1 @gregkh

    USB: usbtest: avoid to free coherent buffer in atomic context

    This patch fixes the warning below:
    [30753.755998] ------------[ cut here ]------------
    [30753.755998] WARNING: at /home/tom/git/linux-2.6/linux-2.6-next/arch/x86/include/asm/dma-mapping.h:155 hcd_buffer_free+0xb1/0xd4 [usbcore]()
    [30753.755998] Hardware name: 6475EK2
    [30753.755998] Modules linked in: uvcvideo ehci_hcd usbtest cdc_ether usbnet vfat fat usb_storage nfsd lockd nfs_acl auth_rpcgss exportfs mii tun videodev v4l1_compat v4l2_compat_ioctl32 fuse bridge stp llc sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table mperf kvm_intel kvm arc4 ecb ath5k usbhid mac80211 snd_hda_codec_conexant ch341 usbserial ath cfg80211 thinkpad_acpi snd_hda_intel pcspkr wmi hwmon yenta_socket iTCO_wdt iTCO_vendor_support i2c_i801 e1000e snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore snd_page_alloc pata_acpi uhci_hcd ohci_hcd usbcore i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: uvcvideo]
    [30753.755998] Pid: 0, comm: swapper Tainted: G        W   2.6.35-rc6-gkh-wl+ #49
    [30753.755998] Call Trace:
    [30753.755998]  <IRQ>  [<ffffffff8104478a>] warn_slowpath_common+0x80/0x98
    [30753.755998]  [<ffffffff810447b7>] warn_slowpath_null+0x15/0x17
    [30753.755998]  [<ffffffffa00ce02d>] hcd_buffer_free+0xb1/0xd4 [usbcore]
    [30753.755998]  [<ffffffffa00c1345>] usb_free_coherent+0x1c/0x1e [usbcore]
    [30753.755998]  [<ffffffffa00b13e4>] simple_free_urb+0x23/0x2f [usbtest]
    [30753.755998]  [<ffffffffa00b210b>] iso_callback+0xbb/0x10f [usbtest]
    [30753.755998]  [<ffffffffa00c7390>] usb_hcd_giveback_urb+0x8c/0xc0 [usbcore]
    [30753.755998]  [<ffffffffa0449b35>] ehci_urb_done+0x84/0x95 [ehci_hcd]
    [30753.755998]  [<ffffffffa044b5a5>] ehci_work+0x41a/0x7dd [ehci_hcd]
    [30753.755998]  [<ffffffffa044e298>] ehci_irq+0x33b/0x370 [ehci_hcd]
    [30753.755998]  [<ffffffff8100fb05>] ? sched_clock+0x9/0xd
    [30753.755998]  [<ffffffff8105e641>] ? sched_clock_local+0x1c/0x82
    [30753.755998]  [<ffffffff8105e76a>] ? sched_clock_cpu+0xc3/0xce
    [30753.755998]  [<ffffffff81067c7e>] ? trace_hardirqs_off+0xd/0xf
    [30753.755998]  [<ffffffff8105e7b8>] ? cpu_clock+0x43/0x5e
    [30753.755998]  [<ffffffffa00c6999>] usb_hcd_irq+0x45/0xa1 [usbcore]
    [30753.755998]  [<ffffffff81092e02>] handle_IRQ_event+0x20/0xa5
    [30753.755998]  [<ffffffff81094cea>] handle_fasteoi_irq+0x92/0xd2
    [30753.755998]  [<ffffffff8100c0ed>] handle_irq+0x1f/0x2a
    [30753.755998]  [<ffffffff8100b75d>] do_IRQ+0x57/0xbe
    [30753.755998]  [<ffffffff8136a693>] ret_from_intr+0x0/0x16
    [30753.755998]  <EOI>  [<ffffffff81223baa>] ? acpi_idle_enter_bm+0x231/0x269
    [30753.755998]  [<ffffffff81223ba3>] ? acpi_idle_enter_bm+0x22a/0x269
    [30753.755998]  [<ffffffff812c4b6b>] cpuidle_idle_call+0x99/0xce
    [30753.755998]  [<ffffffff81008dd5>] cpu_idle+0x61/0xaa
    [30753.755998]  [<ffffffff8136374b>] start_secondary+0x1c2/0x1c6
    [30753.755998] ---[ end trace 904cfaf7ab4cb1a2 ]---
    
    Signed-off-by: Ming Lei <tom.leiming@gmail.com>
    Cc: stable <stable@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ming1 committed with gregkh Aug 2, 2010
  21. @gregkh

    USB: xhci: Set DMA mask for host.

    Tell the USB core that we can do DMA directly (instead of needing it to
    memory-map the buffers for PIO).  If the xHCI host supports 64-bit addresses,
    set the DMA mask accordingly.  Otherwise indicate the host can handle 32-bit DMA
    addresses.
    
    This improves performance because the USB core doesn't have to spend time
    remapping buffers in high memory into the 32-bit address range.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  22. @gregkh

    USB: xhci: Don't flush doorbell writes.

    To tell the host controller that there are transfers on the endpoint
    rings, we need to ring the endpoint doorbell.  This is a PCI MMIO write,
    which can be delayed until another register read is queued.
    
    The previous code would flush the doorbell write by reading the doorbell
    register after the write.  This may take time, and it's not necessary to
    force the host controller to know about the transfers right away.  Don't
    flush the doorbell register writes.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  23. @gregkh

    USB: xhci: Reduce reads and writes of interrupter registers.

    The interrupter register set includes a register that says whether interrupts
    are pending for each event ring (the IP bit).  Each MSI-X vector will get its
    own interrupter set with separate IP bits.  The status register includes an
    "Event Interrupt (EINT)" bit that is set when an IP bit is set in any of the
    interrupters.
    
    When PCI interrupts are used, the EINT bit exactly mirrors the IP bit in the
    single interrupter set, and it is a waste of time to check both registers when
    trying to figure out if the xHC interrupted or another device on the shared IRQ
    line interrupted.  Only check the IP bit to reduce register reads.
    
    The IP bit is automatically cleared by the xHC when MSI or MSI-X is enabled.  It
    doesn't make sense to read that register to check for shared interrupts (since
    MSI and MSI-X aren't shared).  It also doesn't make sense to write to that
    register to clear the IP bit, since it is cleared by the hardware.
    
    We can tell whether MSI or MSI-X is enabled by looking at the irq number in
    hcd->irq.  If it's -1, we know MSI or MSI-X is enabled.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  24. @gregkh

    USB: xhci: Make xhci_set_hc_event_deq() static.

    Now that the event handler functions no longer use xhci_set_hc_event_deq()
    to update the event ring dequeue pointer, that function is not used by
    anything in xhci-ring.c.  Move that function into xhci-mem.c and make it
    static.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  25. @gregkh

    USB: xhci: Minimize HW event ring dequeue pointer writes.

    The xHCI specification suggests that writing the hardware event ring dequeue
    pointer register too often can be an expensive operation for the xHCI hardware
    to manage.  It suggests minimizing the number of writes to that register.
    
    Originally, the driver wrote the event ring dequeue pointer after each
    event was processed.  Depending on how the event ring moderation register
    is set up and how fast the transfers are completing, there may be several
    events processed for each interrupt.  This patch makes the hardware event
    ring dequeue pointer be written only once per interrupt.
    
    Make the transfer event handler and port status event handler only write
    the software event ring dequeue pointer.  Move the updating of the
    hardware event ring dequeue pointer into the interrupt function.  Move the
    contents of xhci_set_hc_event_deq() into the interrupt handler.  The
    interrupt handler must clear the event handler busy flag, so it might as
    well also write the dequeue pointer to the same register.  This eliminates
    two 32-bit PCI reads and two 32-bit PCI writes.
    
    Reported-by: Andiry Xu <andiry.xu@amd.com>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  26. @gregkh

    USB: xhci: Make xhci_handle_event() static.

    xhci_handle_event() is now only called from within xhci-ring.c, so make it
    static.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  27. @gregkh

    USB: xhci: Remove unnecessary reads of IRQ_PENDING register.

    Remove a duplicate register read of the interrupt pending register from
    xhci_irq().  Also, remove waiting on the posted write of that register.
    The host will see it eventually.  It will probably read the register
    itself before deciding whether to interrupt the system again, forcing the
    posted write to complete.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  28. @gregkh

    USB: xhci: Performance - move xhci_work() into xhci_irq()

    When we move xhci_work() into xhci_irq(), we don't need to read the operational
    register status field twice.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  29. @gregkh

    USB: xhci: Performance - move interrupt handlers into xhci-ring.c

    Most of the work for interrupt handling is done in xhci-ring.c, so it makes
    sense to move the functions that are first called when an interrupt happens
    (xhci_irq() or xhci_msi_irq()) into xhci-ring.c, so that the compiler can better
    optimize them.
    
    Shorten some lines to make it pass checkpatch.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  30. @gregkh

    USB: xhci: Performance - move functions that find ep ring.

    I've been using perf to measure the top symbols while transferring 1GB of data
    on a USB 3.0 drive with dd.  This is using the raw disk with /dev/sdb, with a
    block size of 1K.
    
    During performance testing, the top symbol was xhci_triad_to_transfer_ring(), a
    function that should return immediately if streams are not enabled for an
    endpoint.  It turned out that the functions to find the endpoint ring was
    defined in xhci-mem.c and used in xhci-ring.c and xhci-hcd.c.  I moved a copy of
    xhci_triad_to_transfer_ring() and xhci_urb_to_transfer_ring() into xhci-ring.c
    and declared them static.  I also made a static version of
    xhci_urb_to_transfer_ring() in xhci.c.
    
    This improved throughput on a 1GB read of the raw disk with dd from
    186MB/s to 195MB/s, and perf reported sampling the xhci_triad_to_transfer_ring()
    0.06% of the time, rather than 9.26% of the time.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Sarah Sharp committed with gregkh Jul 30, 2010
  31. @gregkh

    USB:: fix linux/usb.h kernel-doc warnings

    Fix kernel-doc warnings in linux/usb.h:
    
    Warning(include/linux/usb.h:185): No description found for parameter 'resetting_device'
    Warning(include/linux/usb.h:1212): No description found for parameter 'stream_id'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Randy Dunlap committed with gregkh Jul 29, 2010
  32. @wfp5p @gregkh

    USB: add USB serial ssu100 driver

    Add support for the Quatech SSU-100 single port usb to serial device.
    This driver is based on the ftdi_sio.c driver and the original
    serqt_usb driver from Quatech.
    
    Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    wfp5p committed with gregkh Jul 29, 2010
  33. @gregkh

    USB: usb-storage: implement autosuspend

    This patch (as1400) adds runtime-PM support to usb-storage.  It
    utilizes the SCSI layer's runtime-PM implementation, so its scope is
    limited.  Currently the only effect is that disk-like devices (such as
    card readers or flash drives) will be autosuspended if they aren't
    mounted and their device files aren't open.  This would apply, for
    example, to card readers that don't contain a memory card.
    
    Unfortunately this won't interact very well with the removable-media
    polling normally carried out by hal or DeviceKit.  Maybe those
    programs can be changed to use a longer polling interval, or maybe the
    default autosuspend time for usb-storage should be set to something
    below 1 second.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Cc: James Bottomley <James.Bottomley@suse.de>
    Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jul 28, 2010
  34. @ming1 @gregkh

    USB: ehci: fix remove of ehci debugfs dir

    The patch below on gregkh tree only creates 'lpm' file under
    ehci->debug_dir, but not removes it when unloading module,
    
    	 USB: EHCI: EHCI 1.1 addendum: preparation
    
    which can make loading of ehci-hcd module failed after unloading it.
    
    This patch replaces debugfs_remove with debugfs_remove_recursive
    to remove ehci debugfs dir and files. It does fix the bug above,
    and may simplify the removing procedure.
    
    Also, remove the debug_registers, debug_async and debug_periodic
    field from ehci_hcd struct since they are useless now.
    
    Signed-off-by: Ming Lei <tom.leiming@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ming1 committed with gregkh Jul 28, 2010
  35. @hauke @gregkh

    USB: Add USB 2.0 to ssb ohci driver

    This adds USB 2.0 support to ssb ohci driver.
    This patch was used in OpenWRT for a long time now.
    
    CC: Steve Brown <sbrown@cortland.com>
    Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    hauke committed with gregkh Jul 28, 2010