diff --git a/[refs] b/[refs] index e9f8c7b47acb..b7cc5b016e93 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 823eebac89f7adef3fb75e2a68e9e88be9b4afbe +refs/heads/master: 5b6a63cc2f11a9b00862d13104d1304e082acfe5 diff --git a/trunk/drivers/media/dvb/dvb-usb/dvb_usb.h b/trunk/drivers/media/dvb/dvb-usb/dvb_usb.h index 79f8571b9b20..d0c628782f76 100644 --- a/trunk/drivers/media/dvb/dvb-usb/dvb_usb.h +++ b/trunk/drivers/media/dvb/dvb-usb/dvb_usb.h @@ -195,6 +195,7 @@ struct dvb_usb_device_properties { #define COLD 1 int (*identify_state) (struct dvb_usb_device *); int (*init) (struct dvb_usb_device *); + void (*disconnect) (struct dvb_usb_device *); int (*get_rc_config) (struct dvb_usb_device *, struct dvb_usb_rc *); int (*get_usb_stream_config) (struct dvb_frontend *, struct usb_data_stream_properties *); diff --git a/trunk/drivers/media/dvb/dvb-usb/dvb_usb_init.c b/trunk/drivers/media/dvb/dvb-usb/dvb_usb_init.c index 1f0fb11c587c..976a706b4cc7 100644 --- a/trunk/drivers/media/dvb/dvb-usb/dvb_usb_init.c +++ b/trunk/drivers/media/dvb/dvb-usb/dvb_usb_init.c @@ -428,6 +428,9 @@ void dvb_usbv2_disconnect(struct usb_interface *intf) if (d->work_pid != current->pid) cancel_work_sync(&d->probe_work); + if (d->props.disconnect) + d->props.disconnect(d); + name = d->name; dvb_usbv2_exit(d);