Linux USB
 help / color / mirror / Atom feed
From: Amit Sunil Dhamne <amitsd@google.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: heikki.krogerus@linux.intel.com, badhri@google.com,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	kyletso@google.com, rdbabiera@google.com
Subject: Re: [PATCH v2] usb: roles: add lockdep class key to struct usb_role_switch
Date: Thu, 22 Aug 2024 15:32:49 -0700	[thread overview]
Message-ID: <da8ba5d8-b22e-4bdb-9a49-c89df97713a2@google.com> (raw)
In-Reply-To: <2024081549-lusty-boondocks-00e4@gregkh>


On 8/14/24 10:06 PM, Greg KH wrote:
> On Wed, Aug 14, 2024 at 09:40:55PM -0700, Amit Sunil Dhamne wrote:
>> There can be multiple role switch devices running on a platform. Given
>> that lockdep is not capable of differentiating between locks of
>> different instances, false positive warnings for circular locking are
>> reported. To prevent this, register unique lockdep key for each of the
>> individual instances.
>>
>> Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
>> ---
>> v1->v2
>> - Avoid usage of ifdefs.
>> ---
>>   drivers/usb/roles/class.c | 12 ++++++++++++
>>   1 file changed, 12 insertions(+)
>>
>> diff --git a/drivers/usb/roles/class.c b/drivers/usb/roles/class.c
>> index d7aa913ceb8a..9dbe9f6bea83 100644
>> --- a/drivers/usb/roles/class.c
>> +++ b/drivers/usb/roles/class.c
>> @@ -11,6 +11,7 @@
>>   #include <linux/usb/role.h>
>>   #include <linux/property.h>
>>   #include <linux/device.h>
>> +#include <linux/lockdep.h>
>>   #include <linux/module.h>
>>   #include <linux/mutex.h>
>>   #include <linux/slab.h>
>> @@ -33,6 +34,8 @@ struct usb_role_switch {
>>   	usb_role_switch_set_t set;
>>   	usb_role_switch_get_t get;
>>   	bool allow_userspace_control;
>> +
>> +	struct lock_class_key key;
>>   };
>>   
>>   #define to_role_switch(d)	container_of(d, struct usb_role_switch, dev)
>> @@ -396,6 +399,11 @@ usb_role_switch_register(struct device *parent,
>>   
>>   	sw->registered = true;
>>   
>> +	if (IS_ENABLED(CONFIG_LOCKDEP)) {
> Why is this if statement needed at all?

Upon closer look it's redundant. Unfortunately, I missed the different 
definitions for the lockdep API & structs based on CONFIG_LOCKDEP in hdr 
file.

Will be more careful next time.

>
> Please get someone internal to your company/group to review the change
> before sending it out for others to find the obvious issues with it.
> That's what your peers are for.  Please do so and get them to provide a
> reviewed-by on it before submitting it again.

Sounds good. I will send the next revision with reviewed-by signature 
from a peer.


Thanks,

Amit

> thanks,
>
> greg k-h

      reply	other threads:[~2024-08-22 22:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-15  4:40 [PATCH v2] usb: roles: add lockdep class key to struct usb_role_switch Amit Sunil Dhamne
2024-08-15  5:06 ` Greg KH
2024-08-22 22:32   ` Amit Sunil Dhamne [this message]

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=da8ba5d8-b22e-4bdb-9a49-c89df97713a2@google.com \
    --to=amitsd@google.com \
    --cc=badhri@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=kyletso@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=rdbabiera@google.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