ARM: 7242/1: PL330: Detach the request from the pl330_thread when it finishes successful
authorJavi Merino <javi.merino@arm.com>
Wed, 21 Dec 2011 10:19:00 +0000 (11:19 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 3 Jan 2012 15:16:25 +0000 (15:16 +0000)
commitf98b9a26fe08f7f9d7fb26ee3d9f167f79b2f6b6
tree086ebd4a3724e6ff6b3bd9dd0cadf4efbcb0bd50
parent1ec332a3756a22405d2fbd5352e3afab556cb205
ARM: 7242/1: PL330: Detach the request from the pl330_thread when it finishes successful

When a request has finished successfully and we are about to call its
callback, remove its pointer from the corresponding pl330_thread .
This prevents the core driver from calling its callback again if
pl330_release_channel() is called without first flushing the device.
When pl330_update() returns, the driver is allowed to free the pointer
to pl330_req so the core driver shouldn't be able to access it again.

Reference: <CAJe_ZhftO+481BfL0ErEcM_brfmSuTXkTEniLRYxxM2T7OM2QA@mail.gmail.com>

Signed-off-by: Javi Merino <javi.merino@arm.com>
Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/common/pl330.c