Date: Tue, 24 May 2011 23:48:30 +0200 From: "Daniel O'Connor" <doconnor@gsoft.com.au> To: freebsd-usb@freebsd.org Subject: USB driver locking Message-ID: <91D613ED-CA0F-41BF-AD53-2FD42529DCF8@gsoft.com.au>
next in thread | raw e-mail | index | archive | help
Hi, I have a Cypress FX2 based USB interface board connected to our radar = data acquisition chassis. It is used for configuring the hardware and = getting data back to the PC. I wrote a driver which is a very skinny wrapper around the (very handy) = usb_fifo device node code. I have several end points, all bulk. 2 are for serial comms, 2 for a low = speed control bus and 1 for high speed data back to the PC. The PC sends 10-250 byte packets out to modules on the serial bus and = gets replies (after a 10-500 msec) of a similar size. The low speed control bus is driven by the FX2 and the PC sends it 3 = byte packets which is processes to read/write on the control bus, then = sends a 3 byte packet back. I find that my application has rare problems where it does not get a = reply from the micro to a control bus packet, or perhaps the micro = doesn't receive it (I need to add a sequence number or similar to my = protocol to try and detect it I think). I found that this problem happens much less rarely (less than once a = day) on a UP machine than on an SMP one. Given that I am wondering if it is some sort of locking issue, and if = anyone has seen anything similar? I can supply the driver code if anyone is interested :) Thanks. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?91D613ED-CA0F-41BF-AD53-2FD42529DCF8>