1. 23 9月, 2010 6 次提交
  2. 21 9月, 2010 2 次提交
  3. 02 9月, 2010 1 次提交
  4. 24 8月, 2010 1 次提交
  5. 23 8月, 2010 1 次提交
  6. 19 8月, 2010 1 次提交
  7. 16 8月, 2010 1 次提交
  8. 11 8月, 2010 27 次提交
    • G
    • R
      docbook: fix fatal error from libata · 3d2be54b
      Randy Dunlap 提交于
      '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: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3d2be54b
    • J
      USB: serial: fix stalled writes · b58af406
      Johan Hovold 提交于
      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: NDavid VomLehn <dvomlehn@cisco.com>
      Tested-by: NDavid VomLehn <dvomlehn@cisco.com>
      Signed-off-by: NJohan Hovold <jhovold@gmail.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b58af406
    • A
      USB: remove fake "address-of" expressions · b409214c
      Alan Stern 提交于
      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: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b409214c
    • C
      USB: fix thread-unsafe anchor utiliy routines · b3e67044
      Christian Lamparter 提交于
      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: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      b3e67044
    • M
      USB: usbtest: support test device with only one iso-in or iso-out endpoint · 951fd8ee
      Ming Lei 提交于
      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: NMing Lei <tom.leiming@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      951fd8ee
    • M
      USB: usbtest: avoid to free coherent buffer in atomic context · e10e1bec
      Ming Lei 提交于
      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: NMing Lei <tom.leiming@gmail.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e10e1bec
    • S
      USB: xhci: Set DMA mask for host. · 006d5820
      Sarah Sharp 提交于
      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: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      006d5820
    • S
      USB: xhci: Don't flush doorbell writes. · ed3f2453
      Sarah Sharp 提交于
      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: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ed3f2453
    • S
      USB: xhci: Reduce reads and writes of interrupter registers. · c21599a3
      Sarah Sharp 提交于
      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: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c21599a3
    • S
      USB: xhci: Make xhci_set_hc_event_deq() static. · 257d585a
      Sarah Sharp 提交于
      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: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      257d585a
    • S
      USB: xhci: Minimize HW event ring dequeue pointer writes. · c06d68b8
      Sarah Sharp 提交于
      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: NAndiry Xu <andiry.xu@amd.com>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c06d68b8
    • S
      USB: xhci: Make xhci_handle_event() static. · d6d98a4d
      Sarah Sharp 提交于
      xhci_handle_event() is now only called from within xhci-ring.c, so make it
      static.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d6d98a4d
    • S
      USB: xhci: Remove unnecessary reads of IRQ_PENDING register. · 27e0dd4d
      Sarah Sharp 提交于
      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: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      27e0dd4d
    • S
      USB: xhci: Performance - move xhci_work() into xhci_irq() · bda53145
      Sarah Sharp 提交于
      When we move xhci_work() into xhci_irq(), we don't need to read the operational
      register status field twice.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      bda53145
    • S
      USB: xhci: Performance - move interrupt handlers into xhci-ring.c · 9032cd52
      Sarah Sharp 提交于
      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: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9032cd52
    • S
      USB: xhci: Performance - move functions that find ep ring. · 021bff91
      Sarah Sharp 提交于
      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: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      021bff91
    • B
      USB: add USB serial ssu100 driver · 52af9545
      Bill Pemberton 提交于
      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: NBill Pemberton <wfp5p@virginia.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      52af9545
    • A
      USB: usb-storage: implement autosuspend · f283925f
      Alan Stern 提交于
      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: NAlan Stern <stern@rowland.harvard.edu>
      Cc: James Bottomley <James.Bottomley@suse.de>
      Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f283925f
    • M
      USB: ehci: fix remove of ehci debugfs dir · 185c9bcf
      Ming Lei 提交于
      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: NMing Lei <tom.leiming@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      185c9bcf
    • H
      USB: Add USB 2.0 to ssb ohci driver · f2402f21
      Hauke Mehrtens 提交于
      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: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f2402f21
    • A
      USB: cp210x: Add four new device IDs · 356c5a48
      Alessio Igor Bogani 提交于
      Signed-off-by: NAlessio Igor Bogani <abogani@texware.it>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      356c5a48
    • D
      USB: ftdi_sio: device id for Navitator · b6180ef7
      dranch@trinnet.net 提交于
      This patch is to add a US Interface, Inc. "Navigator" USB device.
      Specifically, it's a HAM Radio USB sound modem that also
      incorporates three pairs of unique FTDI serial ports.  The standard
      Linux FTDI serial driver will only recognize the first two serial
      ports of an unknown FDTI derived device and this patch adds in
      recognition to these specific new IDs.
      Signed-off-by: NDavid A. Ranch <dranch@trinnet.net>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      
      b6180ef7
    • A
      USB: accept RNDIS configs if there's no alternative · c4e0b508
      Alan Stern 提交于
      This patch (as1410) makes a slight change to the strategy used for
      choosing a default configuration.  Currently we skip configs whose
      first interface is RNDIS, if the kernel wasn't built with the
      corresponding driver.  This risks losing access to the other
      interfaces in those configs.  In addition, if there is only one config
      then we will end up not configuring the device at all.
      
      This changes the logic; now such configurations will be skipped only
      if there is at least one other config.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Tested-by: NAdam Kropelin <akropel1@rochester.rr.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c4e0b508
    • A
      USB: option: add huawei k3765 k4505 devices to work properly · 0372a754
      Andrew Bird 提交于
      This patch adds the product IDs of Huawei's K3765 and K4505 mobile
      broadband usb modems to option.c. It also adds a quirk to the option
      probe function so that binding to the device's network interface(class
      0xff) is avoided. This is necessary to allow another driver to bind to
      that, and to avoid programs like wvdial opening a nonfunctioning tty
      during modem discovery.
      Signed-off-by: NAndrew Bird <ajb@spheresystems.co.uk>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0372a754
    • M
      USB: gadget: file_storage: serial parameter even if not test mode · 56706491
      Michal Nazarewicz 提交于
      Moved the serial parameter handling code out of "#ifdef
      CONFIG_USB_FILE_STORAGE_TEST".
      
      This modifies Yann Cantin's commit "USB: Add a serial number
      parameter to g_file_storage" module as per Alan Stern's request.
      Signed-off-by: NMichal Nazarewicz <m.nazarewicz@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Tested-by: NAnand Gadiyar <gadiyar@ti.com>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Yann Cantin <yann.cantin@laposte.net>
      56706491
    • K
      usb: imx21-hcd: set task state with schedule_timeout_uninterruptible() · 9a4b7c3b
      Kulikov Vasiliy 提交于
      imx21_hc_reset() uses schedule_timeout() without setting state to
      STATE_(UN)INTERRUPTIBLE. As it is called in cycle without checking of
      pending signals, use schedule_timeout_uninterruptible().
      Signed-off-by: NKulikov Vasiliy <segooon@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9a4b7c3b