1. 25 Dec, 2017 36 commits
  2. 20 Dec, 2017 4 commits
    • Greg Kroah-Hartman's avatar
      Linux 4.14.8 · 7b377501
      Greg Kroah-Hartman authored
      7b377501
    • Bin Liu's avatar
      usb: musb: da8xx: fix babble condition handling · bed6119a
      Bin Liu authored
      commit bd3486de upstream.
      
      When babble condition happens, the musb controller might automatically
      turns off VBUS. On DA8xx platform, the controller generates drvvbus
      interrupt for turning off VBUS along with the babble interrupt.
      
      In this case, we should handle the babble interrupt first and recover
      from the babble condition.
      
      This change ignores the drvvbus interrupt if babble interrupt is also
      generated at the same time, so the babble recovery routine works
      properly.
      Signed-off-by: default avatarBin Liu <b-liu@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      bed6119a
    • Brian Norris's avatar
      ath10k: fix build errors with !CONFIG_PM · d094690c
      Brian Norris authored
      
      [ Upstream commit 20665a90 ]
      
      Build errors have been reported with CONFIG_PM=n:
      
      drivers/net/wireless/ath/ath10k/pci.c:3416:8: error: implicit
      declaration of function 'ath10k_pci_suspend'
      [-Werror=implicit-function-declaration]
      
      drivers/net/wireless/ath/ath10k/pci.c:3428:8: error: implicit
      declaration of function 'ath10k_pci_resume'
      [-Werror=implicit-function-declaration]
      
      These are caused by the combination of the following two commits:
      
      6af1de2e ("ath10k: mark PM functions as __maybe_unused")
      96378bd2 ("ath10k: fix core PCI suspend when WoWLAN is supported but
      disabled")
      
      Both build fine on their own.
      
      But now that ath10k_pci_pm_{suspend,resume}() is compiled
      unconditionally, we should also compile ath10k_pci_{suspend,resume}()
      unconditionally.
      
      And drop the #ifdef around ath10k_pci_hif_{suspend,resume}() too; they
      are trivial (empty), so we're not saving much space by compiling them
      out. And the alternatives would be to sprinkle more __maybe_unused, or
      spread the #ifdef's further.
      
      Build tested with the following combinations:
      CONFIG_PM=y && CONFIG_PM_SLEEP=y
      CONFIG_PM=y && CONFIG_PM_SLEEP=n
      CONFIG_PM=n
      
      Fixes: 96378bd2 ("ath10k: fix core PCI suspend when WoWLAN is supported but disabled")
      Fixes: 096ad2a15fd8 ("Merge branch 'ath-next'")
      Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d094690c
    • Brian Norris's avatar
      ath10k: fix core PCI suspend when WoWLAN is supported but disabled · 5c212b59
      Brian Norris authored
      
      [ Upstream commit 96378bd2 ]
      
      For devices where the FW supports WoWLAN but user-space has not
      configured it, we don't do any PCI-specific suspend/resume operations,
      because mac80211 doesn't call drv_suspend() when !wowlan. This has
      particularly bad effects for some platforms, because we don't stop the
      power-save timer, and if this timer goes off after the PCI controller
      has suspended the link, Bad Things will happen.
      
      Commit 32faa3f0 ("ath10k: add the PCI PM core suspend/resume ops")
      got some of this right, in that it understood there was a problem on
      non-WoWLAN firmware. But it forgot the $subject case.
      
      Fix this by moving all the PCI driver suspend/resume logic exclusively
      into the driver PM hooks. This shouldn't affect WoWLAN support much
      (this just gets executed later on).
      
      I would just as well kill the entirety of ath10k_hif_suspend(), as it's
      not even implemented on the USB or SDIO drivers. I expect that we don't
      need the callback, except to return "supported" (i.e., 0) or "not
      supported" (i.e., -EOPNOTSUPP).
      
      Fixes: 32faa3f0 ("ath10k: add the PCI PM core suspend/resume ops")
      Fixes: 77258d40 ("ath10k: enable pci soc powersaving")
      Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
      Cc: Ryan Hsu <ryanhsu@qti.qualcomm.com>
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: Michal Kazior <michal.kazior@tieto.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5c212b59