mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 14:04:27 -04:00
net: usb: cdc_ncm: add Apple MacBook Pro USB product ID 0x1902
The cdc_devs[] quirk table special-cases the Mac CDC-NCM private interface personality only for USB product ID 0x1905. Some MacBook Pro models (e.g. M1 Max) connected over a USB4/Thunderbolt 3/4 cable to a host whose Thunderbolt controller lacks PCIe tunneling support (no NHI function, USB4-only mode) present themselves with product ID 0x1902 instead, using the same descriptor layout as 0x1905: a Communications control interface with zero endpoints (no interrupt/status endpoint) paired with a CDC Data interface, at interface numbers 0 and 2. Because 0x1902 is unmatched, these devices fall through to the generic cdc_ncm_info driver_info, which sets FLAG_LINK_INTR and therefore requires an interrupt endpoint on the control interface. Apple's private NCM interface never provides one, so cdc_ncm_bind() fails outright: cdc_ncm 2-1:1.0: bind() failure cdc_ncm 2-1:1.2: bind() failure and no network device is created, breaking Ethernet-over-USB4 between the Mac and any USB4 host lacking Thunderbolt PCIe tunneling. Add matching entries for 0x1902 alongside the existing 0x1905 ones, reusing apple_private_interface_info as with the other Mac ID. Signed-off-by: Mehrdad Afshari <mehrdad@signeen.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
e264c04870
commit
746fc0787f
@@ -2013,6 +2013,12 @@ static const struct usb_device_id cdc_devs[] = {
|
||||
},
|
||||
|
||||
/* Mac */
|
||||
{ USB_DEVICE_INTERFACE_NUMBER(0x05ac, 0x1902, 0),
|
||||
.driver_info = (unsigned long)&apple_private_interface_info,
|
||||
},
|
||||
{ USB_DEVICE_INTERFACE_NUMBER(0x05ac, 0x1902, 2),
|
||||
.driver_info = (unsigned long)&apple_private_interface_info,
|
||||
},
|
||||
{ USB_DEVICE_INTERFACE_NUMBER(0x05ac, 0x1905, 0),
|
||||
.driver_info = (unsigned long)&apple_private_interface_info,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user