ARM: 7242/1: PL330: Detach the request from the pl330_thread when it finishes successful
[deliverable/linux.git] / arch / arm / common / pl330.c
index 8d8df744f7a5eb72e02bc65bf85029c2b9f60a63..d8e44a43047ce5cce3a2db34b9368eafe157f579 100644 (file)
@@ -1467,13 +1467,19 @@ int pl330_update(const struct pl330_info *pi)
 
        /* Now that we are in no hurry, do the callbacks */
        while (!list_empty(&pl330->req_done)) {
+               struct pl330_req *r;
+
                rqdone = container_of(pl330->req_done.next,
                                        struct _pl330_req, rqd);
 
                list_del_init(&rqdone->rqd);
 
+               /* Detach the req */
+               r = rqdone->r;
+               rqdone->r = NULL;
+
                spin_unlock_irqrestore(&pl330->lock, flags);
-               _callback(rqdone->r, PL330_ERR_NONE);
+               _callback(r, PL330_ERR_NONE);
                spin_lock_irqsave(&pl330->lock, flags);
        }
 
This page took 0.024736 seconds and 5 git commands to generate.