diff -r b6119c8bebf6 linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c --- a/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c Wed Sep 03 02:28:42 2008 -0400 +++ b/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c Wed Sep 03 02:29:33 2008 -0400 @@ -1685,7 +1685,13 @@ ttusb_setup_interfaces(ttusb); - ttusb_alloc_iso_urbs(ttusb); + result = ttusb_alloc_iso_urbs(ttusb); + if (result < 0) { + dprintk("%s: ttusb_alloc_iso_urbs - failed\n", __func__); + mutex_unlock(&ttusb->semi2c); + return result; + } + if (ttusb_init_controller(ttusb)) printk("ttusb_init_controller: error\n");