Skip to content

Commit 33a4e37

Browse files
committed
Merge tag 'usb-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB / Thunderbolt driver fixes and ids from Greg KH: "Here are a few small USB and Thunderbolt driver fixes and new device ids for 6.0-rc7. They contain: - new usb-serial driver ids - documentation build warning fix in USB hub code - flexcop-usb long-posted bugfix (the v4l maintainer for this is MIA so I have finally picked this up as it is a fix for a reported problem.) - dwc3 64bit DMA bugfix - new thunderbolt device ids - typec build error fix All of these have been in linux-next with no reported issues" * tag 'usb-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: usb: typec: anx7411: Fix build error without CONFIG_POWER_SUPPLY media: flexcop-usb: fix endpoint type check USB: serial: option: add Quectel RM520N USB: serial: option: add Quectel BG95 0x0203 composition thunderbolt: Add support for Intel Maple Ridge single port controller usb: dwc3: core: leave default DMA if the controller does not support 64-bit DMA USB: core: Fix RST error in hub.c
2 parents 9395cd7 + 47af6c6 commit 33a4e37

File tree

7 files changed

+18
-8
lines changed

7 files changed

+18
-8
lines changed

drivers/media/usb/b2c2/flexcop-usb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ static int flexcop_usb_init(struct flexcop_usb *fc_usb)
511511

512512
if (fc_usb->uintf->cur_altsetting->desc.bNumEndpoints < 1)
513513
return -ENODEV;
514-
if (!usb_endpoint_is_isoc_in(&fc_usb->uintf->cur_altsetting->endpoint[1].desc))
514+
if (!usb_endpoint_is_isoc_in(&fc_usb->uintf->cur_altsetting->endpoint[0].desc))
515515
return -ENODEV;
516516

517517
switch (fc_usb->udev->speed) {

drivers/thunderbolt/icm.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2529,6 +2529,7 @@ struct tb *icm_probe(struct tb_nhi *nhi)
25292529
tb->cm_ops = &icm_icl_ops;
25302530
break;
25312531

2532+
case PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_2C_NHI:
25322533
case PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_4C_NHI:
25332534
icm->is_supported = icm_tgl_is_supported;
25342535
icm->get_mode = icm_ar_get_mode;

drivers/thunderbolt/nhi.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ extern const struct tb_nhi_ops icl_nhi_ops;
5555
* need for the PCI quirk anymore as we will use ICM also on Apple
5656
* hardware.
5757
*/
58+
#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_2C_NHI 0x1134
5859
#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_4C_NHI 0x1137
5960
#define PCI_DEVICE_ID_INTEL_WIN_RIDGE_2C_NHI 0x157d
6061
#define PCI_DEVICE_ID_INTEL_WIN_RIDGE_2C_BRIDGE 0x157e

drivers/usb/core/hub.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6039,7 +6039,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev)
60396039
*
60406040
* Return: The same as for usb_reset_and_verify_device().
60416041
* However, if a reset is already in progress (for instance, if a
6042-
* driver doesn't have pre_ or post_reset() callbacks, and while
6042+
* driver doesn't have pre_reset() or post_reset() callbacks, and while
60436043
* being unbound or re-bound during the ongoing reset its disconnect()
60446044
* or probe() routine tries to perform a second, nested reset), the
60456045
* routine returns -EINPROGRESS.

drivers/usb/dwc3/core.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1752,12 +1752,6 @@ static int dwc3_probe(struct platform_device *pdev)
17521752

17531753
dwc3_get_properties(dwc);
17541754

1755-
if (!dwc->sysdev_is_parent) {
1756-
ret = dma_set_mask_and_coherent(dwc->sysdev, DMA_BIT_MASK(64));
1757-
if (ret)
1758-
return ret;
1759-
}
1760-
17611755
dwc->reset = devm_reset_control_array_get_optional_shared(dev);
17621756
if (IS_ERR(dwc->reset))
17631757
return PTR_ERR(dwc->reset);
@@ -1823,6 +1817,13 @@ static int dwc3_probe(struct platform_device *pdev)
18231817
platform_set_drvdata(pdev, dwc);
18241818
dwc3_cache_hwparams(dwc);
18251819

1820+
if (!dwc->sysdev_is_parent &&
1821+
DWC3_GHWPARAMS0_AWIDTH(dwc->hwparams.hwparams0) == 64) {
1822+
ret = dma_set_mask_and_coherent(dwc->sysdev, DMA_BIT_MASK(64));
1823+
if (ret)
1824+
goto disable_clks;
1825+
}
1826+
18261827
spin_lock_init(&dwc->lock);
18271828
mutex_init(&dwc->mutex);
18281829

drivers/usb/serial/option.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ static void option_instat_callback(struct urb *urb);
256256
#define QUECTEL_PRODUCT_EM060K 0x030b
257257
#define QUECTEL_PRODUCT_EM12 0x0512
258258
#define QUECTEL_PRODUCT_RM500Q 0x0800
259+
#define QUECTEL_PRODUCT_RM520N 0x0801
259260
#define QUECTEL_PRODUCT_EC200S_CN 0x6002
260261
#define QUECTEL_PRODUCT_EC200T 0x6026
261262
#define QUECTEL_PRODUCT_RM500K 0x7001
@@ -1138,6 +1139,8 @@ static const struct usb_device_id option_ids[] = {
11381139
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0xff, 0xff),
11391140
.driver_info = NUMEP2 },
11401141
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) },
1142+
{ USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, 0x0203, 0xff), /* BG95-M3 */
1143+
.driver_info = ZLP },
11411144
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
11421145
.driver_info = RSVD(4) },
11431146
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff),
@@ -1159,6 +1162,9 @@ static const struct usb_device_id option_ids[] = {
11591162
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0, 0) },
11601163
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x10),
11611164
.driver_info = ZLP },
1165+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0xff, 0x30) },
1166+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0x40) },
1167+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0) },
11621168
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) },
11631169
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) },
11641170
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) },

drivers/usb/typec/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ config TYPEC_ANX7411
5656
tristate "Analogix ANX7411 Type-C DRP Port controller driver"
5757
depends on I2C
5858
depends on USB_ROLE_SWITCH
59+
depends on POWER_SUPPLY
5960
help
6061
Say Y or M here if your system has Analogix ANX7411 Type-C DRP Port
6162
controller driver.

0 commit comments

Comments
 (0)