>> Does the first SmPL when specification include the case that a call >> of the function “put_device” can occur within a branch of an if statement? > > It does include that, Thanks for this acknowledgement. So it seems that you find my interpretation of this bit of SmPL code appropriate. > but there is another execution path where the put device is not present. It is tried to find such cases. > But given the test in the if in the when code, > on that execution path id is NULL, an so there is no need to put it. I would like to point out that the function “put_device” belongs also to the category of functions which tolerate the passing of null pointers. https://elixir.bootlin.com/linux/v5.0-rc6/source/drivers/base/core.c#L2053 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/core.c?id=cb5b020a8d38f77209d0472a0fea755299a8ec78#n2053 Have we got still different software development opinions about the need for an extra pointer check in the “second” SmPL when specification? Regards, Markus