* [Xenomai-core] Analogy/mite
@ 2011-11-30 18:03 Anders Blomdell
2011-12-01 15:03 ` Anders Blomdell
2011-12-09 13:35 ` Anders Blomdell
0 siblings, 2 replies; 9+ messages in thread
From: Anders Blomdell @ 2011-11-30 18:03 UTC (permalink / raw)
To: xenomai
Hi, just found that
echo 0000:06:01.0 > /sys/bus/pci/drivers/analogy_mite/unbind
does not do the same thing as
analogy_config -r analogyN
in fact it leaves the system in a state where using the driver results
in a kernel OOPS.
Will try to look into it further tomorrow...
/Anders
--
Anders Blomdell Email: anders.blomdell@domain.hid
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Analogy/mite
2011-11-30 18:03 [Xenomai-core] Analogy/mite Anders Blomdell
@ 2011-12-01 15:03 ` Anders Blomdell
2011-12-06 22:47 ` Alexis Berlemont
2011-12-09 13:35 ` Anders Blomdell
1 sibling, 1 reply; 9+ messages in thread
From: Anders Blomdell @ 2011-12-01 15:03 UTC (permalink / raw)
To: xenomai
On 11/30/2011 07:03 PM, Anders Blomdell wrote:
> Hi, just found that
>
> echo 0000:06:01.0 > /sys/bus/pci/drivers/analogy_mite/unbind
>
> does not do the same thing as
>
> analogy_config -r analogyN
>
> in fact it leaves the system in a state where using the driver results
> in a kernel OOPS.
>
> Will try to look into it further tomorrow...
OK seems like we have some interrupt cleanup problem, the following
command sequence:
modprobe xeno_native
modprobe analogy_ni_pcimio
sleep 1
/usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
/usr/local/sbin/analogy_config -r analogy0
rmmod analogy_ni_pcimio
rmmod analogy_ni_mio
rmmod analogy_ni_tio
rmmod analogy_8255
rmmod analogy_ni_mite
rmmod xeno_analogy
sleep 2
modprobe xeno_native
modprobe analogy_ni_pcimio
sleep 1
/usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
Gives:
[ 412.623639] Analogy: MITE: Available NI device IDs: 0x70af
[ 413.648335] Analogy: analogy_ni_pcimio: pcimio_attach: found pci-6221
board
[ 413.676105] Analogy: analogy_ni_pcimio: pcimio_attach: found irq 22
[ 413.682385] BUG: unable to handle kernel paging request at f8bc4bf4
[ 413.683367] IP: [<f8846efe>] xnintr_attach+0x6e/0xfe [xeno_nucleus]
[ 413.683367] *pdpt = 0000000000aca001 *pde = 0000000031ca5067 *pte =
0000000000000000
[ 413.683367] Oops: 0000 [#1] SMP
[ 413.683367] last sysfs file: /sys/bus/pci/drivers/analogy_mite/uevent
[ 413.683367] Modules linked in: analogy_ni_pcimio analogy_ni_mio
analogy_ni_tio analogy_8255 analogy_ni_mite xeno_analogy xeno_native nfs
fscache snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_seq
snd_seq_device snd_pcm snd_timer snd soundcore rt_e1000 rt_e1000_new
rtnet xeno_rtdm nfsd lockd nfs_acl auth_rpcgss xeno_nucleus
snd_page_alloc ppdev iTCO_wdt iTCO_vendor_support microcode sunrpc
exportfs i2c_i801 pcspkr serio_raw e1000e parport_pc parport uinput ipv6
firewire_ohci firewire_core ata_generic pata_acpi crc_itu_t pata_marvell
i915 drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded:
xeno_analogy]
[ 413.683367]
[ 413.683367] Pid: 1579, comm: analogy_config Not tainted
2.6.38.8.xenomai.2.6.0.rtnet.26db745.20111130.1211 #1
/DG965SS
[ 413.683367] EIP: 0060:[<f8846efe>] EFLAGS: 00010286 CPU: 1
[ 413.683367] EIP is at xnintr_attach+0x6e/0xfe [xeno_nucleus]
[ 413.683367] EAX: f8bc4be4 EBX: f87d2be4 ECX: 00000001 EDX: 00000003
[ 413.683367] ESI: f885b840 EDI: fffffff0 EBP: f169ddf4 ESP: f169dde0
[ 413.683367] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 413.683367] Process analogy_config (pid: 1579, ti=f169c000
task=f40925e0 task.ti=f169c000)
[ 413.683367] I-pipe domain Linux
[ 413.683367] Stack:
[ 413.683367] 205bde08 00000001 f87d2be4 00000000 00000001 f169de10
f89a0c91 f87cea28
[ 413.683367] 00000000 00000001 f87d2bd8 00000000 f169de28 f87ceb64
00000001 f87d134f
[ 413.683367] f87d2bd8 f87d2bb8 f169de44 f87cf727 00000001 f87d2bb8
00000016 f87d2bb8
[ 413.683367] Call Trace:
[ 413.683367] [<f89a0c91>] rtdm_irq_request+0x37/0x5a [xeno_rtdm]
[ 413.683367] [<f87cea28>] ? a4l_handle_irq+0x0/0x1f [xeno_analogy]
[ 413.683367] [<f87ceb64>] __a4l_request_irq+0x38/0x3e [xeno_analogy]
[ 413.683367] [<f87cf727>] a4l_request_irq+0x67/0xad [xeno_analogy]
[ 413.683367] [<f86b1593>] pcimio_attach+0x4e0/0x53e [analogy_ni_pcimio]
[ 413.683367] [<f87cde93>] a4l_assign_driver+0x73/0x100 [xeno_analogy]
[ 413.683367] [<f87cdfd9>] a4l_device_attach+0x59/0x6e [xeno_analogy]
[ 413.683367] [<f87ce0d7>] a4l_ioctl_devcfg+0xbd/0xf6 [xeno_analogy]
[ 413.683367] [<f87cf943>] a4l_ioctl+0x1e/0x20 [xeno_analogy]
[ 413.683367] [<f899fa5a>] __rt_dev_ioctl+0x4d/0x104 [xeno_rtdm]
[ 413.683367] [<c07c35b6>] ? do_page_fault+0x2f7/0x322
[ 413.683367] [<f89a1a85>] sys_rtdm_ioctl+0x2e/0x30 [xeno_rtdm]
[ 413.683367] [<f8851414>] losyscall_event+0xb1/0x174 [xeno_nucleus]
[ 413.683367] [<c04887ab>] __ipipe_dispatch_event+0xcb/0x17a
[ 413.683367] [<f8851363>] ? losyscall_event+0x0/0x174 [xeno_nucleus]
[ 413.683367] [<c0415b32>] __ipipe_syscall_root+0x50/0xc9
[ 413.683367] [<c07c0a21>] system_call+0x2d/0x53
[ 413.683367] Code: 00 e8 73 ff ff ff 8b 4b 10 f7 c1 00 00 01 00 89 45
f0 0f 85 92 00 00 00 8b 73 14 c1 e6 06 81 c6 c0 b2 85 f8 8b 46 24 85 c0
74 25 <8b> 50 10 89 ce 21 d6 83 e6 01 74 73 8b 73 18 39 70 18 75 6b 31
[ 413.683367] EIP: [<f8846efe>] xnintr_attach+0x6e/0xfe [xeno_nucleus]
SS:ESP 0068:f169dde0
[ 413.683367] CR2: 00000000f8bc4bf4
>
> /Anders
--
Anders Blomdell Email: anders.blomdell@domain.hid
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Analogy/mite
2011-12-01 15:03 ` Anders Blomdell
@ 2011-12-06 22:47 ` Alexis Berlemont
2011-12-07 7:58 ` Anders Blomdell
0 siblings, 1 reply; 9+ messages in thread
From: Alexis Berlemont @ 2011-12-06 22:47 UTC (permalink / raw)
To: Anders Blomdell; +Cc: xenomai
Hi
On Thu, Dec 1, 2011 at 4:03 PM, Anders Blomdell
<anders.blomdell@domain.hid> wrote:
> On 11/30/2011 07:03 PM, Anders Blomdell wrote:
>>
>> Hi, just found that
>>
>> echo 0000:06:01.0 > /sys/bus/pci/drivers/analogy_mite/unbind
>>
>> does not do the same thing as
>>
>> analogy_config -r analogyN
>>
>> in fact it leaves the system in a state where using the driver results
>> in a kernel OOPS.
>>
>> Will try to look into it further tomorrow...
>
> OK seems like we have some interrupt cleanup problem, the following command
> sequence:
>
OK thank you for the report. I did not have time to look at it yet but
that will be done soon.
Is it blocking for you?
Alexis.
> modprobe xeno_native
> modprobe analogy_ni_pcimio
> sleep 1
> /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
> /usr/local/sbin/analogy_config -r analogy0
> rmmod analogy_ni_pcimio
> rmmod analogy_ni_mio
> rmmod analogy_ni_tio
> rmmod analogy_8255
> rmmod analogy_ni_mite
> rmmod xeno_analogy
>
> sleep 2
>
> modprobe xeno_native
> modprobe analogy_ni_pcimio
> sleep 1
> /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
>
> Gives:
>
> [ 412.623639] Analogy: MITE: Available NI device IDs: 0x70af
> [ 413.648335] Analogy: analogy_ni_pcimio: pcimio_attach: found pci-6221
> board
> [ 413.676105] Analogy: analogy_ni_pcimio: pcimio_attach: found irq 22
> [ 413.682385] BUG: unable to handle kernel paging request at f8bc4bf4
> [ 413.683367] IP: [<f8846efe>] xnintr_attach+0x6e/0xfe [xeno_nucleus]
> [ 413.683367] *pdpt = 0000000000aca001 *pde = 0000000031ca5067 *pte =
> 0000000000000000
> [ 413.683367] Oops: 0000 [#1] SMP
> [ 413.683367] last sysfs file: /sys/bus/pci/drivers/analogy_mite/uevent
> [ 413.683367] Modules linked in: analogy_ni_pcimio analogy_ni_mio
> analogy_ni_tio analogy_8255 analogy_ni_mite xeno_analogy xeno_native nfs
> fscache snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_seq
> snd_seq_device snd_pcm snd_timer snd soundcore rt_e1000 rt_e1000_new rtnet
> xeno_rtdm nfsd lockd nfs_acl auth_rpcgss xeno_nucleus snd_page_alloc ppdev
> iTCO_wdt iTCO_vendor_support microcode sunrpc exportfs i2c_i801 pcspkr
> serio_raw e1000e parport_pc parport uinput ipv6 firewire_ohci firewire_core
> ata_generic pata_acpi crc_itu_t pata_marvell i915 drm_kms_helper drm
> i2c_algo_bit i2c_core video [last unloaded: xeno_analogy]
> [ 413.683367]
> [ 413.683367] Pid: 1579, comm: analogy_config Not tainted
> 2.6.38.8.xenomai.2.6.0.rtnet.26db745.20111130.1211 #1 /DG965SS
> [ 413.683367] EIP: 0060:[<f8846efe>] EFLAGS: 00010286 CPU: 1
> [ 413.683367] EIP is at xnintr_attach+0x6e/0xfe [xeno_nucleus]
> [ 413.683367] EAX: f8bc4be4 EBX: f87d2be4 ECX: 00000001 EDX: 00000003
> [ 413.683367] ESI: f885b840 EDI: fffffff0 EBP: f169ddf4 ESP: f169dde0
> [ 413.683367] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> [ 413.683367] Process analogy_config (pid: 1579, ti=f169c000 task=f40925e0
> task.ti=f169c000)
> [ 413.683367] I-pipe domain Linux
> [ 413.683367] Stack:
> [ 413.683367] 205bde08 00000001 f87d2be4 00000000 00000001 f169de10
> f89a0c91 f87cea28
> [ 413.683367] 00000000 00000001 f87d2bd8 00000000 f169de28 f87ceb64
> 00000001 f87d134f
> [ 413.683367] f87d2bd8 f87d2bb8 f169de44 f87cf727 00000001 f87d2bb8
> 00000016 f87d2bb8
> [ 413.683367] Call Trace:
> [ 413.683367] [<f89a0c91>] rtdm_irq_request+0x37/0x5a [xeno_rtdm]
> [ 413.683367] [<f87cea28>] ? a4l_handle_irq+0x0/0x1f [xeno_analogy]
> [ 413.683367] [<f87ceb64>] __a4l_request_irq+0x38/0x3e [xeno_analogy]
> [ 413.683367] [<f87cf727>] a4l_request_irq+0x67/0xad [xeno_analogy]
> [ 413.683367] [<f86b1593>] pcimio_attach+0x4e0/0x53e [analogy_ni_pcimio]
> [ 413.683367] [<f87cde93>] a4l_assign_driver+0x73/0x100 [xeno_analogy]
> [ 413.683367] [<f87cdfd9>] a4l_device_attach+0x59/0x6e [xeno_analogy]
> [ 413.683367] [<f87ce0d7>] a4l_ioctl_devcfg+0xbd/0xf6 [xeno_analogy]
> [ 413.683367] [<f87cf943>] a4l_ioctl+0x1e/0x20 [xeno_analogy]
> [ 413.683367] [<f899fa5a>] __rt_dev_ioctl+0x4d/0x104 [xeno_rtdm]
> [ 413.683367] [<c07c35b6>] ? do_page_fault+0x2f7/0x322
> [ 413.683367] [<f89a1a85>] sys_rtdm_ioctl+0x2e/0x30 [xeno_rtdm]
> [ 413.683367] [<f8851414>] losyscall_event+0xb1/0x174 [xeno_nucleus]
> [ 413.683367] [<c04887ab>] __ipipe_dispatch_event+0xcb/0x17a
> [ 413.683367] [<f8851363>] ? losyscall_event+0x0/0x174 [xeno_nucleus]
> [ 413.683367] [<c0415b32>] __ipipe_syscall_root+0x50/0xc9
> [ 413.683367] [<c07c0a21>] system_call+0x2d/0x53
> [ 413.683367] Code: 00 e8 73 ff ff ff 8b 4b 10 f7 c1 00 00 01 00 89 45 f0
> 0f 85 92 00 00 00 8b 73 14 c1 e6 06 81 c6 c0 b2 85 f8 8b 46 24 85 c0 74 25
> <8b> 50 10 89 ce 21 d6 83 e6 01 74 73 8b 73 18 39 70 18 75 6b 31
> [ 413.683367] EIP: [<f8846efe>] xnintr_attach+0x6e/0xfe [xeno_nucleus]
> SS:ESP 0068:f169dde0
> [ 413.683367] CR2: 00000000f8bc4bf4
>
>
>
>
>>
>> /Anders
>
>
>
> --
> Anders Blomdell Email: anders.blomdell@control.lth.se
> Department of Automatic Control
> Lund University Phone: +46 46 222 4625
> P.O. Box 118 Fax: +46 46 138118
> SE-221 00 Lund, Sweden
>
>
> _______________________________________________
> Xenomai-core mailing list
> Xenomai-core@domain.hid
> https://mail.gna.org/listinfo/xenomai-core
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Analogy/mite
2011-12-06 22:47 ` Alexis Berlemont
@ 2011-12-07 7:58 ` Anders Blomdell
2011-12-08 16:19 ` Anders Blomdell
0 siblings, 1 reply; 9+ messages in thread
From: Anders Blomdell @ 2011-12-07 7:58 UTC (permalink / raw)
To: Alexis Berlemont; +Cc: xenomai
On 12/06/2011 11:47 PM, Alexis Berlemont wrote:
> Hi
>
> On Thu, Dec 1, 2011 at 4:03 PM, Anders Blomdell
> <anders.blomdell@domain.hid> wrote:
>> On 11/30/2011 07:03 PM, Anders Blomdell wrote:
>>>
>>> Hi, just found that
>>>
>>> echo 0000:06:01.0> /sys/bus/pci/drivers/analogy_mite/unbind
>>>
>>> does not do the same thing as
>>>
>>> analogy_config -r analogyN
>>>
>>> in fact it leaves the system in a state where using the driver results
>>> in a kernel OOPS.
>>>
>>> Will try to look into it further tomorrow...
>>
>> OK seems like we have some interrupt cleanup problem, the following command
>> sequence:
>>
>
> OK thank you for the report. I did not have time to look at it yet but
> that will be done soon.
>
> Is it blocking for you?
Yes, and even worse is this problem:
# /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
# /usr/local/sbin/analogy_config -r analogy0
# cat /proc/xenomai/irq
Killed
I was looking into it last week, but is a workshop since monday, will
get back at this tomorrow.
>
> Alexis.
>
>> modprobe xeno_native
>> modprobe analogy_ni_pcimio
>> sleep 1
>> /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
>> /usr/local/sbin/analogy_config -r analogy0
>> rmmod analogy_ni_pcimio
>> rmmod analogy_ni_mio
>> rmmod analogy_ni_tio
>> rmmod analogy_8255
>> rmmod analogy_ni_mite
>> rmmod xeno_analogy
>>
>> sleep 2
>>
>> modprobe xeno_native
>> modprobe analogy_ni_pcimio
>> sleep 1
>> /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
>>
>> Gives:
>>
>> [ 412.623639] Analogy: MITE: Available NI device IDs: 0x70af
>> [ 413.648335] Analogy: analogy_ni_pcimio: pcimio_attach: found pci-6221
>> board
>> [ 413.676105] Analogy: analogy_ni_pcimio: pcimio_attach: found irq 22
>> [ 413.682385] BUG: unable to handle kernel paging request at f8bc4bf4
>> [ 413.683367] IP: [<f8846efe>] xnintr_attach+0x6e/0xfe [xeno_nucleus]
>> [ 413.683367] *pdpt = 0000000000aca001 *pde = 0000000031ca5067 *pte =
>> 0000000000000000
>> [ 413.683367] Oops: 0000 [#1] SMP
>> [ 413.683367] last sysfs file: /sys/bus/pci/drivers/analogy_mite/uevent
>> [ 413.683367] Modules linked in: analogy_ni_pcimio analogy_ni_mio
>> analogy_ni_tio analogy_8255 analogy_ni_mite xeno_analogy xeno_native nfs
>> fscache snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_seq
>> snd_seq_device snd_pcm snd_timer snd soundcore rt_e1000 rt_e1000_new rtnet
>> xeno_rtdm nfsd lockd nfs_acl auth_rpcgss xeno_nucleus snd_page_alloc ppdev
>> iTCO_wdt iTCO_vendor_support microcode sunrpc exportfs i2c_i801 pcspkr
>> serio_raw e1000e parport_pc parport uinput ipv6 firewire_ohci firewire_core
>> ata_generic pata_acpi crc_itu_t pata_marvell i915 drm_kms_helper drm
>> i2c_algo_bit i2c_core video [last unloaded: xeno_analogy]
>> [ 413.683367]
>> [ 413.683367] Pid: 1579, comm: analogy_config Not tainted
>> 2.6.38.8.xenomai.2.6.0.rtnet.26db745.20111130.1211 #1 /DG965SS
>> [ 413.683367] EIP: 0060:[<f8846efe>] EFLAGS: 00010286 CPU: 1
>> [ 413.683367] EIP is at xnintr_attach+0x6e/0xfe [xeno_nucleus]
>> [ 413.683367] EAX: f8bc4be4 EBX: f87d2be4 ECX: 00000001 EDX: 00000003
>> [ 413.683367] ESI: f885b840 EDI: fffffff0 EBP: f169ddf4 ESP: f169dde0
>> [ 413.683367] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
>> [ 413.683367] Process analogy_config (pid: 1579, ti=f169c000 task=f40925e0
>> task.ti=f169c000)
>> [ 413.683367] I-pipe domain Linux
>> [ 413.683367] Stack:
>> [ 413.683367] 205bde08 00000001 f87d2be4 00000000 00000001 f169de10
>> f89a0c91 f87cea28
>> [ 413.683367] 00000000 00000001 f87d2bd8 00000000 f169de28 f87ceb64
>> 00000001 f87d134f
>> [ 413.683367] f87d2bd8 f87d2bb8 f169de44 f87cf727 00000001 f87d2bb8
>> 00000016 f87d2bb8
>> [ 413.683367] Call Trace:
>> [ 413.683367] [<f89a0c91>] rtdm_irq_request+0x37/0x5a [xeno_rtdm]
>> [ 413.683367] [<f87cea28>] ? a4l_handle_irq+0x0/0x1f [xeno_analogy]
>> [ 413.683367] [<f87ceb64>] __a4l_request_irq+0x38/0x3e [xeno_analogy]
>> [ 413.683367] [<f87cf727>] a4l_request_irq+0x67/0xad [xeno_analogy]
>> [ 413.683367] [<f86b1593>] pcimio_attach+0x4e0/0x53e [analogy_ni_pcimio]
>> [ 413.683367] [<f87cde93>] a4l_assign_driver+0x73/0x100 [xeno_analogy]
>> [ 413.683367] [<f87cdfd9>] a4l_device_attach+0x59/0x6e [xeno_analogy]
>> [ 413.683367] [<f87ce0d7>] a4l_ioctl_devcfg+0xbd/0xf6 [xeno_analogy]
>> [ 413.683367] [<f87cf943>] a4l_ioctl+0x1e/0x20 [xeno_analogy]
>> [ 413.683367] [<f899fa5a>] __rt_dev_ioctl+0x4d/0x104 [xeno_rtdm]
>> [ 413.683367] [<c07c35b6>] ? do_page_fault+0x2f7/0x322
>> [ 413.683367] [<f89a1a85>] sys_rtdm_ioctl+0x2e/0x30 [xeno_rtdm]
>> [ 413.683367] [<f8851414>] losyscall_event+0xb1/0x174 [xeno_nucleus]
>> [ 413.683367] [<c04887ab>] __ipipe_dispatch_event+0xcb/0x17a
>> [ 413.683367] [<f8851363>] ? losyscall_event+0x0/0x174 [xeno_nucleus]
>> [ 413.683367] [<c0415b32>] __ipipe_syscall_root+0x50/0xc9
>> [ 413.683367] [<c07c0a21>] system_call+0x2d/0x53
>> [ 413.683367] Code: 00 e8 73 ff ff ff 8b 4b 10 f7 c1 00 00 01 00 89 45 f0
>> 0f 85 92 00 00 00 8b 73 14 c1 e6 06 81 c6 c0 b2 85 f8 8b 46 24 85 c0 74 25
>> <8b> 50 10 89 ce 21 d6 83 e6 01 74 73 8b 73 18 39 70 18 75 6b 31
>> [ 413.683367] EIP: [<f8846efe>] xnintr_attach+0x6e/0xfe [xeno_nucleus]
>> SS:ESP 0068:f169dde0
>> [ 413.683367] CR2: 00000000f8bc4bf4
>>
>>
>>
>>
>>>
>>> /Anders
>>
>>
>>
>> --
>> Anders Blomdell Email: anders.blomdell@domain.hid
>> Department of Automatic Control
>> Lund University Phone: +46 46 222 4625
>> P.O. Box 118 Fax: +46 46 138118
>> SE-221 00 Lund, Sweden
>>
>>
>> _______________________________________________
>> Xenomai-core mailing list
>> Xenomai-core@domain.hid
>> https://mail.gna.org/listinfo/xenomai-core
--
Anders Blomdell Email: anders.blomdell@domain.hid
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Analogy/mite
2011-12-07 7:58 ` Anders Blomdell
@ 2011-12-08 16:19 ` Anders Blomdell
2011-12-09 10:27 ` Anders Blomdell
0 siblings, 1 reply; 9+ messages in thread
From: Anders Blomdell @ 2011-12-08 16:19 UTC (permalink / raw)
To: Alexis Berlemont; +Cc: xenomai
On 12/07/2011 08:58 AM, Anders Blomdell wrote:
> On 12/06/2011 11:47 PM, Alexis Berlemont wrote:
>> Hi
>>
>> On Thu, Dec 1, 2011 at 4:03 PM, Anders Blomdell
>> <anders.blomdell@domain.hid> wrote:
>>> On 11/30/2011 07:03 PM, Anders Blomdell wrote:
>>>>
>>>> Hi, just found that
>>>>
>>>> echo 0000:06:01.0> /sys/bus/pci/drivers/analogy_mite/unbind
>>>>
>>>> does not do the same thing as
>>>>
>>>> analogy_config -r analogyN
>>>>
>>>> in fact it leaves the system in a state where using the driver results
>>>> in a kernel OOPS.
>>>>
>>>> Will try to look into it further tomorrow...
>>>
>>> OK seems like we have some interrupt cleanup problem, the following
>>> command
>>> sequence:
>>>
>>
>> OK thank you for the report. I did not have time to look at it yet but
>> that will be done soon.
>>
>> Is it blocking for you?
> Yes, and even worse is this problem:
>
> # /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
> # /usr/local/sbin/analogy_config -r analogy0
> # cat /proc/xenomai/irq
> Killed
>
> I was looking into it last week, but is a workshop since monday, will
> get back at this tomorrow.
Seems like somebody is stomping out
dev->transfer.irq_desc.rtdm_desc.flags between attach and detach (flags
and all fields in its vicinity is zeroed out), hence the interrupt is
never removed from the interrupt handler tables wreaking havoc with the
entire kernel.
>
>>
>> Alexis.
>>
>>> modprobe xeno_native
>>> modprobe analogy_ni_pcimio
>>> sleep 1
>>> /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
>>> /usr/local/sbin/analogy_config -r analogy0
>>> rmmod analogy_ni_pcimio
>>> rmmod analogy_ni_mio
>>> rmmod analogy_ni_tio
>>> rmmod analogy_8255
>>> rmmod analogy_ni_mite
>>> rmmod xeno_analogy
>>>
>>> sleep 2
>>>
>>> modprobe xeno_native
>>> modprobe analogy_ni_pcimio
>>> sleep 1
>>> /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
>>>
>>> Gives:
>>>
>>> [ 412.623639] Analogy: MITE: Available NI device IDs: 0x70af
>>> [ 413.648335] Analogy: analogy_ni_pcimio: pcimio_attach: found pci-6221
>>> board
>>> [ 413.676105] Analogy: analogy_ni_pcimio: pcimio_attach: found irq 22
>>> [ 413.682385] BUG: unable to handle kernel paging request at f8bc4bf4
>>> [ 413.683367] IP: [<f8846efe>] xnintr_attach+0x6e/0xfe [xeno_nucleus]
>>> [ 413.683367] *pdpt = 0000000000aca001 *pde = 0000000031ca5067 *pte =
>>> 0000000000000000
>>> [ 413.683367] Oops: 0000 [#1] SMP
>>> [ 413.683367] last sysfs file: /sys/bus/pci/drivers/analogy_mite/uevent
>>> [ 413.683367] Modules linked in: analogy_ni_pcimio analogy_ni_mio
>>> analogy_ni_tio analogy_8255 analogy_ni_mite xeno_analogy xeno_native nfs
>>> fscache snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_seq
>>> snd_seq_device snd_pcm snd_timer snd soundcore rt_e1000 rt_e1000_new
>>> rtnet
>>> xeno_rtdm nfsd lockd nfs_acl auth_rpcgss xeno_nucleus snd_page_alloc
>>> ppdev
>>> iTCO_wdt iTCO_vendor_support microcode sunrpc exportfs i2c_i801 pcspkr
>>> serio_raw e1000e parport_pc parport uinput ipv6 firewire_ohci
>>> firewire_core
>>> ata_generic pata_acpi crc_itu_t pata_marvell i915 drm_kms_helper drm
>>> i2c_algo_bit i2c_core video [last unloaded: xeno_analogy]
>>> [ 413.683367]
>>> [ 413.683367] Pid: 1579, comm: analogy_config Not tainted
>>> 2.6.38.8.xenomai.2.6.0.rtnet.26db745.20111130.1211 #1 /DG965SS
>>> [ 413.683367] EIP: 0060:[<f8846efe>] EFLAGS: 00010286 CPU: 1
>>> [ 413.683367] EIP is at xnintr_attach+0x6e/0xfe [xeno_nucleus]
>>> [ 413.683367] EAX: f8bc4be4 EBX: f87d2be4 ECX: 00000001 EDX: 00000003
>>> [ 413.683367] ESI: f885b840 EDI: fffffff0 EBP: f169ddf4 ESP: f169dde0
>>> [ 413.683367] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
>>> [ 413.683367] Process analogy_config (pid: 1579, ti=f169c000
>>> task=f40925e0
>>> task.ti=f169c000)
>>> [ 413.683367] I-pipe domain Linux
>>> [ 413.683367] Stack:
>>> [ 413.683367] 205bde08 00000001 f87d2be4 00000000 00000001 f169de10
>>> f89a0c91 f87cea28
>>> [ 413.683367] 00000000 00000001 f87d2bd8 00000000 f169de28 f87ceb64
>>> 00000001 f87d134f
>>> [ 413.683367] f87d2bd8 f87d2bb8 f169de44 f87cf727 00000001 f87d2bb8
>>> 00000016 f87d2bb8
>>> [ 413.683367] Call Trace:
>>> [ 413.683367] [<f89a0c91>] rtdm_irq_request+0x37/0x5a [xeno_rtdm]
>>> [ 413.683367] [<f87cea28>] ? a4l_handle_irq+0x0/0x1f [xeno_analogy]
>>> [ 413.683367] [<f87ceb64>] __a4l_request_irq+0x38/0x3e [xeno_analogy]
>>> [ 413.683367] [<f87cf727>] a4l_request_irq+0x67/0xad [xeno_analogy]
>>> [ 413.683367] [<f86b1593>] pcimio_attach+0x4e0/0x53e [analogy_ni_pcimio]
>>> [ 413.683367] [<f87cde93>] a4l_assign_driver+0x73/0x100 [xeno_analogy]
>>> [ 413.683367] [<f87cdfd9>] a4l_device_attach+0x59/0x6e [xeno_analogy]
>>> [ 413.683367] [<f87ce0d7>] a4l_ioctl_devcfg+0xbd/0xf6 [xeno_analogy]
>>> [ 413.683367] [<f87cf943>] a4l_ioctl+0x1e/0x20 [xeno_analogy]
>>> [ 413.683367] [<f899fa5a>] __rt_dev_ioctl+0x4d/0x104 [xeno_rtdm]
>>> [ 413.683367] [<c07c35b6>] ? do_page_fault+0x2f7/0x322
>>> [ 413.683367] [<f89a1a85>] sys_rtdm_ioctl+0x2e/0x30 [xeno_rtdm]
>>> [ 413.683367] [<f8851414>] losyscall_event+0xb1/0x174 [xeno_nucleus]
>>> [ 413.683367] [<c04887ab>] __ipipe_dispatch_event+0xcb/0x17a
>>> [ 413.683367] [<f8851363>] ? losyscall_event+0x0/0x174 [xeno_nucleus]
>>> [ 413.683367] [<c0415b32>] __ipipe_syscall_root+0x50/0xc9
>>> [ 413.683367] [<c07c0a21>] system_call+0x2d/0x53
>>> [ 413.683367] Code: 00 e8 73 ff ff ff 8b 4b 10 f7 c1 00 00 01 00 89
>>> 45 f0
>>> 0f 85 92 00 00 00 8b 73 14 c1 e6 06 81 c6 c0 b2 85 f8 8b 46 24 85 c0
>>> 74 25
>>> <8b> 50 10 89 ce 21 d6 83 e6 01 74 73 8b 73 18 39 70 18 75 6b 31
>>> [ 413.683367] EIP: [<f8846efe>] xnintr_attach+0x6e/0xfe [xeno_nucleus]
>>> SS:ESP 0068:f169dde0
>>> [ 413.683367] CR2: 00000000f8bc4bf4
>>>
>>>
>>>
>>>
>>>>
>>>> /Anders
>>>
>>>
>>>
>>> --
>>> Anders Blomdell Email: anders.blomdell@domain.hid
>>> Department of Automatic Control
>>> Lund University Phone: +46 46 222 4625
>>> P.O. Box 118 Fax: +46 46 138118
>>> SE-221 00 Lund, Sweden
>>>
>>>
>>> _______________________________________________
>>> Xenomai-core mailing list
>>> Xenomai-core@domain.hid
>>> https://mail.gna.org/listinfo/xenomai-core
>
>
--
Anders Blomdell Email: anders.blomdell@domain.hid
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Analogy/mite
2011-12-08 16:19 ` Anders Blomdell
@ 2011-12-09 10:27 ` Anders Blomdell
0 siblings, 0 replies; 9+ messages in thread
From: Anders Blomdell @ 2011-12-09 10:27 UTC (permalink / raw)
To: Alexis Berlemont; +Cc: xenomai
On 12/08/2011 05:19 PM, Anders Blomdell wrote:
> On 12/07/2011 08:58 AM, Anders Blomdell wrote:
>> On 12/06/2011 11:47 PM, Alexis Berlemont wrote:
>>> Hi
>>>
>>> On Thu, Dec 1, 2011 at 4:03 PM, Anders Blomdell
>>> <anders.blomdell@domain.hid> wrote:
>>>> On 11/30/2011 07:03 PM, Anders Blomdell wrote:
>>>>>
>>>>> Hi, just found that
>>>>>
>>>>> echo 0000:06:01.0> /sys/bus/pci/drivers/analogy_mite/unbind
>>>>>
>>>>> does not do the same thing as
>>>>>
>>>>> analogy_config -r analogyN
>>>>>
>>>>> in fact it leaves the system in a state where using the driver results
>>>>> in a kernel OOPS.
>>>>>
>>>>> Will try to look into it further tomorrow...
>>>>
>>>> OK seems like we have some interrupt cleanup problem, the following
>>>> command
>>>> sequence:
>>>>
>>>
>>> OK thank you for the report. I did not have time to look at it yet but
>>> that will be done soon.
>>>
>>> Is it blocking for you?
>> Yes, and even worse is this problem:
>>
>> # /usr/local/sbin/analogy_config analogy0 analogy_ni_pcimio 6,1
>> # /usr/local/sbin/analogy_config -r analogy0
>> # cat /proc/xenomai/irq
>> Killed
>>
>> I was looking into it last week, but is a workshop since monday, will
>> get back at this tomorrow.
> Seems like somebody is stomping out
> dev->transfer.irq_desc.rtdm_desc.flags between attach and detach (flags
> and all fields in its vicinity is zeroed out), hence the interrupt is
> never removed from the interrupt handler tables wreaking havoc with the
> entire kernel.
Found the guilty party: a4l_cleanup_transfer, which zeroes out all the
interrupt data, just before the interrupt should be detached. Somebody
is being overzealous about keeping memory shiningly clean. We need to
keep the useful dirt.
--- xenomai-2.6.0/ksrc/drivers/analogy/transfer.c.orig 2011-12-09
11:22:06.961999598 +0100
+++ xenomai-2.6.0/ksrc/drivers/analogy/transfer.c 2011-12-09
11:22:29.723999243 +0100
@@ -92,8 +92,6 @@
rtdm_free(tsf->subds);
}
- memset(tsf, 0, sizeof(a4l_trf_t));
-
return 0;
}
/Anders
--
Anders Blomdell Email: anders.blomdell@domain.hid
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Analogy/mite
2011-11-30 18:03 [Xenomai-core] Analogy/mite Anders Blomdell
2011-12-01 15:03 ` Anders Blomdell
@ 2011-12-09 13:35 ` Anders Blomdell
2011-12-09 15:51 ` Anders Blomdell
1 sibling, 1 reply; 9+ messages in thread
From: Anders Blomdell @ 2011-12-09 13:35 UTC (permalink / raw)
To: xenomai
On 11/30/2011 07:03 PM, Anders Blomdell wrote:
> Hi, just found that
>
> echo 0000:06:01.0 > /sys/bus/pci/drivers/analogy_mite/unbind
>
> does not do the same thing as
>
> analogy_config -r analogyN
>
> in fact it leaves the system in a state where using the driver results
> in a kernel OOPS.
>
> Will try to look into it further tomorrow...
Well, took quite some time to track down the 'analogy_config -r' bug
(which was responsible for the kernel OOPS [i.e. after fixing it I have
not got any OOPSes]).
So back to the original problem, does anybody foresee that a call to
a4l_ioctl_devcfg(cxt, NULL) from the mite driver would give any problems
(apart from getting the context pointer from the data structures the
mite driver has handy)? It is probably not kosher to do ioctl on a
driver that is not open, but...
/Anders
--
Anders Blomdell Email: anders.blomdell@domain.hid
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Analogy/mite
2011-12-09 13:35 ` Anders Blomdell
@ 2011-12-09 15:51 ` Anders Blomdell
2011-12-09 20:10 ` Anders Blomdell
0 siblings, 1 reply; 9+ messages in thread
From: Anders Blomdell @ 2011-12-09 15:51 UTC (permalink / raw)
To: xenomai
[-- Attachment #1: Type: text/plain, Size: 1385 bytes --]
On 12/09/2011 02:35 PM, Anders Blomdell wrote:
> On 11/30/2011 07:03 PM, Anders Blomdell wrote:
>> Hi, just found that
>>
>> echo 0000:06:01.0 > /sys/bus/pci/drivers/analogy_mite/unbind
>>
>> does not do the same thing as
>>
>> analogy_config -r analogyN
>>
>> in fact it leaves the system in a state where using the driver results
>> in a kernel OOPS.
>>
>> Will try to look into it further tomorrow...
> Well, took quite some time to track down the 'analogy_config -r' bug
> (which was responsible for the kernel OOPS [i.e. after fixing it I have
> not got any OOPSes]).
>
> So back to the original problem, does anybody foresee that a call to
> a4l_ioctl_devcfg(cxt, NULL) from the mite driver would give any problems
> (apart from getting the context pointer from the data structures the
> mite driver has handy)? It is probably not kosher to do ioctl on a
> driver that is not open, but...
Attached is a hack (as can be gleaned from the EXPORT_SYMBOL_GPL), if
the basic assumption that it's ok to do a a4l_ioctl_devcfg(...) during
unbind, I could rewrite the logic to pass down a pointer to
a4l_ioctl_devcfg to avoid this.
/Anders
--
Anders Blomdell Email: anders.blomdell@domain.hid
Department of Automatic Control
Lund University Phone: +46 46 222 4625
P.O. Box 118 Fax: +46 46 138118
SE-221 00 Lund, Sweden
[-- Attachment #2: mite_unbind.patch --]
[-- Type: text/x-patch, Size: 5216 bytes --]
diff -ur xenomai-2.6.0.orig/include/analogy/device.h xenomai-2.6.0/include/analogy/device.h
--- xenomai-2.6.0.orig/include/analogy/device.h 2011-12-09 16:37:46.777999756 +0100
+++ xenomai-2.6.0/include/analogy/device.h 2011-12-09 16:41:18.660003797 +0100
@@ -43,9 +43,9 @@
/* Device specific flags */
unsigned long flags;
- /* Driver assigned to this device thanks to attaching
- procedure */
+ /* Fields assigned to this device in attaching procedure */
a4l_drv_t *driver;
+ a4l_cxt_t *cxt;
/* Hidden description stuff */
struct list_head subdvsq;
diff -ur xenomai-2.6.0.orig/ksrc/drivers/analogy/device.c xenomai-2.6.0/ksrc/drivers/analogy/device.c
--- xenomai-2.6.0.orig/ksrc/drivers/analogy/device.c 2011-12-09 16:37:48.497999755 +0100
+++ xenomai-2.6.0/ksrc/drivers/analogy/device.c 2011-12-09 16:42:23.163001790 +0100
@@ -291,6 +291,7 @@
a4l_dev_t *dev = a4l_get_dev(cxt);
dev->driver = drv;
+ dev->cxt = cxt;
if (drv->privdata_size == 0)
__a4l_dbg(1, core_dbg,
@@ -331,6 +332,7 @@
if (ret != 0 && dev->priv != NULL) {
rtdm_free(dev->priv);
dev->driver = NULL;
+ dev->cxt = NULL;
}
return ret;
@@ -360,6 +362,7 @@
/* Free the private field */
rtdm_free(dev->priv);
dev->driver = NULL;
+ dev->cxt = NULL;
out_release_driver:
return ret;
@@ -455,6 +458,7 @@
return ret;
}
+EXPORT_SYMBOL_GPL(a4l_ioctl_devcfg);
int a4l_ioctl_devinfo(a4l_cxt_t * cxt, void *arg)
{
diff -ur xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/mite.c xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/mite.c
--- xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/mite.c 2011-12-09 16:37:48.499999755 +0100
+++ xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/mite.c 2011-12-09 16:43:04.147002142 +0100
@@ -103,6 +103,9 @@
list_entry(this, struct mite_struct, list);
if(mite->pcidev == dev) {
+ if (mite->a4ldev) {
+ a4l_ioctl_devcfg(mite->a4ldev->cxt, NULL);
+ }
list_del(this);
kfree(mite);
break;
@@ -117,7 +120,8 @@
.remove = mite_remove,
};
-int a4l_mite_setup(struct mite_struct *mite, int use_iodwbsr_1)
+int a4l_mite_setup(struct mite_struct *mite, int use_iodwbsr_1,
+ struct a4l_device *a4ldev)
{
unsigned long length;
resource_size_t addr;
@@ -232,6 +236,7 @@
}
mite->used = 1;
+ mite->a4ldev = a4ldev;
return 0;
}
@@ -255,6 +260,7 @@
pci_release_regions( mite->pcidev );
mite->used = 0;
+ mite->a4ldev = NULL;
}
void a4l_mite_list_devices(void)
diff -ur xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/mite.h xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/mite.h
--- xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/mite.h 2011-12-09 16:37:48.499999755 +0100
+++ xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/mite.h 2011-12-09 16:38:33.976999742 +0100
@@ -70,6 +70,7 @@
void *mite_io_addr;
resource_size_t daq_phys_addr;
void *daq_io_addr;
+ struct a4l_device *a4ldev;
};
static inline
@@ -115,7 +116,8 @@
return mite->pcidev->device;
};
-int a4l_mite_setup(struct mite_struct *mite, int use_iodwbsr_1);
+int a4l_mite_setup(struct mite_struct *mite, int use_iodwbsr_1,
+ struct a4l_device *a4ldev);
void a4l_mite_unsetup(struct mite_struct *mite);
void a4l_mite_list_devices(void);
struct mite_struct * a4l_mite_find_device(int bus,
diff -ur xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/ni_660x.c xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/ni_660x.c
--- xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/ni_660x.c 2011-12-09 16:37:48.500999755 +0100
+++ xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/ni_660x.c 2011-12-09 16:38:34.215999736 +0100
@@ -1102,7 +1102,7 @@
private(dev)->pfi_output_selects[i] = pfi_output_select_counter;
}
- ret = a4l_mite_setup(private(dev)->mite, 1);
+ ret = a4l_mite_setup(private(dev)->mite, 1, dev);
if (ret < 0) {
a4l_err(dev, "%s: error setting up mite\n", __FUNCTION__);
return ret;
diff -ur xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/ni_670x.c xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/ni_670x.c
--- xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/ni_670x.c 2011-12-09 16:37:48.500999755 +0100
+++ xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/ni_670x.c 2011-12-09 16:38:34.215999737 +0100
@@ -297,7 +297,7 @@
devpriv->mite = mite;
devpriv->board_ptr = board;
- ret = a4l_mite_setup(devpriv->mite, 0);
+ ret = a4l_mite_setup(devpriv->mite, 0, dev);
if (ret < 0) {
a4l_err(dev, "%s: error setting up mite\n", __FUNCTION__);
return ret;
diff -ur xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/pcimio.c xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/pcimio.c
--- xenomai-2.6.0.orig/ksrc/drivers/analogy/national_instruments/pcimio.c 2011-12-09 16:37:48.499999755 +0100
+++ xenomai-2.6.0/ksrc/drivers/analogy/national_instruments/pcimio.c 2011-12-09 16:38:34.099999737 +0100
@@ -1524,7 +1524,7 @@
devpriv->stc_readl = &win_in2;
}
- ret = a4l_mite_setup(devpriv->mite, 0);
+ ret = a4l_mite_setup(devpriv->mite, 0, dev);
if(ret < 0)
{
a4l_err(dev, "pcmio_attach: error setting up mite\n");
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Analogy/mite
2011-12-09 15:51 ` Anders Blomdell
@ 2011-12-09 20:10 ` Anders Blomdell
0 siblings, 0 replies; 9+ messages in thread
From: Anders Blomdell @ 2011-12-09 20:10 UTC (permalink / raw)
To: xenomai
On 12/09/2011 04:51 PM, Anders Blomdell wrote:
> On 12/09/2011 02:35 PM, Anders Blomdell wrote:
>> On 11/30/2011 07:03 PM, Anders Blomdell wrote:
>>> Hi, just found that
>>>
>>> echo 0000:06:01.0 > /sys/bus/pci/drivers/analogy_mite/unbind
>>>
>>> does not do the same thing as
>>>
>>> analogy_config -r analogyN
>>>
>>> in fact it leaves the system in a state where using the driver results
>>> in a kernel OOPS.
>>>
>>> Will try to look into it further tomorrow...
>> Well, took quite some time to track down the 'analogy_config -r' bug
>> (which was responsible for the kernel OOPS [i.e. after fixing it I have
>> not got any OOPSes]).
>>
>> So back to the original problem, does anybody foresee that a call to
>> a4l_ioctl_devcfg(cxt, NULL) from the mite driver would give any problems
>> (apart from getting the context pointer from the data structures the
>> mite driver has handy)? It is probably not kosher to do ioctl on a
>> driver that is not open, but...
> Attached is a hack (as can be gleaned from the EXPORT_SYMBOL_GPL), if
> the basic assumption that it's ok to do a a4l_ioctl_devcfg(...) during
> unbind, I could rewrite the logic to pass down a pointer to
> a4l_ioctl_devcfg to avoid this.
Sloppy me, should of course be:
>+ if (mite->a4ldev) {
if (mite->a4ldev && mite->a4ldev->cxt) {
>+ a4l_ioctl_devcfg(mite->a4ldev->cxt, NULL);
>+ }
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-12-09 20:10 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-30 18:03 [Xenomai-core] Analogy/mite Anders Blomdell
2011-12-01 15:03 ` Anders Blomdell
2011-12-06 22:47 ` Alexis Berlemont
2011-12-07 7:58 ` Anders Blomdell
2011-12-08 16:19 ` Anders Blomdell
2011-12-09 10:27 ` Anders Blomdell
2011-12-09 13:35 ` Anders Blomdell
2011-12-09 15:51 ` Anders Blomdell
2011-12-09 20:10 ` Anders Blomdell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.