Nov. 14, 2025
10:42 a.m.
Hi, Do I need to call mutex_destroy in a failed probe exit, or in the remove module function, if the mutex is located in memory allocated with devm_kzalloc and family? Like: static int mychip_i2c_probe(struct i2c_client *client) { struct chip *chip; int ret; chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); if (!chip) return -ENOMEM; mutex_init(&chip->lock); i2c_set_clientdata(client, chip); /* Do my chip stuf */ return ret; probe_fail: mutex_destroy(&chip->lock); return ret; } I understand that mutex_destroy will only invalidate the memory, but as I am freeing this is not necessary? Thanks Lucas Tanure