)]}'
{
  "commit": "4238b780c21071ce58b8c4bed229398f3d1b996f",
  "tree": "439a663b1ce50909f48cd966570b85c2974e4252",
  "parents": [
    "189e367332e9113b0b628f9053aaebf55961b395"
  ],
  "author": {
    "name": "Jonathan Bell",
    "email": "jonathan@raspberrypi.com",
    "time": "Thu Nov 14 15:56:24 2024 +0000"
  },
  "committer": {
    "name": "Jonathan Bell",
    "email": "jonathan@raspberrypi.com",
    "time": "Wed Nov 27 14:19:33 2024 +0000"
  },
  "message": "main: handle RP2040\u0027s broken USB error handling\n\nRP2040-E15 can also be triggered if a Debug Probe is connected to a\nboard with a floating ground. Typically this causes port ESD protection\nto temporarily activate, meaning the Dp/Dm state gets corrupted. If this\nhappens in the middle of a handshake packet, the SIE can lock up.\n\nThe only way to detect this case is if SOF_RD stops advancing without a\ncorresponding suspend interrupt - so add a watchdog thread that forces a\ndisconnect if the hardware stops reporting frame counts.\n\nThis is disruptive, but immediate notification that the probe broke is\npreferable to silently failing until the next character is sent by the host.\n\nSigned-off-by: Jonathan Bell \u003cjonathan@raspberrypi.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "90db00b681d7b7259c85253032d251fc616bafb0",
      "old_mode": 33188,
      "old_path": "src/main.c",
      "new_id": "115c9ad7d43eae26d9cd32a2d73568b828ffe136",
      "new_mode": 33188,
      "new_path": "src/main.c"
    }
  ]
}
