David: Just to make your day more miserable, here are a couple of problems I found recently.
1. (Not particularly related to anything else going on lately. Maybe I've mentioned this to you before; I don't remember.) This code in usb_sg_init() doesn't look good: if (dma) { ... } else { /* hc may use _only_ transfer_buffer */ io->urbs [i]->transfer_buffer = page_address (sg [i].page) + sg [i].offset; The problem is that page_address() doesn't really work right, especially for memory pages above 1 GB. 2. (Found while testing your changes to usb_reset_device) Although usbcore acquires usbdev->serialize before probing newly-attached devices, it doesn't acquire the semaphore before probing newly-registered drivers! I don't know how that should be fixed. Alan Stern ------------------------------------------------------- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel