Even after Frank's series, there are several issues with device module removal. This series fix those issues, by use kref to deallocate the common data (struct em28xx *dev). It also fixes a circular deppendency inside em28xx-audio. Mauro Carvalho Chehab (7): em28xx-audio: fix return code on device disconnect em28xx-audio: simplify error handling em28xx: Only deallocate struct em28xx after finishing all extensions em28xx-audio: disconnect before freeing URBs em28xx-audio: remove a deplock circular dependency em28xx: print a message at disconnect em28xx: Fix usb diconnect logic drivers/media/usb/em28xx/em28xx-audio.c | 47 ++++++++++++++++++++------------- drivers/media/usb/em28xx/em28xx-cards.c | 41 +++++++++++++--------------- drivers/media/usb/em28xx/em28xx-dvb.c | 7 ++++- drivers/media/usb/em28xx/em28xx-input.c | 10 ++++++- drivers/media/usb/em28xx/em28xx-video.c | 13 ++++----- drivers/media/usb/em28xx/em28xx.h | 9 +++++-- 6 files changed, 76 insertions(+), 51 deletions(-) -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html