No, the code is okay. The works is created in probe() and canceled in remove(). You've added a new cancel in release() which is the wrong place. probe() pairs with remove(). open() pairs with release(). regards, dan carpenter