USB stack getting confused
O'Connor, Daniel
darius at dons.net.au
Mon Mar 11 06:36:26 UTC 2019
> On 11 Mar 2019, at 15:00, O'Connor, Daniel <darius at dons.net.au> wrote:
>
>
>
>> On 11 Mar 2019, at 14:27, O'Connor, Daniel <darius at dons.net.au> wrote:
>> I can dig into the kernel part if you want but will need some guidance where to look..
>
> Note that I put a dtrace probe on ugen_open and usb_fifo_open and it does not fire for 0.5, eg..
> [maarsytest 4:28] ~> sudo dtrace -s ~/usb_fifo.d 2324
> Password:
> dtrace: script '/home/radar/usb_fifo.d' matched 4 probes
> CPU ID FUNCTION:NAME
> 2 65418 openat:entry Open: /home/radar/ud3/run/experiment.stemp
> 0 65418 openat:entry Open: /local0/Measurements/Phasetest/20190311-0428.noise
> 2 65418 openat:entry Open: /home/radar/ud3/lib/acquisition//integrate.plugin
> 3 65418 openat:entry Open: /dev/ugsio0.ud
> 3 12030 usb_fifo_open:entry Ugen: ugen0.2 f_open: ffffffff822946a0
> 3 12031 usb_fifo_open:return Return: 0 Errno: 9
> 3 65418 openat:entry Open: /dev/ussio0.ud
> 0 65418 openat:entry Open: /dev/usbctl
> 0 65418 openat:entry Open: /dev/ugen0.1
> 0 12030 usb_fifo_open:entry Ugen: ugen0.1 f_open: ffffffff8093fd00
> 0 12102 ugen_open:return Return: 0 Errno: 0
> 0 12031 usb_fifo_open:return Return: 0 Errno: 0
> 0 12030 usb_fifo_open:entry Ugen: ugen0.1 f_open: ffffffff8093fd00
> 0 12102 ugen_open:return Return: 0 Errno: 0
> 0 12031 usb_fifo_open:return Return: 0 Errno: 0
> 3 65418 openat:entry Open: /dev/ugen0.2
> 3 12030 usb_fifo_open:entry Ugen: ugen0.2 f_open: ffffffff8093fd00
> 3 12102 ugen_open:return Return: 0 Errno: 0
> 3 12031 usb_fifo_open:return Return: 0 Errno: 0
> 3 12030 usb_fifo_open:entry Ugen: ugen0.2 f_open: ffffffff8093fd00
> 3 12102 ugen_open:return Return: 0 Errno: 0
> 3 12031 usb_fifo_open:return Return: 0 Errno: 0
> 3 65418 openat:entry Open: /dev/ugen0.3
> 3 12030 usb_fifo_open:entry Ugen: ugen0.3 f_open: ffffffff8093fd00
> 3 12102 ugen_open:return Return: 0 Errno: 0
> 3 12031 usb_fifo_open:return Return: 0 Errno: 0
> 3 12030 usb_fifo_open:entry Ugen: ugen0.3 f_open: ffffffff8093fd00
> 3 12102 ugen_open:return Return: 0 Errno: 0
> 3 12031 usb_fifo_open:return Return: 0 Errno: 0
> 1 65418 openat:entry Open: /dev/ugen0.4
> 1 12030 usb_fifo_open:entry Ugen: ugen0.4 f_open: ffffffff8093fd00
> 1 12102 ugen_open:return Return: 0 Errno: 0
> 1 12031 usb_fifo_open:return Return: 0 Errno: 0
> 1 12030 usb_fifo_open:entry Ugen: ugen0.4 f_open: ffffffff8093fd00
> 1 12102 ugen_open:return Return: 0 Errno: 0
> 1 12031 usb_fifo_open:return Return: 0 Errno: 0
> 1 65418 openat:entry Open: /dev/ugen0.5
I just realised I can check procstat for open file, derp.
[maarsytest 6:26] ~> procstat -f 2324|grep 0.5.0| wc
64 640 4928
So I guess that is why it is giving ENOMEM, I'm leaking FDs!
--
Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
More information about the freebsd-hackers
mailing list