linux-next/drivers/usb/common
Greg Kroah-Hartman 0b3144da31 USB: make single lock for all usb dynamic id lists
There are a number of places where we accidentally pass in a constant
structure to later cast it off to a dynamic one, and then attempt to
grab a lock on it, which is not a good idea.  To help resolve this, move
the dynamic id lock out of the dynamic id structure for the driver and
into one single lock for all USB dynamic ids.  As this lock should never
have any real contention (it's only every accessed when a device is
added or removed, which is always serialized) there should not be any
difference except for some memory savings.

Note, this just converts the existing use of the dynamic id lock to the
new static lock, there is one place that is accessing the dynamic id
list without grabbing the lock, that will be fixed up in a follow-on
change.

Cc: Johan Hovold <johan@kernel.org>
Cc: Herve Codina <herve.codina@bootlin.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Grant Grundler <grundler@chromium.org>
Cc: Oliver Neukum <oneukum@suse.com>
Cc: Yajun Deng <yajun.deng@linux.dev>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: linux-usb@vger.kernel.org
Link: https://lore.kernel.org/r/2024111322-kindly-finalist-d247@gregkh
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-14 17:05:20 +01:00
..
common.c USB: make single lock for all usb dynamic id lists 2024-11-14 17:05:20 +01:00
common.h USB: move usb debugfs directory creation to the usb common core 2019-06-06 08:59:19 +02:00
debug.c usb: common: debug: Check non-standard control requests 2022-08-19 11:04:25 +02:00
Kconfig Partially revert "usb: Kconfig: using select for USB_COMMON dependency" 2021-10-05 13:45:16 +02:00
led.c leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
Makefile usb: common: add USB GPIO based connection detection driver 2019-09-03 19:01:04 +02:00
ulpi.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
usb-conn-gpio.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
usb-otg-fsm.c usb: common: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:47 +02:00