mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 23:23:03 +00:00
Merge branch 'for-6.11/core' into for-linus
Couple of fixes for HID-core: - use of kvzalloc in case memory gets too fragmented (Hailong Liu) - retrieve the device firmware node in the child HID device (Danny Kaehn)
This commit is contained in:
commit
b5c4881bda
@ -95,9 +95,9 @@ static struct hid_field *hid_register_field(struct hid_report *report, unsigned
|
||||
return NULL;
|
||||
}
|
||||
|
||||
field = kzalloc((sizeof(struct hid_field) +
|
||||
usages * sizeof(struct hid_usage) +
|
||||
3 * usages * sizeof(unsigned int)), GFP_KERNEL);
|
||||
field = kvzalloc((sizeof(struct hid_field) +
|
||||
usages * sizeof(struct hid_usage) +
|
||||
3 * usages * sizeof(unsigned int)), GFP_KERNEL);
|
||||
if (!field)
|
||||
return NULL;
|
||||
|
||||
@ -661,7 +661,7 @@ static void hid_free_report(struct hid_report *report)
|
||||
kfree(report->field_entries);
|
||||
|
||||
for (n = 0; n < report->maxfield; n++)
|
||||
kfree(report->field[n]);
|
||||
kvfree(report->field[n]);
|
||||
kfree(report);
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <linux/list.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/property.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <asm/unaligned.h>
|
||||
#include <asm/byteorder.h>
|
||||
@ -1374,6 +1375,7 @@ static int usbhid_probe(struct usb_interface *intf, const struct usb_device_id *
|
||||
hid->hiddev_report_event = hiddev_report_event;
|
||||
#endif
|
||||
hid->dev.parent = &intf->dev;
|
||||
device_set_node(&hid->dev, dev_fwnode(&intf->dev));
|
||||
hid->bus = BUS_USB;
|
||||
hid->vendor = le16_to_cpu(dev->descriptor.idVendor);
|
||||
hid->product = le16_to_cpu(dev->descriptor.idProduct);
|
||||
|
Loading…
Reference in New Issue
Block a user