>> Greg, please apply if it looks good to you. Sorry for introducing the >> leak in the first place... > >Looks a bit odd, but ok. Odd? Why that? If you can think of something better, just tell me. The only other way I could think of was faking subclient's private data so that it points to the i2c_client structure itself. That way, freeing i2c_get_clientdata(client) would always work. However, I was fearing some side effect. Maybe the code makes use of the NULL data for remembering which clients are subclients at some point? I think I remember that the 2.4 drivers did, but maybe the 2.6 ones don't. I can take another look and propose that different solution if you want. Thanks.