Hi , while going through skel_release() code in usb-skeleton driver , i noticed the following statements : static int skel_release(struct inode *inode, struct file *file) { struct usb_skel *dev; dev = file->private_data; if (dev == NULL) return -ENODEV; ....... } but i am trying to understand the scenario where ( dev == NULL ) can come true and skel_release() returns -ENODEV . since in skel_open() , file->private_data saves dev with ( file->private_data = dev ) statement , and dev is always released either in skel_disconnect (in case no open ) or in release function ( on last close ), in what scenario dev can go NULL when userspace application calls close() . Plz let me know about use case required for presence of above statements . Regards Amit Nagal -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html