Hi, I was looking at the CDC-WDM driver. It uses cancel_work_sync() in the pre_reset() method. I looked at the work and saw a GFP_KERNEL there. Now suppose a device has a wdm interface and a storage interface. Is the following sequence possible? kmalloc with GFP_KERNEL in the work VM layer decides to page to storage interface task blocks waiting for completion of IO SCSI layer sees an error SCSI error handling starts SCSI layer requests a bus reset USB layer calls pre_reset() of cdc-wdm wdm_pre_reset() calls cancel_work_sync() cancel_work_sync() waits for work to finish DEADLOCK What do you think? Regards Oliver -- 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