1. 11 8月, 2010 18 次提交
  2. 05 8月, 2010 2 次提交
  3. 03 8月, 2010 2 次提交
    • D
      pcmcia: do not use io_req_t when calling pcmcia_request_io() · 90abdc3b
      Dominik Brodowski 提交于
      Instead of io_req_t, drivers are now requested to fill out
      struct pcmcia_device *p_dev->resource[0,1] for up to two ioport
      ranges. After a call to pcmcia_request_io(), the ports found there
      are reserved, after calling pcmcia_request_configuration(), they may
      be used.
      
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      CC: Michael Buesch <mb@bu3sch.de>
      Acked-by: Marcel Holtmann <marcel@holtmann.org> (for drivers/bluetooth/)
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      90abdc3b
    • D
      pcmcia: do not use io_req_t after call to pcmcia_request_io() · 9a017a91
      Dominik Brodowski 提交于
      After pcmcia_request_io(), do not make use of the values stored in
      io_req_t, but instead use those found in struct pcmcia_device->resource[].
      
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      Acked-by: Marcel Holtmann <marcel@holtmann.org> (for drivers/bluetooth/)
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      9a017a91
  4. 31 7月, 2010 1 次提交
    • D
      pcmcia: remove cs_types.h · ac8b4228
      Dominik Brodowski 提交于
      Remove cs_types.h which is no longer needed: Most definitions aren't
      used at all, a few can be made away with, and two remaining definitions
      (typedefs, unfortunatley) may be moved to more specific places.
      
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      Acked-by: Marcel Holtmann <marcel@holtmann.org> (for drivers/bluetooth/)
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      ac8b4228
  5. 27 7月, 2010 3 次提交
    • S
      USB: xhci: Set Mult field in endpoint context correctly. · c30c791c
      Sarah Sharp 提交于
      The bmAttributes field of the SuperSpeed Endpoint Companion Descriptor has
      different meanings, depending on the endpoint type.  If the endpoint is
      isochronous, the bmAttributes field is the maximum number of packets
      within a service interval that this endpoint supports.  If the endpoint is
      bulk, it's the number of stream IDs this endpoint supports.
      
      Only set the Mult field of the xHCI endpoint context using the
      bmAttributes field if the endpoint is isochronous, and the device is a
      SuperSpeed device.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c30c791c
    • S
      USB: xhci: Set EP0 dequeue ptr after reset of configured device. · 2d1ee590
      Sarah Sharp 提交于
      When a configured device is reset, the control endpoint's ring is reused.
      If control transfers to the device were issued before the device is reset,
      the dequeue pointer will be somewhere in the middle of the ring.  If the
      device is then issued an address with the set address command, the xHCI
      driver must provide a valid input context for control endpoint zero.
      
      The original code would give the hardware the original input context,
      which had a dequeue pointer set to the top of the ring.  This would cause
      the host to re-execute any control transfers until it reached the ring's
      enqueue pointer.  When issuing a set address command for a device that has
      just been configured and then reset, use the control endpoint's enqueue
      pointer as the hardware's dequeue pointer.
      
      Assumption:  All control transfers will be completed or cancelled before
      the set address command is issued to the device.  If there are any
      outstanding control transfers, this code will not work.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2d1ee590
    • S
      USB: xHCI: Fix another bug in link TRB activation change. · d1dc908a
      Sarah Sharp 提交于
      Commit 6c12db90 also seems to have
      introduced a bug that is triggered when the command ring is about to wrap.
      The inc_enq() function will not have moved the enqueue pointer past the
      link TRB.  It is supposed to be moved past the link TRB in prepare_ring(),
      which should be called before a TD is enqueued.  However, the
      queue_command() function never calls the prepare_ring() function because
      prepare_ring() is only supposed to be used for endpoint rings.  That means
      the enqueue pointer will not be moved past the link TRB, and will get
      overwritten.
      
      The fix is to make queue_command() call prepare_ring() with a fake
      endpoint status (set to running).  Then the enqueue pointer will get moved
      past the link TRB.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d1dc908a
  6. 26 7月, 2010 1 次提交
  7. 15 7月, 2010 1 次提交
  8. 12 7月, 2010 1 次提交
  9. 30 6月, 2010 4 次提交
    • J
      USB: isp1362-hcd, fix double lock · 1c815577
      Jiri Slaby 提交于
      Stanse found that isp1362_sw_reset tries to take a isp1362_hcd->lock,
      but it is already held in isp1362_hc_stop. Avoid that by introducing
      __isp1362_sw_reset which doesn't take the lock and call it from
      isp1362_hc_stop. isp1362_sw_reset is then as simple as lock --
      __isp1362_sw_reset -- unlock.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Cc: Lothar Wassmann <LW@KARO-electronics.de>
      Cc: Michael Hennerich <michael.hennerich@analog.com>
      Cc: Bryan Wu <cooloney@kernel.org>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1c815577
    • W
      USB: ehci-mxc: bail out on transceiver problems · 4c9715de
      Wolfram Sang 提交于
      The old code registered the hcd even if there were no transceivers
      detected, leading to oopses like this if we try to probe a non-existant
      ULPI:
      
      [    2.730000] mxc-ehci mxc-ehci.0: unable to init transceiver
      [    2.740000] timeout polling for ULPI device
      [    2.740000] timeout polling for ULPI device
      [    2.750000] mxc-ehci mxc-ehci.0: unable to enable vbus on transceiver
      [    2.750000] mxc-ehci mxc-ehci.0: Freescale On-Chip EHCI Host Controller
      [    2.760000] mxc-ehci mxc-ehci.0: new USB bus registered, assigned bus number 2
      [    2.770000] Unhandled fault: external abort on non-linefetch (0x808) at 0xc4876184
      [    2.770000] Internal error: : 808 [#1] PREEMPT
      [    2.770000] last sysfs file:
      [    2.770000] Modules linked in:
      [    2.770000] CPU: 0    Not tainted  (2.6.33.5 #5)
      [    2.770000] PC is at ehci_hub_control+0x4d4/0x8f8
      [    2.770000] LR is at ehci_mxc_setup+0xbc/0xdc
      [    2.770000] pc : [<c0196dfc>]    lr : [<c019bc8c>]    psr: 00000093
      [    2.770000] sp : c3815e40  ip : 00000001  fp : 60000013
      [    2.770000] r10: c4876184  r9 : 00000000  r8 : c3814000
      [    2.770000] r7 : c391d2cc  r6 : 00000001  r5 : 00000001  r4 : 00000000
      [    2.770000] r3 : 80000000  r2 : 00000007  r1 : 80000000  r0 : c4876184
      [    2.770000] Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM Segment kernel
      [    2.770000] Control: 0005317f  Table: a0004000  DAC: 00000017
      [    2.770000] Process swapper (pid: 1, stack limit = 0xc3814270)
      ...
      Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: stable <stable@kernel.org>
      Acked-by: NDaniel Mack <daniel@caiaq.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4c9715de
    • N
      USB: r8a66597: Fix failure in change of status · a5797a68
      Nobuhiro Iwamatsu 提交于
      In the change by 749da5f8,
      The change in the status when the USB device is connected is wrong.
      Therefore, the device is not recognized.
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      CC: Paul Mundt" <lethal@linux-sh.org>
      Signed-off-by: NNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a5797a68
    • S
      USB: xHCI: Fix bug in link TRB activation change. · 6cc30d85
      Sarah Sharp 提交于
      Commit 6c12db90 introduced a bug for
      control transfers.  The patch was supposed to change when the link TRBs at
      the end of each ring segment were given to the hardware.  If a transfer
      descriptor (TD) ended just before the link TRB, the code wouldn't give
      back the link TRB to the hardware; instead it would be given back in
      prepare_ring() just before the next TD was enqueued at the top of the
      ring.
      
      Unfortunately, the code relied on checking the chain bit of the TRB to
      determine whether the TD ended just before the link TRB.  It assumed that
      the ring enqueuing code would call prepare_ring() before enqueuing the
      next TD.  However, control transfers are made of multiple TDs, and
      prepare_ring() is only called once before enqueuing two or three TDs.
      
      If the first or second TD of the control transfer ended just before the
      link TRB, then the code in inc_enq() would not move the enqueue pointer
      past the link TRB, and the link TRB would get overwritten.  This would
      cause the xHCI driver to start writing to memory past the ring segment,
      and eventually the system would crash or hang.
      
      The fix is to add a flag to inc_enq() that says whether the caller will
      enqueue more TDs before calling prepare_ring().  If the chain bit is
      cleared (meaning this is the last TRB in a TD), and the caller will not
      enqueue more TDs, then we defer giving back the link TRB.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6cc30d85
  10. 05 6月, 2010 5 次提交
  11. 03 6月, 2010 1 次提交
  12. 02 6月, 2010 1 次提交