at86rf230: detailed edge triggered irq warning
This patch introduce a more detailed information why edge triggered irq's are currently not recommended. It could be that rising/falling edge detection can happen while the irq is disabled. Suggested-by: Stefan Schmidt <stefan@osg.samsung.com> Signed-off-by: Alexander Aring <alex.aring@gmail.com> Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
493bc90a96
commit
5c3c473637
|
@ -1376,7 +1376,7 @@ static int at86rf230_hw_init(struct at86rf230_local *lp, u8 xtal_trim)
|
||||||
if (irq_type == IRQ_TYPE_EDGE_RISING ||
|
if (irq_type == IRQ_TYPE_EDGE_RISING ||
|
||||||
irq_type == IRQ_TYPE_EDGE_FALLING)
|
irq_type == IRQ_TYPE_EDGE_FALLING)
|
||||||
dev_warn(&lp->spi->dev,
|
dev_warn(&lp->spi->dev,
|
||||||
"Using edge triggered irq's are not recommended!\n");
|
"Using edge triggered irq's are not recommended, because it can cause races and result in a non-functional driver!\n");
|
||||||
if (irq_type == IRQ_TYPE_EDGE_FALLING ||
|
if (irq_type == IRQ_TYPE_EDGE_FALLING ||
|
||||||
irq_type == IRQ_TYPE_LEVEL_LOW)
|
irq_type == IRQ_TYPE_LEVEL_LOW)
|
||||||
irq_pol = IRQ_ACTIVE_LOW;
|
irq_pol = IRQ_ACTIVE_LOW;
|
||||||
|
|
Loading…
Reference in New Issue