)]}'
{
  "commit": "9b2bfdbf43adb9929c5ddcdd96efedbf1c88cf53",
  "tree": "5ff330af382c8cc233564636fa275c3dd091cd73",
  "parents": [
    "fd2004d82d8d8faa94879e3de3096c8511728637"
  ],
  "author": {
    "name": "Horatiu Vultur",
    "email": "horatiu.vultur@microchip.com",
    "time": "Tue Sep 02 14:12:59 2025 +0200"
  },
  "committer": {
    "name": "Jakub Kicinski",
    "email": "kuba@kernel.org",
    "time": "Thu Sep 04 07:48:29 2025 -0700"
  },
  "message": "phy: mscc: Stop taking ts_lock for tx_queue and use its own lock\n\nWhen transmitting a PTP frame which is timestamp using 2 step, the\nfollowing warning appears if CONFIG_PROVE_LOCKING is enabled:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: Invalid wait context ]\n6.17.0-rc1-00326-ge6160462704e #427 Not tainted\n-----------------------------\nptp4l/119 is trying to lock:\nc2a44ed4 (\u0026vsc8531-\u003ets_lock){+.+.}-{3:3}, at: vsc85xx_txtstamp+0x50/0xac\nother info that might help us debug this:\ncontext-{4:4}\n4 locks held by ptp4l/119:\n #0: c145f068 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x58/0x1440\n #1: c29df974 (dev-\u003eqdisc_tx_busylock ?: \u0026qdisc_tx_busylock){+...}-{2:2}, at: __dev_queue_xmit+0x5c4/0x1440\n #2: c2aaaad0 (_xmit_ETHER#2){+.-.}-{2:2}, at: sch_direct_xmit+0x108/0x350\n #3: c2aac170 (\u0026lan966x-\u003etx_lock){+.-.}-{2:2}, at: lan966x_port_xmit+0xd0/0x350\nstack backtrace:\nCPU: 0 UID: 0 PID: 119 Comm: ptp4l Not tainted 6.17.0-rc1-00326-ge6160462704e #427 NONE\nHardware name: Generic DT based system\nCall trace:\n unwind_backtrace from show_stack+0x10/0x14\n show_stack from dump_stack_lvl+0x7c/0xac\n dump_stack_lvl from __lock_acquire+0x8e8/0x29dc\n __lock_acquire from lock_acquire+0x108/0x38c\n lock_acquire from __mutex_lock+0xb0/0xe78\n __mutex_lock from mutex_lock_nested+0x1c/0x24\n mutex_lock_nested from vsc85xx_txtstamp+0x50/0xac\n vsc85xx_txtstamp from lan966x_fdma_xmit+0xd8/0x3a8\n lan966x_fdma_xmit from lan966x_port_xmit+0x1bc/0x350\n lan966x_port_xmit from dev_hard_start_xmit+0xc8/0x2c0\n dev_hard_start_xmit from sch_direct_xmit+0x8c/0x350\n sch_direct_xmit from __dev_queue_xmit+0x680/0x1440\n __dev_queue_xmit from packet_sendmsg+0xfa4/0x1568\n packet_sendmsg from __sys_sendto+0x110/0x19c\n __sys_sendto from sys_send+0x18/0x20\n sys_send from ret_fast_syscall+0x0/0x1c\nException stack(0xf0b05fa8 to 0xf0b05ff0)\n5fa0:                   00000001 0000000e 0000000e 0004b47a 0000003a 00000000\n5fc0: 00000001 0000000e 00000000 00000121 0004af58 00044874 00000000 00000000\n5fe0: 00000001 bee9d420 00025a10 b6e75c7c\n\nSo, instead of using the ts_lock for tx_queue, use the spinlock that\nskb_buff_head has.\n\nReviewed-by: Vadim Fedorenko \u003cvadim.fedorenko@linux.dev\u003e\nFixes: 7d272e63e0979d (\"net: phy: mscc: timestamping and PHC support\")\nSigned-off-by: Horatiu Vultur \u003choratiu.vultur@microchip.com\u003e\nLink: https://patch.msgid.link/20250902121259.3257536-1-horatiu.vultur@microchip.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "72847320cb652df437861f68580d5fd498b87979",
      "old_mode": 33188,
      "old_path": "drivers/net/phy/mscc/mscc_ptp.c",
      "new_id": "d692df7d975c70034660b6907ffeedcf1da64759",
      "new_mode": 33188,
      "new_path": "drivers/net/phy/mscc/mscc_ptp.c"
    }
  ]
}
