Messages in this thread | | | Date | Tue, 30 Aug 2022 11:32:07 +0300 | From | Dan Carpenter <> | Subject | Re: [PATCH v4 3/6] iommu/mediatek: Add error path for loop of mm_dts_parse |
| |
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
| |