On Mon, Mar 26, 2018 at 01:01:58AM +0200, Andrew Lunn wrote: > The phylib core code will take the phydev lock before calling into the > driver. By violating the layering, we are missing on this lock. That lock protects the fields within the struct phy_device, like the state field. None of the time stamping methods need to read or write any part of that data structure. Actually it is not true that the core always takes the lock before calling the driver methods. See .ack_interrupt for example. > Maybe the one driver which currently implements these calls does not > need locking. It has locking. If a specific device needs locking to protect the integrity of its registers or other internal data structures, then it can and should implement those locks. Thanks, Richard -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html