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

Bluetooth: Use devm_kzalloc in bcm203x.c file.

devm_kzalloc() eliminates the need to free memory explicitly
thereby saving some cleanup code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

authored by

Sachin Kamat and committed by
Gustavo Padovan
9357cc60 de9b9212

+1 -7
+1 -7
drivers/bluetooth/bcm203x.c
··· 177 177 if (intf->cur_altsetting->desc.bInterfaceNumber != 0) 178 178 return -ENODEV; 179 179 180 - data = kzalloc(sizeof(*data), GFP_KERNEL); 180 + data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL); 181 181 if (!data) { 182 182 BT_ERR("Can't allocate memory for data structure"); 183 183 return -ENOMEM; ··· 189 189 data->urb = usb_alloc_urb(0, GFP_KERNEL); 190 190 if (!data->urb) { 191 191 BT_ERR("Can't allocate URB"); 192 - kfree(data); 193 192 return -ENOMEM; 194 193 } 195 194 196 195 if (request_firmware(&firmware, "BCM2033-MD.hex", &udev->dev) < 0) { 197 196 BT_ERR("Mini driver request failed"); 198 197 usb_free_urb(data->urb); 199 - kfree(data); 200 198 return -EIO; 201 199 } 202 200 ··· 207 209 BT_ERR("Can't allocate memory for mini driver"); 208 210 release_firmware(firmware); 209 211 usb_free_urb(data->urb); 210 - kfree(data); 211 212 return -ENOMEM; 212 213 } 213 214 ··· 221 224 BT_ERR("Firmware request failed"); 222 225 usb_free_urb(data->urb); 223 226 kfree(data->buffer); 224 - kfree(data); 225 227 return -EIO; 226 228 } 227 229 ··· 232 236 release_firmware(firmware); 233 237 usb_free_urb(data->urb); 234 238 kfree(data->buffer); 235 - kfree(data); 236 239 return -ENOMEM; 237 240 } 238 241 ··· 266 271 usb_free_urb(data->urb); 267 272 kfree(data->fw_data); 268 273 kfree(data->buffer); 269 - kfree(data); 270 274 } 271 275 272 276 static struct usb_driver bcm203x_driver = {