Hello I am porting a usb test driver from kernel version 3.0.8 to kernel version 3.7.1. The release function was working on V3.0.0. On V3.7.1, the private data stored in serial->port.device->p->driver_data seems already to be deallocated (or never correctly be allocated): usb_get_serial_port_data returns a null pointer. Is there any function as part of the usb kernel framework that releases the private data before calling the release function ? static void usbrsa_test_release(struct usb_serial *serial) { int i; struct usbrsa_port_private* priv; dev_dbg(&serial->dev->dev,"%s():entered\n",__func__); printk("%s():entered\n",__func__); for (i = 0; i < serial->num_ports; i++) { pr_debug("%s():portnum=%d\n",__func__,i); printk("%s():portnum=%d\n",__func__,i); priv = usb_get_serial_port_data(serial->port[i]); if (priv == NULL) { printk("%s: ERROR: priv == NULL\n",__func__); } else { release_status_urb(priv); release_write_urb(priv); release_read_urb(priv); kfree(priv); } } } Thanks Tilman -- 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