i2c-designware stops working after S4 on CHT platforms

Bug #1810223 reported by Jesse Sung on 2019-01-02
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux-oem (Ubuntu)
Jesse Sung
Nominated for Bionic by Jesse Sung

Bug Description

== Impact ==
The i2c-designware stops working after S4 thus I2C devices connected to it can't be accessed.
[ 272.628526] PM: Timekeeping suspended for 115.313 seconds
[ 272.633110] ACPI: Waking up from system sleep state S4
[ 272.655524] PM: noirq restore of devices complete after 19.377 msecs
[ 272.775692] i2c_designware 80860F41:00: Unknown Synopsys component type: 0xffffffff
[ 272.876322] PM: early restore of devices complete after 219.859 msecs
[ 273.060760] i2c_designware 80860F41:00: timeout waiting for bus ready
[ 274.214314] i2c_designware 80860F41:00: timeout in disabling adapter

== Fix ==
This happens after these two commits:
* 36c27d206b21 - PM: i2c-designware-platdrv: Optimize power management (2018-12-07 16:21:11 +0800)
* 489cd2fafa2d - PM: i2c-designware-platdrv: Use DPM_FLAG_SMART_PREPARE (2018-12-07 16:21:11 +0800)
Until there's a proper fix for them, both of them need to be reverted in order to make S4 works again.

== Test Case ==
Boot with the kernel, S4, and then wake the system up.

== Risk of Regression ==
Risk should be low since we're removing new features.

Jesse Sung (wenchien) on 2019-01-02
summary: - i2c-dw stops working after S4 on CHT platforms
+ i2c-designware stops working after S4 on CHT platforms
Launchpad Janitor (janitor) wrote :
Download full text (48.7 KiB)

This bug was fixed in the package linux-oem - 4.15.0-1033.38

linux-oem (4.15.0-1033.38) bionic; urgency=medium

  * linux-oem: 4.15.0-1033.38 -proposed tracker (LP: #1814241)

  * Packaging resync (LP: #1786013)
    - [Packaging] update update.conf

  [ Ubuntu: 4.15.0-45.48 ]

  * linux: 4.15.0-45.48 -proposed tracker (LP: #1813779)
  * External monitors does not work anymore 4.15.0-44 (LP: #1813663)
    - SAUCE: Revert "drm/i915/dp: Send DPCD ON for MST before phy_up"
  * kernel 4.15.0-44 cannot mount ext4 fs with meta_bg enabled (LP: #1813727)
    - ext4: fix false negatives *and* false positives in ext4_check_descriptors()

linux-oem (4.15.0-1032.37) bionic; urgency=medium

  * linux-oem: 4.15.0-1032.37 -proposed tracker (LP: #1811421)

  * Fix non-working pinctrl-intel (LP: #1811777)
    - pinctrl: intel: Implement intel_gpio_get_direction callback
    - pinctrl: intel: Do pin translation when lock IRQ
    - pinctrl: intel: Do pin translation in other GPIO operations as well
    - Revert "pinctrl: intel: Do pin translation when lock IRQ"

  * Fix not working Goodix touchpad (LP: #1811929)
    - HID: i2c-hid: Disable runtime PM on Goodix touchpad

  * Miscellaneous Ubuntu changes
    - [Config] update configs following rebase to 4.15.0-44.47

  [ Ubuntu: 4.15.0-44.47 ]

  * linux: 4.15.0-44.47 -proposed tracker (LP: #1811419)
  * Packaging resync (LP: #1786013)
    - [Packaging] update helper scripts
  * CPU hard lockup with rigorous writes to NVMe drive (LP: #1810998)
    - blk-wbt: pass in enum wbt_flags to get_rq_wait()
    - blk-wbt: Avoid lock contention and thundering herd issue in wbt_wait
    - blk-wbt: move disable check into get_limit()
    - blk-wbt: use wq_has_sleeper() for wq active check
    - blk-wbt: fix has-sleeper queueing check
    - blk-wbt: abstract out end IO completion handler
    - blk-wbt: improve waking of tasks
  * To reduce the Realtek USB cardreader power consumption (LP: #1811337)
    - mmc: sdhci: Disable 1.8v modes (HS200/HS400/UHS) if controller can't support
    - mmc: core: Introduce MMC_CAP_SYNC_RUNTIME_PM
    - mmc: rtsx_usb_sdmmc: Don't runtime resume the device while changing led
    - mmc: rtsx_usb: Use MMC_CAP2_NO_SDIO
    - mmc: rtsx_usb: Enable MMC_CAP_ERASE to allow erase/discard/trim requests
    - mmc: rtsx_usb_sdmmc: Re-work runtime PM support
    - mmc: rtsx_usb_sdmmc: Re-work card detection/removal support
    - memstick: rtsx_usb_ms: Add missing pm_runtime_disable() in probe function
    - misc: rtsx_usb: Use USB remote wakeup signaling for card insertion detection
    - memstick: Prevent memstick host from getting runtime suspended during card
    - memstick: rtsx_usb_ms: Use ms_dev() helper
    - memstick: rtsx_usb_ms: Support runtime power management
  * Support non-strict iommu mode on arm64 (LP: #1806488)
    - iommu/io-pgtable-arm: Fix race handling in split_blk_unmap()
    - iommu/arm-smmu-v3: Implement flush_iotlb_all hook
    - iommu/dma: Add support for non-strict mode
    - iommu: Add "iommu.strict" command line option
    - iommu/io-pgtable-arm: Add support for non-strict mode
    - iommu/arm-smmu-v3: Add support for non-strict mode

Changed in linux-oem (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers