All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anders Blomdell <anders.blomdell@domain.hid>
To: Alexis Berlemont <alexis.berlemont@domain.hid>
Cc: "xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] Analogy/mite
Date: Fri, 09 Dec 2011 11:27:15 +0100	[thread overview]
Message-ID: <4EE1E283.709@domain.hid> (raw)
In-Reply-To: <4EE0E3A2.2070302@domain.hid>

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



  reply	other threads:[~2011-12-09 10:27 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2011-12-09 13:35 ` Anders Blomdell
2011-12-09 15:51   ` Anders Blomdell
2011-12-09 20:10     ` Anders Blomdell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EE1E283.709@domain.hid \
    --to=anders.blomdell@domain.hid \
    --cc=alexis.berlemont@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.