lkml.org 
[lkml]   [2018]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] drivers/staging/gasket: Use refcount_read()
On Fri, Jul 06, 2018 at 11:43:10PM -0700, Todd Poynor wrote:
> From: Todd Poynor <toddpoynor@google.com>
>
> Use the refcount_read accessor function, avoid reaching into refcount
> and atomic struct fields.
>
> Signed-off-by: Todd Poynor <toddpoynor@google.com>
> ---
> drivers/staging/gasket/gasket_sysfs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/gasket/gasket_sysfs.c b/drivers/staging/gasket/gasket_sysfs.c
> index d45098c90b4b..b5cdc180772a 100644
> --- a/drivers/staging/gasket/gasket_sysfs.c
> +++ b/drivers/staging/gasket/gasket_sysfs.c
> @@ -122,7 +122,7 @@ static void put_mapping(struct gasket_sysfs_mapping *mapping)
> }
>
> mutex_lock(&mapping->mutex);
> - if (mapping->refcount.refcount.refs.counter == 0)
> + if (refcount_read(&mapping->refcount.refcount) == 0)
> gasket_nodev_error("Refcount is already 0!");
> if (kref_put(&mapping->refcount, release_entry)) {
> gasket_nodev_info("Removing Gasket sysfs mapping, device %s",

Thanks for the patch, but ugh, why in the world is this driver even
doing this type of thing? Odds are all of these reference counting
checks can be removed, something else to add to the "todo" file...

thanks,

greg k-h

\
 
 \ /
  Last update: 2018-07-07 09:55    [W:0.023 / U:0.964 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site