[PATCH v4 3/6] iommu/mediatek: Add error path for loop of mm_dts_parse

Dan Carpenter dan.carpenter at oracle.com
Tue Aug 30 01:32:07 PDT 2022


On Wed, Aug 24, 2022 at 02:43:03PM +0800, Yong Wu wrote:
> The mtk_iommu_mm_dts_parse will parse the smi larbs nodes. if the i+1
> larb is parsed fail, we should put_device for the 0..i larbs.
> 
> There are two places need to comment:
> 1) The larbid may be not linear mapping, we should loop whole
>    the array in the error path.
> 2) I move this line position: "data->larb_imu[id].dev = &plarbdev->dev;"
>    That means set data->larb_imu[id].dev before the error path.
>    then we don't need "platform_device_put(plarbdev)" again while
>    probe_defer case. All depend on "put_device" in the error path in error
>    cases.

I don't understand what you're saying here.  There is still a
platform_device_put(plarbdev) on the success path after
component_match_add().

So if we fail when i == 2 then we do:

	put_device(data->larb_imu[2].dev);

But for the previous iterations has both platform_device_put()
and put_device() called for them.

regards,
dan carpenter




More information about the Linux-mediatek mailing list