mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
firmware: raspberrypi: Keep count of all consumers
[ Upstream commit 1e7c57355a3bc617fc220234889e49fe722a6305 ] When unbinding the firmware device we need to make sure it has no consumers left. Otherwise we'd leave them with a firmware handle pointing at freed memory. Keep a reference count of all consumers and introduce rpi_firmware_put() which will permit automatically decrease the reference count upon unbinding consumer drivers. Suggested-by: Uwe Kleine-König <[email protected]> Signed-off-by: Nicolas Saenz Julienne <[email protected]> Reviewed-by: Florian Fainelli <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Reviewed-by: Bartosz Golaszewski <[email protected]> Stable-dep-of: 5bca3688bdbc ("Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe") Signed-off-by: Sasha Levin <[email protected]>
This commit is contained in:
parent
919f470337
commit
d537afa08e
2 changed files with 39 additions and 3 deletions
|
|
@ -140,6 +140,7 @@ int rpi_firmware_property(struct rpi_firmware *fw,
|
|||
u32 tag, void *data, size_t len);
|
||||
int rpi_firmware_property_list(struct rpi_firmware *fw,
|
||||
void *data, size_t tag_size);
|
||||
void rpi_firmware_put(struct rpi_firmware *fw);
|
||||
struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node);
|
||||
#else
|
||||
static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag,
|
||||
|
|
@ -154,6 +155,7 @@ static inline int rpi_firmware_property_list(struct rpi_firmware *fw,
|
|||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline void rpi_firmware_put(struct rpi_firmware *fw) { }
|
||||
static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
|
||||
{
|
||||
return NULL;
|
||||
|
|
|
|||
Loading…
Reference in a new issue