)]}'
{
  "commit": "49d8bbc21244f0c2d2ebf5ee03fb7352ff019ecc",
  "tree": "b61b110f9ff9d15e5a7ef1e45d8244d5147cc5a3",
  "parents": [
    "8146be04908d3efbe3c6e130f551edbfd7a9dab8"
  ],
  "author": {
    "name": "Coia Prant",
    "email": "coiaprant@gmail.com",
    "time": "Fri Oct 23 15:52:12 2026 +0800"
  },
  "committer": {
    "name": "Jakub Kicinski",
    "email": "kuba@kernel.org",
    "time": "Wed Oct 28 17:29:38 2026 -0700"
  },
  "message": "net: pcs: xpcs-plat: fix runtime PM initialization\n\nThe driver calls pm_runtime_set_active() before runtime PM is enabled and\nbefore the CSR clock is prepared and enabled. If the device is later\nsuspended (e.g. during unbind), the runtime suspend callback tries to\ndisable a clock that was never enabled, producing:\n\n    clk_csr already disabled\n    clk_csr already unprepared\n\nSet the initial runtime PM status to suspended instead, and register a\ndevm action that force-suspends the device on teardown. Without that\naction the CSR clock would stay enabled if the driver is removed while\nruntime-active, since nothing triggers a runtime suspend on unbind.\npm_runtime_force_suspend() is not checked because the runtime suspend\ncallback cannot fail.\n\nThe clock is enabled on the first runtime resume (e.g. during MDIO\naccess).\n\nNo upstream platform currently enables this driver with a real CSR clock\ndependency, so the issue is not reachable in mainline today. It was\nfound while using this driver as a reference for the Rockchip XPCS glue\ndriver.\n\nSigned-off-by: Coia Prant \u003ccoiaprant@gmail.com\u003e\nLink: https://patch.msgid.link/20261023075214.1793922-3-coiaprant@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e669a7b248ac4677aeb5cd1874108f5c87f837d2",
      "old_mode": 33188,
      "old_path": "drivers/net/pcs/pcs-xpcs-plat.c",
      "new_id": "11c4239bfd74e3f9d834dc24f4bed0b5628e011c",
      "new_mode": 33188,
      "new_path": "drivers/net/pcs/pcs-xpcs-plat.c"
    }
  ]
}
