Re: [PATCH -next] fsi: aspeed: Use devm_kfree in aspeed_master_release()

From: Guenter Roeck
Date: Mon Nov 11 2019 - 09:16:11 EST


On 11/8/19 7:32 PM, YueHaibing wrote:
'aspeed' is allocted by devm_kfree(), it should not be
freed bt kfree().

Fixes: 1edac1269c02 ("fsi: Add ast2600 master driver")
Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
---
drivers/fsi/fsi-master-aspeed.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c
index 3dd82dd..0f63eec 100644
--- a/drivers/fsi/fsi-master-aspeed.c
+++ b/drivers/fsi/fsi-master-aspeed.c
@@ -361,7 +361,7 @@ static void aspeed_master_release(struct device *dev)
struct fsi_master_aspeed *aspeed =
to_fsi_master_aspeed(dev_to_fsi_master(dev));
- kfree(aspeed);
+ devm_kfree(dev, aspeed);
}
/* mmode encoders */

The memory is attached to the device, and will thus be freed once the device
is released. Why is the release function needed in the first place ?

Guenter