)]}'
{
  "commit": "632d31067be2f414c57955efcf29c79290cc749b",
  "tree": "95ad109562e2ce75e957d7854892aaf51e1b29a0",
  "parents": [
    "3ce3f569991347d2085925041f4932232da43bcf"
  ],
  "author": {
    "name": "Pin-yen Lin",
    "email": "treapking@chromium.org",
    "time": "Fri Sep 26 18:23:18 2025 +0800"
  },
  "committer": {
    "name": "Rafael J. Wysocki",
    "email": "rafael.j.wysocki@intel.com",
    "time": "Sat Sep 27 14:10:51 2025 +0200"
  },
  "message": "PM: sleep: Do not wait on SYNC_STATE_ONLY device links\n\nDevice links with DL_FLAG_SYNC_STATE_ONLY should not affect system\nsuspend and resume, and functions like device_reorder_to_tail() and\ndevice_link_add() don\u0027t try to reorder the consumers with that flag.\n\nHowever, dpm_wait_for_consumers() and dpm_wait_for_suppliers() don\u0027t\ncheck thas flag before triggering dpm_wait(), leading to potential hang\nduring suspend/resume.\n\nThis can be reproduced on MT8186 Corsola Chromebook with devicetree like:\n\nusb-a-connector {\n        compatible \u003d \"usb-a-connector\";\n        port {\n                usb_a_con: endpoint {\n                        remote-endpoint \u003d \u003c\u0026usb_hs\u003e;\n                };\n        };\n};\n\nusb_host {\n        compatible \u003d \"mediatek,mt8186-xhci\", \"mediatek,mtk-xhci\";\n        port {\n                usb_hs: endpoint {\n                        remote-endpoint \u003d \u003c\u0026usb_a_con\u003e;\n                };\n        };\n};\n\nIn this case, the two nodes form a cycle and a SYNC_STATE_ONLY devlink\nbetween usb_host (supplier) and usb-a-connector (consumer) is created.\n\nAddress this by exporting device_link_flag_is_sync_state_only() and\nmaking dpm_wait_for_consumers() and dpm_wait_for_suppliers() use it\nwhen deciding if dpm_wait() should be called.\n\nFixes: 05ef983e0d65a (\"driver core: Add device link support for SYNC_STATE_ONLY flag\")\nSigned-off-by: Pin-yen Lin \u003ctreapking@chromium.org\u003e\nLink: https://patch.msgid.link/20250926102320.4053167-1-treapking@chromium.org\n[ rjw: Subject and changelog edits ]\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "700aecd22fd34a9eed1ab14f7265c29676ef3e64",
      "old_mode": 33188,
      "old_path": "drivers/base/base.h",
      "new_id": "86fa7fbb354891bd744c259d0955a0e178149a90",
      "new_mode": 33188,
      "new_path": "drivers/base/base.h"
    },
    {
      "type": "modify",
      "old_id": "d22d6b23e75898a63c91101ab7821723ca50ceb5",
      "old_mode": 33188,
      "old_path": "drivers/base/core.c",
      "new_id": "a54ec6df1058fbf082cf75778749ace83ccbff6b",
      "new_mode": 33188,
      "new_path": "drivers/base/core.c"
    },
    {
      "type": "modify",
      "old_id": "e3a7f25bf8d39b947e08b0a5febb28a4afca28d9",
      "old_mode": 33188,
      "old_path": "drivers/base/power/main.c",
      "new_id": "c97f8b139dc202b3dd25560ad87281e21d292f72",
      "new_mode": 33188,
      "new_path": "drivers/base/power/main.c"
    }
  ]
}
