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

Reply via email to