Signed-off-by: Russ Gorby <[email protected]>

Under some debug config parameters, the exit routine can cause the interrupt
handler from being called which pointed out a logic problem where the driver
though I/O was in-progress since cur_msg was not cleared in giveback()
---

 drivers/spi/pw_spi3.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/spi/pw_spi3.c b/drivers/spi/pw_spi3.c
index 47281f0..61f4d27 100644
--- a/drivers/spi/pw_spi3.c
+++ b/drivers/spi/pw_spi3.c
@@ -350,6 +350,7 @@ static void giveback(struct driver_data *drv_data)
        msg->state = NULL;
        if (msg->complete)
                msg->complete(msg->context);
+       drv_data->cur_msg = NULL;
 }
 
 static bool chan_filter(struct dma_chan *chan, void *param)
-- 
1.6.0.6

_______________________________________________
MeeGo-kernel mailing list
[email protected]
http://lists.meego.com/listinfo/meego-kernel

Reply via email to