Messages in this thread | | | Date | Thu, 16 Dec 1999 17:04:20 +0000 | From | Petko Manolov <> | Subject | Re: strange usb behavior |
| |
"Dunlap, Randy" wrote: > > This says that you did a control msg read/INput, > requesting 4 bytes, and 0 bytes were actually read > from the device (i.e., the device sent 0 bytes, not 4).
I can guess this, but is not true because registers i modify changed their values.
> I don't see how this would have anything to do with > the registers being modified. Wouldn't that usually > be done with a control pipe write/OUTput message?
I use vendor specific call that to change MII and device specific registers. So the change succeed, the values are set correctly (the read show so), but warning appears.
> usb_bulk_msg() is a synchronous I/O function. It > waits until I/O complete (or timeout) to return to > your driver. usb_request_bulk() is an async I/O > request. Your driver will continue execution > immediately after the I/O to your device has been > setup. For any decent performance, I expect that > you would want to use usb_request_bulk().
Hm, that looks ok, but kernel oopses bad blaming me that do request_bulk in interrupt. Actually i use request_bulk() from my start_xmit() routine. Speaking of which i have always thought that start_xmit() is the top half of the driver and executes in process context. Is that true?
> BTW, linux-usb has a web site (www.linux-usb.org) and > a mailing list (linux-usb@suse.com).
;-)) Thanks, this simplifies my job very much.
Best regards, Petkan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |