1. 03 Feb, 2021 1 commit
    • Pali Rohár's avatar
      usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720 · 3241929b
      Pali Rohár authored
      Older ATF does not provide SMC call for USB 3.0 phy power on functionality
      and therefore initialization of xhci-hcd is failing when older version of
      ATF is used. In this case phy_power_on() function returns -EOPNOTSUPP.
      
      [    3.108467] mvebu-a3700-comphy d0018300.phy: unsupported SMC call, try updating your firmware
      [    3.117250] phy phy-d0018300.phy.0: phy poweron failed --> -95
      [    3.123465] xhci-hcd: probe of d0058000.usb failed with error -95
      
      This patch introduces a new plat_setup callback for xhci platform drivers
      which is called prior calling usb_add_hcd() function. This function at its
      beginning skips PHY init if hcd->skip_phy_initialization is set.
      
      Current init_quirk callback for xhci platform drivers is called from
      xhci_plat_setup() function which is called after chip reset completes.
      It happens in the middle of the usb_add_hcd() function and therefore this
      callback cannot be used for setting if PHY init should be skipped or not.
      
      For Armada 3720 this patch introduce a new xhci_mvebu_a3700_plat_setup()
      function configured as a xhci platform plat_setup callback. This new
      function calls phy_power_on() and in case it returns -EOPNOTSUPP then
      XHCI_SKIP_PHY_INIT quirk is set to instruct xhci-plat to skip PHY
      initialization.
      
      This patch fixes above failure by ignoring 'not supported' error in
      xhci-hcd driver. In this case it is expected that phy is already power on.
      
      It fixes initialization of xhci-hcd on Espressobin boards where is older
      Marvell's Arm Trusted Firmware without SMC call for USB 3.0 phy power.
      
      This is regression introduced in commit bd3d25b0 ("arm64: dts: marvell:
      armada-37xx: link USB hosts with their PHYs") where USB 3.0 phy was defined
      and therefore xhci-hcd on Espressobin with older ATF started failing.
      
      Fixes: bd3d25b0 ("arm64: dts: marvell: armada-37xx: link USB hosts with their PHYs")
      Cc: <stable@vger.kernel.org> # 5.1+: ea17a0f1: phy: marvell: comphy: Convert internal SMCC firmware return codes to errno
      Cc: <stable@vger.kernel.org> # 5.1+: f768e718: usb: host: xhci-plat: add priv quirk for skip PHY initialization
      Tested-by: default avatarTomasz Maciej Nowak <tmn505@gmail.com>
      Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> # On R-Car
      Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> # xhci-plat
      Acked-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: default avatarPali Rohár <pali@kernel.org>
      Link: https://lore.kernel.org/r/20210201150803.7305-1-pali@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3241929b
  2. 02 Feb, 2021 1 commit
  3. 01 Feb, 2021 3 commits
  4. 31 Jan, 2021 1 commit
  5. 30 Jan, 2021 1 commit
  6. 28 Jan, 2021 2 commits
    • Mario Limonciello's avatar
      thunderbolt: Fix possible NULL pointer dereference in tb_acpi_add_link() · 4d395c5e
      Mario Limonciello authored
      When we walk up the device hierarchy in tb_acpi_add_link() make sure we
      break the loop if the device has no parent. Otherwise we may crash the
      kernel by dereferencing a NULL pointer.
      
      Fixes: b2be2b05 ("thunderbolt: Create device links from ACPI description")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMario Limonciello <mario.limonciello@dell.com>
      Acked-by: default avatarYehezkel Bernat <YehezkelShB@gmail.com>
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      4d395c5e
    • Christoph Schemmel's avatar
      USB: serial: option: Adding support for Cinterion MV31 · e478d602
      Christoph Schemmel authored
      Adding support for Cinterion device MV31 for enumeration with
      PID 0x00B3 and 0x00B7.
      
      usb-devices output for 0x00B3
      T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  6 Spd=5000 MxCh= 0
      D:  Ver= 3.20 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs=  1
      P:  Vendor=1e2d ProdID=00b3 Rev=04.14
      S:  Manufacturer=Cinterion
      S:  Product=Cinterion PID 0x00B3 USB Mobile Broadband
      S:  SerialNumber=b3246eed
      C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA
      I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
      I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:  If#=0x3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=cdc_wdm
      I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:  If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
      
      usb-devices output for 0x00B7
      T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=5000 MxCh= 0
      D:  Ver= 3.20 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs=  1
      P:  Vendor=1e2d ProdID=00b7 Rev=04.14
      S:  Manufacturer=Cinterion
      S:  Product=Cinterion PID 0x00B3 USB Mobile Broadband
      S:  SerialNumber=b3246eed
      C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=896mA
      I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
      I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
      Signed-off-by: default avatarChristoph Schemmel <christoph.schemmel@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      e478d602
  7. 26 Jan, 2021 3 commits
  8. 25 Jan, 2021 2 commits
  9. 24 Jan, 2021 26 commits