mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bin Du <Bin.Du@amd.com>
To: "Nirujogi, Pratap" <pnirujog@amd.com>,
	Ricardo Ribalda <ribalda@chromium.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Vikash Garodia <vikash.garodia@oss.qualcomm.com>,
	Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>,
	Abhinav Kumar <abhinav.kumar@linux.dev>,
	Bryan O'Donoghue <bod@kernel.org>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Kieran Bingham <kieran.bingham@ideasonboard.com>,
	Nirujogi Pratap <pratap.nirujogi@amd.com>,
	Sultan Alsawaf <sultan@kerneltoast.com>,
	Svetoslav Stoilov <Svetoslav.Stoilov@amd.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Abylay Ospan <aospan@amazon.com>
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH 5/9] media: platform: amd: use refcount_t instead of atomic_t
Date: Tue, 30 Jun 2026 14:06:33 +0800	[thread overview]
Message-ID: <eab6abda-6f06-4dd4-9aad-1bcbf135f90a@amd.com> (raw)
In-Reply-To: <8bb876da-5691-4471-8813-b12d07ca8ca4@amd.com>



On 6/29/2026 11:51 PM, Nirujogi, Pratap wrote:
> 
> 
> On 6/29/2026 7:30 AM, Ricardo Ribalda wrote:
>> [You don't often get email from ribalda@chromium.org. Learn why this
>> is important at https://aka.ms/LearnAboutSenderIdentification ]
>>
>> Caution: This message originated from an External Source. Use proper
>> caution when opening attachments, clicking links, or responding.
>>
>>
>> We are using the refcnt variable for refcounting. Use the refcount_t
>> type instead, as it has support for saturation and underflow.
>>
>> This also makes cocci happier, as it will fix the following warning:
>> ./platform/amd/isp4/isp4_subdev.c:394:6-25: WARNING:
>> atomic_dec_and_test variation before object free at line 395.
>>
>> Fixes: 4c5feef6a62c ("media: platform: amd: Add isp4 fw and hw
>> interface")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
>> ---
>>   drivers/media/platform/amd/isp4/isp4_interface.c | 4 ++--
>>   drivers/media/platform/amd/isp4/isp4_interface.h | 2 +-
>>   drivers/media/platform/amd/isp4/isp4_subdev.c    | 2 +-
>>   3 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/media/platform/amd/isp4/isp4_interface.c b/
>> drivers/media/platform/amd/isp4/isp4_interface.c
>> index 8d73f66bb42c..00a817909292 100644
>> --- a/drivers/media/platform/amd/isp4/isp4_interface.c
>> +++ b/drivers/media/platform/amd/isp4/isp4_interface.c
>> @@ -375,7 +375,7 @@ static int isp4if_send_fw_cmd(struct
>> isp4_interface *ispif, u32 cmd_id,
>>                          return -ENOMEM;
>>
>>                  /* Get two references: one for the resp thread, one
>> for us */
>> -               atomic_set(&ele->refcnt, 2);
>> +               refcount_set(&ele->refcnt, 2);
>>                  init_completion(&ele->cmd_done);
>>          }
>>
>> @@ -455,7 +455,7 @@ static int isp4if_send_fw_cmd(struct
>> isp4_interface *ispif, u32 cmd_id,
>>
>>   put_ele_ref:
>>          /* Don't free the command if we didn't put the last reference */
>> -       if (ele && atomic_dec_return(&ele->refcnt))
>> +       if (ele && !refcount_dec_and_test(&ele->refcnt))
>>                  ele = NULL;
>>
>>   free_ele:
>> diff --git a/drivers/media/platform/amd/isp4/isp4_interface.h b/
>> drivers/media/platform/amd/isp4/isp4_interface.h
>> index ce3ac9b9e5cd..04db71cd54e6 100644
>> --- a/drivers/media/platform/amd/isp4/isp4_interface.h
>> +++ b/drivers/media/platform/amd/isp4/isp4_interface.h
>> @@ -68,7 +68,7 @@ struct isp4if_cmd_element {
>>          u32 seq_num;
>>          u32 cmd_id;
>>          struct completion cmd_done;
>> -       atomic_t refcnt;
>> +       refcount_t refcnt;
>>   };
>>
>>   struct isp4_interface {
>> diff --git a/drivers/media/platform/amd/isp4/isp4_subdev.c b/drivers/
>> media/platform/amd/isp4/isp4_subdev.c
>> index 48deea79ce6c..2a8bc1207843 100644
>> --- a/drivers/media/platform/amd/isp4/isp4_subdev.c
>> +++ b/drivers/media/platform/amd/isp4/isp4_subdev.c
>> @@ -391,7 +391,7 @@ static void isp4sd_fw_resp_cmd_done(struct
>> isp4_subdev *isp_subdev,
>>
>>          if (ele) {
>>                  complete(&ele->cmd_done);
>> -               if (atomic_dec_and_test(&ele->refcnt))
>> +               if (refcount_dec_and_test(&ele->refcnt))
>>                          kfree(ele);
>>          }
>>   }
>>
>> -- 
>> 2.55.0.rc0.799.gd6f94ed593-goog
>>
> 
> Reviewed-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
> 
> Thanks,
> Pratap
> 
> 

Reviewed-by: Bin Du <bin.du@amd.com>

Regards,
Bin

  reply	other threads:[~2026-06-30  6:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-29 11:30 [PATCH 0/9] media: Fix all missing cocci warnings Ricardo Ribalda
2026-06-29 11:30 ` [PATCH 1/9] media: em28xx-video: Remove unneeded semicolons Ricardo Ribalda
2026-06-29 11:30 ` [PATCH 2/9] media: iris: Replace ternary conditionals with max() Ricardo Ribalda
2026-06-29 13:51   ` Bryan O'Donoghue
2026-06-29 11:30 ` [PATCH 3/9] media: vimc: Fix prototype of vimc_sensor_update_frame_timing Ricardo Ribalda
2026-06-29 11:30 ` [PATCH 4/9] media: vimc: Ensure that pixel_rate fits in 32 bits Ricardo Ribalda
2026-06-29 11:30 ` [PATCH 5/9] media: platform: amd: use refcount_t instead of atomic_t Ricardo Ribalda
2026-06-29 15:51   ` Nirujogi, Pratap
2026-06-30  6:06     ` Bin Du [this message]
2026-06-29 11:30 ` [PATCH 6/9] media: dvb-frontends/helene: Rename priv variable Ricardo Ribalda
2026-06-29 11:30 ` [PATCH 7/9] media: drivers/media/dvb-core: Split dvb_frontend_open() Ricardo Ribalda
2026-06-29 11:30 ` [PATCH 8/9] media: drivers/media/dvb-core: Refactor dvb_frontend_open locking Ricardo Ribalda
2026-06-29 11:30 ` [PATCH 9/9] media: drivers/media/dvb-core: CodeStyle for dvb_frontend_open() Ricardo Ribalda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=eab6abda-6f06-4dd4-9aad-1bcbf135f90a@amd.com \
    --to=bin.du@amd.com \
    --cc=Svetoslav.Stoilov@amd.com \
    --cc=abhinav.kumar@linux.dev \
    --cc=aospan@amazon.com \
    --cc=bod@kernel.org \
    --cc=dikshita.agarwal@oss.qualcomm.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=pnirujog@amd.com \
    --cc=pratap.nirujogi@amd.com \
    --cc=ribalda@chromium.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=skhan@linuxfoundation.org \
    --cc=stable@vger.kernel.org \
    --cc=sultan@kerneltoast.com \
    --cc=vikash.garodia@oss.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome