Hi Varka,

Here's my 2 pence worth, which is probably worth 2 pence :) . Interrupt handling is mainly architecture dependent although I see they have some generic stuff. For me I'm using a microblaze so the interrupt handling is in arch/microblaze/kernel. Best thing is to step through the interrupt handling code and see what happens for your arch. I think, although not entirely certain, that for me the interrupt line wasn't automatically disabled, looking at the microblaze interrupt controller code
http://lxr.free-electrons.com/source/arch/microblaze/kernel/intc.c?a=microblaze
it doesn't even look like disable is implemented which I think defaults to just masking it.

Personally I don't disable the interrupt line in my driver but then for me there shouldn't be another interrupt occuring whilst processing a rx/tx interrupt for at least ~2ms. I don't know the at86rf chip, maybe you can potentially receive nested interrupts and they are disabling the interrupt line to be on the safe side as they aren't tied to a specific arch. It looks like disabling/enabling uses a depth count so that they won't be re-enabled until the last call so it should be safe to do so. That's my guess anyway :)

Here's a good link to interrupt handling
https://www.kernel.org/doc/htmldocs/genericirq/

-Martin.


On 28/03/14 07:11, Varka Bhadram wrote:
Sorry for that. i am having an bad habit of forgotting cc.
People from mailing list i am expecting the answer.
Thanks alot..
-Varka Bhadram
On March 28, 2014 at 12:07 PM Alexander Aring <alex.ar...@gmail.com> wrote:
> Hi Varka,
>
> please take the mailinglist always in CC. There are also other people
> who knows more about the interrupt handling in at86rf230
>
> On Fri, Mar 28, 2014 at 11:59:31AM +0530, Varka Bhadram wrote:
> > Hai Alex,
> >
> > I have small question about interrupt handling.
> >
> > When an interrupt occur the control goes to the interrupt handler. In the > > interrupt handler interrupt on that irq line will be disabled automatically by > > the linux interrupt management, and re-enabled when the handler return with
> > IRQ_HANDLED. We can check that by irqs_disabled() API.
> >
> > But in the driver code you are explicitly disabling the interrupts by
> > disable_irq_nosync(irq ) and re-enabling by enable_irq(). Is there any reason ?
> >
>
> The current driver is a mess, because the driver can sleep and isn't in
> an atomic context. Phoebe talked about this issues several weeks ago, if
> you have any improvements to this driver, please send patches with git
> send-email to this list. Then we review it and you can send it to
> netdev.
>
> I really don't like to send it directly to netdev, of course you can do
> that but if you don't already realized that. The complete stack and
> 6lowpan isn't maintained so david miller waits ~4 hours and apply it to
> his branches and I don't have 4 hours to review and test it...
> sometimes.
>
> - Alex

-------------------------------------------------------------------------------------------------------------------------------
This e-mail is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. If you are not the
intended recipient, please contact the sender by reply e-mail and destroy
all copies and the original message. Any unauthorized review, use,
disclosure, dissemination, forwarding, printing or copying of this email
is strictly prohibited and appropriate legal action will be taken.
-------------------------------------------------------------------------------------------------------------------------------


------------------------------------------------------------------------------


_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

------------------------------------------------------------------------------
_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

Reply via email to