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.

Merge tag 'usb-6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
"Here are some small USB fixes for 6.7-rc5 to resolve some reported
issues. Included in here are:

- usb gadget f_hid, and uevent fix

- xhci driver revert to resolve a much-reported issue

- typec driver fix

All of these have been in linux-next with no reported issues"

* tag 'usb-6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
usb: gadget: f_hid: fix report descriptor allocation
Revert "xhci: Loosen RPM as default policy to cover for AMD xHC 1.1"
usb: typec: class: fix typec_altmode_put_partner to put plugs
USB: gadget: core: adjust uevent timing on gadget unbind

+9 -9
+4 -3
drivers/usb/gadget/function/f_hid.c
··· 92 92 { 93 93 struct f_hidg *hidg = container_of(dev, struct f_hidg, dev); 94 94 95 + kfree(hidg->report_desc); 95 96 kfree(hidg->set_report_buf); 96 97 kfree(hidg); 97 98 } ··· 1288 1287 hidg->report_length = opts->report_length; 1289 1288 hidg->report_desc_length = opts->report_desc_length; 1290 1289 if (opts->report_desc) { 1291 - hidg->report_desc = devm_kmemdup(&hidg->dev, opts->report_desc, 1292 - opts->report_desc_length, 1293 - GFP_KERNEL); 1290 + hidg->report_desc = kmemdup(opts->report_desc, 1291 + opts->report_desc_length, 1292 + GFP_KERNEL); 1294 1293 if (!hidg->report_desc) { 1295 1294 ret = -ENOMEM; 1296 1295 goto err_put_device;
+2 -2
drivers/usb/gadget/udc/core.c
··· 1646 1646 1647 1647 dev_dbg(&udc->dev, "unbinding gadget driver [%s]\n", driver->function); 1648 1648 1649 - kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE); 1650 - 1651 1649 udc->allow_connect = false; 1652 1650 cancel_work_sync(&udc->vbus_work); 1653 1651 mutex_lock(&udc->connect_lock); ··· 1665 1667 driver->is_bound = false; 1666 1668 udc->driver = NULL; 1667 1669 mutex_unlock(&udc_lock); 1670 + 1671 + kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE); 1668 1672 } 1669 1673 1670 1674 /* ------------------------------------------------------------------------- */
-2
drivers/usb/host/xhci-pci.c
··· 535 535 /* xHC spec requires PCI devices to support D3hot and D3cold */ 536 536 if (xhci->hci_version >= 0x120) 537 537 xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW; 538 - else if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version >= 0x110) 539 - xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW; 540 538 541 539 if (xhci->quirks & XHCI_RESET_ON_RESUME) 542 540 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
+3 -2
drivers/usb/typec/class.c
··· 267 267 if (!partner) 268 268 return; 269 269 270 - adev = &partner->adev; 270 + adev = &altmode->adev; 271 271 272 272 if (is_typec_plug(adev->dev.parent)) { 273 273 struct typec_plug *plug = to_typec_plug(adev->dev.parent); ··· 497 497 { 498 498 struct altmode *alt = to_altmode(to_typec_altmode(dev)); 499 499 500 - typec_altmode_put_partner(alt); 500 + if (!is_typec_port(dev->parent)) 501 + typec_altmode_put_partner(alt); 501 502 502 503 altmode_id_remove(alt->adev.dev.parent, alt->id); 503 504 kfree(alt);