OpenCloudOS-Kernel/drivers/net/ieee802154
Sascha Herrmann 057dad6fcb at86rf230: change irq handling to prevent lockups with edge type irq
Implemented separate irq handling for edge and level type interrupt
configuration. For edge type interrupts calls to disable_irq_nosync()
and enable_irq() are removed. The at86rf230 resets the irq line only
after the irq status register is read. Disabling the irq can lock the
driver in situations where a irq is set by the radio while the driver
is still reading the frame buffer.

With irq_type configuration set to 0 the original behavior is
preserverd.

Additional the irq filter register is set to filter out all unused
interrupts and the irq status register is read in the probe
function to clear the irq line.

Signed-off-by: Sascha Herrmann <sascha@ps.nvbi.de>

Conflicts:
	drivers/net/ieee802154/at86rf230.c
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-04-16 16:34:08 -04:00
..
Kconfig ieee802154: MRF24J40 driver 2012-09-04 14:43:55 -04:00
Makefile ieee802154: MRF24J40 driver 2012-09-04 14:43:55 -04:00
at86rf230.c at86rf230: change irq handling to prevent lockups with edge type irq 2013-04-16 16:34:08 -04:00
fakehard.c IEEE 802.15.4: remove get_bsn from "struct ieee802154_mlme_ops" 2013-04-08 12:00:16 -04:00
fakelb.c ieee802154: remove __dev* attributes 2012-12-03 11:16:56 -08:00
mrf24j40.c mrf24j40: use module_spi_driver to simplify the code 2013-04-09 13:19:38 -04:00