1. A method of transferring data from a computer system to a Universal Serial Bus (USB) device after a computer system crash where interrupts are masked, the method comprising: detecting the computer system crash; transferring at least a portion of the data to a USB driver for the USB device; the USB driver transferring the portion of the data to a USB controller driver for a USB controller for the USB device; the USB controller driver causing the USB controller to transfer the portion of the data to the USB device; polling the USB controller to determine whether the data transfer was completed; and if the data transfer was completed, providing a notification to the computer system.