Basic question about linux interrupt handlingIn my driver i disable the interrupt line of a peripheral and do some processing, during this time peripheral is sending interrupt. When i enable the interrupt line i received the pending interrupt which happened during that time.is this correct understanding?If yes how can i discard those interrupt which came during the interrupt disable period.I can implement some work around using some delay, looking for linux API or clean way to do this.Before enabling the interrupt we can setdesc = irqtodesc(client-irq);desc-istate &= IRQSPENDING;and enable the interrupt line it will clear all the pending interrupt, but the code says we should never modify these variable.Thank you.
Attention, Internet Explorer UserAnnouncement: Jive has discontinued support for Internet Explorer 7 and below.In order to provide the best platform for continued innovation, Jive no longer supports Internet Explorer 7.Jive will not function with this version of Internet Explorer. Please consider upgrading to a more recent version of Internet Explorer, or trying another browser such as Firefox, Safari, or Google Chrome.(Please remember to honor your company's IT policies before installing new software!).
Mar 10, 2017 When to clear interrupt flag? In general when in the ISR should the interrupt flag be cleared? I've seen code where, for example, U1RXIF is cleared at the beginning of the handler and some at the end of the handler. This same question can be raised for timer, spi, etc. 7.8.3 Interrupt set pending and clear pending The values of the pending status registers can be changed by software, so you can cancel a current pended exception through the NVIC-ICPRn register, or generate software interrupts through the NVIC-ISPRn register (Table 7.11).