Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

w1: ds2490: drop redundant device reference

Driver core holds a reference to the USB interface and its parent USB
device while the interface is bound to a driver and there is no need to
take additional references unless the structures are needed after
disconnect.

Drop the redundant device reference to reduce cargo culting, make it
easier to spot drivers where an extra reference is needed, and reduce
the risk of memory leaks when drivers fail to release it.

Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260305111613.18546-1-johan@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://patch.msgid.link/20260403084450.6314-2-krzk@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Johan Hovold and committed by
Greg Kroah-Hartman
94e731cb a1ed2cbb

+3 -8
+3 -8
drivers/w1/masters/ds2490.c
··· 1022 1022 if (!dev) 1023 1023 return -ENOMEM; 1024 1024 1025 - dev->udev = usb_get_dev(udev); 1026 - if (!dev->udev) { 1027 - err = -ENOMEM; 1028 - goto err_out_free; 1029 - } 1025 + dev->udev = udev; 1026 + 1030 1027 memset(dev->ep, 0, sizeof(dev->ep)); 1031 1028 1032 1029 usb_set_intfdata(intf, dev); ··· 1082 1085 1083 1086 err_out_clear: 1084 1087 usb_set_intfdata(intf, NULL); 1085 - usb_put_dev(dev->udev); 1086 - err_out_free: 1087 1088 kfree(dev); 1089 + 1088 1090 return err; 1089 1091 } 1090 1092 ··· 1103 1107 1104 1108 usb_set_intfdata(intf, NULL); 1105 1109 1106 - usb_put_dev(dev->udev); 1107 1110 kfree(dev); 1108 1111 } 1109 1112