1. 22 6月, 2012 3 次提交
  2. 15 6月, 2012 1 次提交
  3. 06 6月, 2012 6 次提交
  4. 04 6月, 2012 22 次提交
  5. 22 5月, 2012 3 次提交
    • S
      xhci: Fix DIV_ROUND_UP compile error. · c88db160
      Sarah Sharp 提交于
      Fengguang reports that the xHCI driver isn't linked properly on his
      machine:
      
      ERROR: "__udivdi3" [drivers/usb/host/xhci-hcd.ko] undefined!
      ERROR: "handle_edge_irq" [drivers/gpio/gpio-pch.ko] undefined!
      ERROR: "irq_to_desc" [drivers/gpio/gpio-pch.ko] undefined!
      
      The driver compiles fine on my 64-bit box (gcc version 4.6.1).
      Fengguang thinks it's because the xHCI driver was using DIV_ROUND_UP()
      instead of DIV_ROUND_UP_ULL() with arguments that were unsigned long
      long variables.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Reported-by: NWu Fengguang <wfg@linux.intel.com>
      c88db160
    • S
      xhci: Fix compile with CONFIG_USB_SUSPEND=n · b01bcbf7
      Sarah Sharp 提交于
      The USB 2.0 Link PM code is conditionally compiled when
      CONFIG_USB_SUSPEND=y.  I believe that's a mistake, since Link PM is not
      directly related to USB device suspend and Link PM is implemented
      without relying on any of the suspend code in the USB core.  For now,
      keep the USB 2.0 Link PM code conditionally compiled if
      CONFIG_USB_SUSPEND=y.
      
      This patch does move the code to implement USB 3.0 Link PM out of the
      xHCI driver #ifdefs for CONFIG_USB_SUSPEND and moves it into a section
      dependent on CONFIG_PM.  The USB core functions for USB 3.0 Link PM are
      already conditionally compiled when CONFIG_PM=y.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      b01bcbf7
    • S
      USB: Fix core compile with CONFIG_USB_SUSPEND=n · e9261fb6
      Sarah Sharp 提交于
      When CONFIG_PM=n, make sure that the usb_[unlocked_][en/dis]able_lpm
      declarations are visible in include/linux/usb.h, and exported from
      drivers/usb/core/hub.c.
      
      Before this patch, if CONFIG_USB_SUSPEND was turned off, it would cause
      build errors:
      
      drivers/usb/core/hub.c: In function 'usb_disable_lpm':
      drivers/usb/core/hub.c:3394:2: error: implicit declaration of function 'usb_enable_lpm' [-Werror=implicit-function-declaration]
      drivers/usb/core/hub.c: At top level:
      drivers/usb/core/hub.c:3424:6: warning: conflicting types for 'usb_enable_lpm' [enabled by default]
      drivers/usb/core/hub.c:3394:2: note: previous implicit declaration of 'usb_enable_lpm' was here
      drivers/usb/core/driver.c: In function 'usb_probe_interface':
      drivers/usb/core/driver.c:339:2: error: implicit declaration of function 'usb_unlocked_disable_lpm' [-Werror=implicit-function-declaration]
      drivers/usb/core/driver.c:364:3: error: implicit declaration of function 'usb_unlocked_enable_lpm' [-Werror=implicit-function-declaration]
      drivers/usb/core/message.c: In function 'usb_set_interface':
      drivers/usb/core/message.c:1314:2: error: implicit declaration of function 'usb_disable_lpm' [-Werror=implicit-function-declaration]
      drivers/usb/core/message.c:1323:3: error: implicit declaration of function 'usb_enable_lpm' [-Werror=implicit-function-declaration]
      drivers/usb/core/message.c:1368:2: error: implicit declaration of function 'usb_unlocked_enable_lpm' [-Werror=implicit-function-declaration]
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Reported-by: NChen Peter-B29397 <B29397@freescale.com>
      e9261fb6
  6. 21 5月, 2012 1 次提交
  7. 20 5月, 2012 1 次提交
    • M
      USB: EHCI: fix command register configuration lost problem · 1c01f1d9
      Ming Lei 提交于
      The 3d9545cc(EHCI: maintain the
      ehci->command value properly) introducs one command register
      configuration lost problem by the below line in ehci_reset:
      
      	ehci->command = ehci_readl(ehci, &ehci->regs->command);
      
      After writting RESET into command register, it is restored to
      its default value per EHCI spec[1], so the previous configuration
      will be lost, and may introduce some problems reported recently:
      	- imx51 Babbage board detect usb hub failed[2], reported
      	by Richard Zhao.
      	- mouse and keyboard hangs in linux-next found by
      	Dan Carpenter and Greg-KH.
      
      So this patch just removes the line to fix these problems, and
      keep configurating command register consistent as before the commit
      3d9545cc(EHCI: maintain the ehci->command value properly).
      
      [1], 4.1 Host Controller Initialization of EHCI Specification 1.0
      [2], failed dmesg log:
      	usb 1-1: new high-speed USB device number 2 using mxc-ehci
      	hub 1-1:1.0: USB hub found
      	hub 1-1:1.0: 7 ports detected
      	mxc-ehci mxc-ehci.1: fatal error
      	mxc-ehci mxc-ehci.1: HC died; cleaning up
      	mxc-ehci mxc-ehci.1: force halt; handshake f5780344 00004000 00004000 -> -110
      	mxc-ehci mxc-ehci.1: HC died; cleaning up
      	usb 1-1: USB disconnect, device number 2
      Reported-by: NRichard Zhao <richard.zhao@freescale.com>
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Reported-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Chen Peter-B29397 <B29397@freescale.com>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NMing Lei <ming.lei@canonical.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1c01f1d9
  8. 19 5月, 2012 3 次提交
    • H
      USB: Remove races in devio.c · 4e09dcf2
      Huajun Li 提交于
      There exist races in devio.c, below is one case,
      and there are similar races in destroy_async()
      and proc_unlinkurb().  Remove these races.
      
       cancel_bulk_urbs()        async_completed()
      -------------------                -----------------------
       spin_unlock(&ps->lock);
      
                                 list_move_tail(&as->asynclist,
      		                    &ps->async_completed);
      
                                 wake_up(&ps->wait);
      
                                 Lead to free_async() be triggered,
                                 then urb and 'as' will be freed.
      
       usb_unlink_urb(as->urb);
       ===> refer to the freed 'as'
      Signed-off-by: NHuajun Li <huajun.li.lee@gmail.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Oncaphillis <oncaphillis@snafu.de>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4e09dcf2
    • H
      USB: ehci-platform: remove update_device · 8377c94f
      Hauke Mehrtens 提交于
      The update_device callback is not needed and the function used here is
      from the pci ehci driver. Without this patch we get a compile error if
      ehci-platform is compiled without ehci-pci.
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Cc: stable <stable@vger.kernel.org> [3.4]
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8377c94f
    • S
      USB: Disable hub-initiated LPM for comms devices. · e1f12eb6
      Sarah Sharp 提交于
      Hub-initiated LPM is not good for USB communications devices.  Comms
      devices should be able to tell when their link can go into a lower power
      state, because they know when an incoming transmission is finished.
      Ideally, these devices would slam their links into a lower power state,
      using the device-initiated LPM, after finishing the last packet of their
      data transfer.
      
      If we enable the idle timeouts for the parent hubs to enable
      hub-initiated LPM, we will get a lot of useless LPM packets on the bus
      as the devices reject LPM transitions when they're in the middle of
      receiving data.  Worse, some devices might blindly accept the
      hub-initiated LPM and power down their radios while they're in the
      middle of receiving a transmission.
      
      The Intel Windows folks are disabling hub-initiated LPM for all USB
      communications devices under a xHCI USB 3.0 host.  In order to keep
      the Linux behavior as close as possible to Windows, we need to do the
      same in Linux.
      
      Set the disable_hub_initiated_lpm flag for for all USB communications
      drivers.  I know there aren't currently any USB 3.0 devices that
      implement these class specifications, but we should be ready if they do.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: Johan Hedberg <johan.hedberg@gmail.com>
      Cc: Hansjoerg Lipp <hjlipp@web.de>
      Cc: Tilman Schmidt <tilman@imap.cc>
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: Peter Korsgaard <jacmet@sunsite.dk>
      Cc: Jan Dumon <j.dumon@option.com>
      Cc: Petko Manolov <petkan@users.sourceforge.net>
      Cc: Steve Glendinning <steve.glendinning@smsc.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
      Cc: Jouni Malinen <jouni@qca.qualcomm.com>
      Cc: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      Cc: Brett Rudley <brudley@broadcom.com>
      Cc: Roland Vossen <rvossen@broadcom.com>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: "Franky (Zhenhui) Lin" <frankyl@broadcom.com>
      Cc: Kan Yan <kanyan@broadcom.com>
      Cc: Dan Williams <dcbw@redhat.com>
      Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: Herton Ronaldo Krzesinski <herton@canonical.com>
      Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: Chaoming Li <chaoming_li@realsil.com.cn>
      Cc: Daniel Drake <dsd@gentoo.org>
      Cc: Ulrich Kunitz <kune@deine-taler.de>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      e1f12eb6