diff -Nurd gnuradio-3.1.2.orig/usrp/host/lib/legacy/usrp_prims.cc gnuradio-3.1.2/usrp/host/lib/legacy/usrp_prims.cc --- gnuradio-3.1.2.orig/usrp/host/lib/legacy/usrp_prims.cc 2008-03-05 16:12:38.000000000 -0500 +++ gnuradio-3.1.2/usrp/host/lib/legacy/usrp_prims.cc 2008-07-12 08:04:09.000000000 -0400 @@ -131,10 +131,18 @@ static struct usb_device * dev_handle_to_dev (usb_dev_handle *udh) { + struct list_head { + struct list_head *prev, *next; + }; + struct usb_dev_handle_kludge { - int fd; - struct usb_bus *bus; - struct usb_device *device; + /* lock protects claimed_interfaces */ + pthread_mutex_t lock; + unsigned long claimed_interfaces; + + struct list_head list; + struct usb_device *device; + unsigned char os_priv[0]; }; return ((struct usb_dev_handle_kludge *) udh)->device;