From: Ian Abbott Date: Mon, 21 Jul 2014 16:29:06 +0000 (+0100) Subject: staging: comedi: ni_6527: reset edge detection registers X-Git-Tag: firefly_0821_release~176^2~3491^2~338 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e44c53920fc7feafc412e547e0a8d62530b1a28d;p=firefly-linux-kernel-4.4.55.git staging: comedi: ni_6527: reset edge detection registers `ni6527_reset()` is called to reset various registers when the device is being initialized or deinitialized. The edge detection interrupt is disabled by this function, but the rising and falling edge detection registers are currently left alone. Call `ni6527_set_edge_detection()` to set them to a known, disabled state. Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/ni_6527.c b/drivers/staging/comedi/drivers/ni_6527.c index 57d8d4c30459..8ea93b584526 100644 --- a/drivers/staging/comedi/drivers/ni_6527.c +++ b/drivers/staging/comedi/drivers/ni_6527.c @@ -393,6 +393,9 @@ static void ni6527_reset(struct comedi_device *dev) /* disable deglitch filters on all channels */ ni6527_set_filter_enable(dev, 0); + /* disable edge detection */ + ni6527_set_edge_detection(dev, 0xffffffff, 0, 0); + writeb(NI6527_CLR_IRQS | NI6527_CLR_RESET_FILT, mmio + NI6527_CLR_REG); writeb(NI6527_CTRL_DISABLE_IRQS, mmio + NI6527_CTRL_REG);