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-5.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB/PHY fixes from Greg KH:
"Here are a number of small USB and PHY driver fixes for 5.0-rc4.

Nothing major at all, just the usual selection of USB gadget bugfixes,
some new USB serial driver ids, some SPDX fixes, and some PHY driver
fixes for reported issues.

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

* tag 'usb-5.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
USB: serial: keyspan_usa: add proper SPDX lines for .h files
USB: EHCI: ehci-mv: add MODULE_DEVICE_TABLE
USB: leds: fix regression in usbport led trigger
usb: chipidea: fix static checker warning for NULL pointer
MAINTAINERS: email address update in MAINTAINERS entries
USB: usbip: delete README file
USB: serial: pl2303: add new PID to support PL2303TB
usb: dwc2: gadget: Fix Remote Wakeup interrupt bit clearing
phy: ath79-usb: Fix the main reset name to match the DT binding
phy: ath79-usb: Fix the power on error path
phy: fix build breakage: add PHY_MODE_SATA
phy: ti: ensure priv is not null before dereferencing it
USB: serial: ftdi_sio: fix GPIO not working in autosuspend
usb: gadget: Potential NULL dereference on allocation error
usb: dwc3: gadget: Fix the uninitialized link_state when udc starts
usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup
usb: dwc3: gadget: synchronize_irq dwc irq in suspend
USB: serial: simple: add Motorola Tetra TPG2200 device id

+50 -23
+3
MAINTAINERS
··· 3978 3978 CPU POWER MONITORING SUBSYSTEM 3979 3979 M: Thomas Renninger <trenn@suse.com> 3980 3980 M: Shuah Khan <shuah@kernel.org> 3981 + M: Shuah Khan <skhan@linuxfoundation.org> 3981 3982 L: linux-pm@vger.kernel.org 3982 3983 S: Maintained 3983 3984 F: tools/power/cpupower/ ··· 8259 8258 8260 8259 KERNEL SELFTEST FRAMEWORK 8261 8260 M: Shuah Khan <shuah@kernel.org> 8261 + M: Shuah Khan <skhan@linuxfoundation.org> 8262 8262 L: linux-kselftest@vger.kernel.org 8263 8263 T: git git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git 8264 8264 Q: https://patchwork.kernel.org/project/linux-kselftest/list/ ··· 15843 15841 USB OVER IP DRIVER 15844 15842 M: Valentina Manea <valentina.manea.m@gmail.com> 15845 15843 M: Shuah Khan <shuah@kernel.org> 15844 + M: Shuah Khan <skhan@linuxfoundation.org> 15846 15845 L: linux-usb@vger.kernel.org 15847 15846 S: Maintained 15848 15847 F: Documentation/usb/usbip_protocol.txt
+2 -2
drivers/phy/qualcomm/phy-ath79-usb.c
··· 31 31 32 32 err = reset_control_deassert(priv->reset); 33 33 if (err && priv->no_suspend_override) 34 - reset_control_assert(priv->no_suspend_override); 34 + reset_control_deassert(priv->no_suspend_override); 35 35 36 36 return err; 37 37 } ··· 69 69 if (!priv) 70 70 return -ENOMEM; 71 71 72 - priv->reset = devm_reset_control_get(&pdev->dev, "usb-phy"); 72 + priv->reset = devm_reset_control_get(&pdev->dev, "phy"); 73 73 if (IS_ERR(priv->reset)) 74 74 return PTR_ERR(priv->reset); 75 75
+2 -2
drivers/phy/ti/phy-gmii-sel.c
··· 204 204 205 205 if (args->args_count < 1) 206 206 return ERR_PTR(-EINVAL); 207 + if (!priv || !priv->if_phys) 208 + return ERR_PTR(-ENODEV); 207 209 if (priv->soc_data->features & BIT(PHY_GMII_SEL_RMII_IO_CLK_EN) && 208 210 args->args_count < 2) 209 211 return ERR_PTR(-EINVAL); 210 - if (!priv || !priv->if_phys) 211 - return ERR_PTR(-ENODEV); 212 212 if (phy_id > priv->soc_data->num_ports) 213 213 return ERR_PTR(-EINVAL); 214 214 if (phy_id != priv->if_phys[phy_id - 1].id)
+2 -1
drivers/usb/chipidea/ci_hdrc_imx.c
··· 316 316 if (IS_ERR(data->usbmisc_data)) 317 317 return PTR_ERR(data->usbmisc_data); 318 318 319 - if (of_usb_get_phy_mode(dev->of_node) == USBPHY_INTERFACE_MODE_HSIC) { 319 + if ((of_usb_get_phy_mode(dev->of_node) == USBPHY_INTERFACE_MODE_HSIC) 320 + && data->usbmisc_data) { 320 321 pdata.flags |= CI_HDRC_IMX_IS_HSIC; 321 322 data->usbmisc_data->hsic = 1; 322 323 data->pinctrl = devm_pinctrl_get(dev);
+10 -7
drivers/usb/core/ledtrig-usbport.c
··· 119 119 .attrs = ports_attrs, 120 120 }; 121 121 122 - static const struct attribute_group *ports_groups[] = { 123 - &ports_group, 124 - NULL 125 - }; 126 - 127 122 /*************************************** 128 123 * Adding & removing ports 129 124 ***************************************/ ··· 302 307 static int usbport_trig_activate(struct led_classdev *led_cdev) 303 308 { 304 309 struct usbport_trig_data *usbport_data; 310 + int err; 305 311 306 312 usbport_data = kzalloc(sizeof(*usbport_data), GFP_KERNEL); 307 313 if (!usbport_data) ··· 311 315 312 316 /* List of ports */ 313 317 INIT_LIST_HEAD(&usbport_data->ports); 318 + err = sysfs_create_group(&led_cdev->dev->kobj, &ports_group); 319 + if (err) 320 + goto err_free; 314 321 usb_for_each_dev(usbport_data, usbport_trig_add_usb_dev_ports); 315 322 usbport_trig_update_count(usbport_data); 316 323 ··· 321 322 usbport_data->nb.notifier_call = usbport_trig_notify; 322 323 led_set_trigger_data(led_cdev, usbport_data); 323 324 usb_register_notify(&usbport_data->nb); 324 - 325 325 return 0; 326 + 327 + err_free: 328 + kfree(usbport_data); 329 + return err; 326 330 } 327 331 328 332 static void usbport_trig_deactivate(struct led_classdev *led_cdev) ··· 337 335 usbport_trig_remove_port(usbport_data, port); 338 336 } 339 337 338 + sysfs_remove_group(&led_cdev->dev->kobj, &ports_group); 339 + 340 340 usb_unregister_notify(&usbport_data->nb); 341 341 342 342 kfree(usbport_data); ··· 348 344 .name = "usbport", 349 345 .activate = usbport_trig_activate, 350 346 .deactivate = usbport_trig_deactivate, 351 - .groups = ports_groups, 352 347 }; 353 348 354 349 static int __init usbport_trig_init(void)
+1 -1
drivers/usb/dwc2/gadget.c
··· 261 261 262 262 if (gintsts2 & GINTSTS2_WKUP_ALERT_INT) { 263 263 dev_dbg(hsotg->dev, "%s: Wkup_Alert_Int\n", __func__); 264 - dwc2_clear_bit(hsotg, GINTSTS2, GINTSTS2_WKUP_ALERT_INT); 264 + dwc2_set_bit(hsotg, GINTSTS2, GINTSTS2_WKUP_ALERT_INT); 265 265 dwc2_set_bit(hsotg, DCTL, DCTL_RMTWKUPSIG); 266 266 } 267 267 }
+4
drivers/usb/dwc3/gadget.c
··· 177 177 req->started = false; 178 178 list_del(&req->list); 179 179 req->remaining = 0; 180 + req->needs_extra_trb = false; 180 181 181 182 if (req->request.status == -EINPROGRESS) 182 183 req->request.status = status; ··· 1985 1984 1986 1985 /* begin to receive SETUP packets */ 1987 1986 dwc->ep0state = EP0_SETUP_PHASE; 1987 + dwc->link_state = DWC3_LINK_STATE_SS_DIS; 1988 1988 dwc3_ep0_out_start(dwc); 1989 1989 1990 1990 dwc3_gadget_enable_irq(dwc); ··· 3380 3378 dwc3_gadget_run_stop(dwc, false, false); 3381 3379 dwc3_disconnect_gadget(dwc); 3382 3380 __dwc3_gadget_stop(dwc); 3381 + 3382 + synchronize_irq(dwc->irq_gadget); 3383 3383 3384 3384 return 0; 3385 3385 }
+1 -1
drivers/usb/gadget/function/f_sourcesink.c
··· 838 838 839 839 ss = kzalloc(sizeof(*ss), GFP_KERNEL); 840 840 if (!ss) 841 - return NULL; 841 + return ERR_PTR(-ENOMEM); 842 842 843 843 ss_opts = container_of(fi, struct f_ss_opts, func_inst); 844 844
+1
drivers/usb/host/ehci-mv.c
··· 302 302 MODULE_AUTHOR("Neil Zhang <zhangwm@marvell.com>"); 303 303 MODULE_ALIAS("mv-ehci"); 304 304 MODULE_LICENSE("GPL"); 305 + MODULE_DEVICE_TABLE(of, ehci_mv_dt_ids);
+14 -1
drivers/usb/serial/ftdi_sio.c
··· 1783 1783 int result; 1784 1784 u16 val; 1785 1785 1786 + result = usb_autopm_get_interface(serial->interface); 1787 + if (result) 1788 + return result; 1789 + 1786 1790 val = (mode << 8) | (priv->gpio_output << 4) | priv->gpio_value; 1787 1791 result = usb_control_msg(serial->dev, 1788 1792 usb_sndctrlpipe(serial->dev, 0), ··· 1798 1794 "bitmode request failed for value 0x%04x: %d\n", 1799 1795 val, result); 1800 1796 } 1797 + 1798 + usb_autopm_put_interface(serial->interface); 1801 1799 1802 1800 return result; 1803 1801 } ··· 1852 1846 unsigned char *buf; 1853 1847 int result; 1854 1848 1849 + result = usb_autopm_get_interface(serial->interface); 1850 + if (result) 1851 + return result; 1852 + 1855 1853 buf = kmalloc(1, GFP_KERNEL); 1856 - if (!buf) 1854 + if (!buf) { 1855 + usb_autopm_put_interface(serial->interface); 1857 1856 return -ENOMEM; 1857 + } 1858 1858 1859 1859 result = usb_control_msg(serial->dev, 1860 1860 usb_rcvctrlpipe(serial->dev, 0), ··· 1875 1863 } 1876 1864 1877 1865 kfree(buf); 1866 + usb_autopm_put_interface(serial->interface); 1878 1867 1879 1868 return result; 1880 1869 }
+1
drivers/usb/serial/keyspan_usa26msg.h
··· 1 + /* SPDX-License-Identifier: BSD-3-Clause */ 1 2 /* 2 3 usa26msg.h 3 4
+1
drivers/usb/serial/keyspan_usa28msg.h
··· 1 + /* SPDX-License-Identifier: BSD-3-Clause */ 1 2 /* 2 3 usa28msg.h 3 4
+1
drivers/usb/serial/keyspan_usa49msg.h
··· 1 + /* SPDX-License-Identifier: BSD-3-Clause */ 1 2 /* 2 3 usa49msg.h 3 4
+1
drivers/usb/serial/keyspan_usa67msg.h
··· 1 + /* SPDX-License-Identifier: BSD-3-Clause */ 1 2 /* 2 3 usa67msg.h 3 4
+1
drivers/usb/serial/keyspan_usa90msg.h
··· 1 + /* SPDX-License-Identifier: BSD-3-Clause */ 1 2 /* 2 3 usa90msg.h 3 4
+1
drivers/usb/serial/pl2303.c
··· 46 46 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_HCR331) }, 47 47 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_MOTOROLA) }, 48 48 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_ZTEK) }, 49 + { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_TB) }, 49 50 { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, 50 51 { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) }, 51 52 { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID),
+2
drivers/usb/serial/pl2303.h
··· 8 8 9 9 #define PL2303_VENDOR_ID 0x067b 10 10 #define PL2303_PRODUCT_ID 0x2303 11 + #define PL2303_PRODUCT_ID_TB 0x2304 11 12 #define PL2303_PRODUCT_ID_RSAQ2 0x04bb 12 13 #define PL2303_PRODUCT_ID_DCU11 0x1234 13 14 #define PL2303_PRODUCT_ID_PHAROS 0xaaa0 ··· 20 19 #define PL2303_PRODUCT_ID_HCR331 0x331a 21 20 #define PL2303_PRODUCT_ID_MOTOROLA 0x0307 22 21 #define PL2303_PRODUCT_ID_ZTEK 0xe1f1 22 + 23 23 24 24 #define ATEN_VENDOR_ID 0x0557 25 25 #define ATEN_VENDOR_ID2 0x0547
+2 -1
drivers/usb/serial/usb-serial-simple.c
··· 85 85 /* Motorola Tetra driver */ 86 86 #define MOTOROLA_TETRA_IDS() \ 87 87 { USB_DEVICE(0x0cad, 0x9011) }, /* Motorola Solutions TETRA PEI */ \ 88 - { USB_DEVICE(0x0cad, 0x9012) } /* MTP6550 */ 88 + { USB_DEVICE(0x0cad, 0x9012) }, /* MTP6550 */ \ 89 + { USB_DEVICE(0x0cad, 0x9016) } /* TPG2200 */ 89 90 DEVICE(motorola_tetra, MOTOROLA_TETRA_IDS); 90 91 91 92 /* Novatel Wireless GPS driver */
-7
drivers/usb/usbip/README
··· 1 - TODO: 2 - - more discussion about the protocol 3 - - testing 4 - - review of the userspace interface 5 - - document the protocol 6 - 7 - Please send patches for this code to Greg Kroah-Hartman <greg@kroah.com>