USB fixes for 6.2-rc8

Here are 2 small USB driver fixes that resolve some reported regressions
 and one new device quirk.  Specifically these are:
   - new quirk for Alcor Link AK9563 smartcard reader
   - revert of u_ether gadget change in 6.2-rc1 that caused problems
   - typec pin probe fix
 
 All of these have been in linux-next with no reported problems.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCY+jGFQ8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ylYkQCgybIKsO7j9Mfi5nTsZktsWJRexu8AoMGuckH6
 zko7UCEUrN5mk4xy5w9p
 =1LuO
 -----END PGP SIGNATURE-----

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

Pull USB fixes from Greg KH:
 "Here are 2 small USB driver fixes that resolve some reported
  regressions and one new device quirk. Specifically these are:

   - new quirk for Alcor Link AK9563 smartcard reader

   - revert of u_ether gadget change in 6.2-rc1 that caused problems

   - typec pin probe fix

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

* tag 'usb-6.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  usb: core: add quirk for Alcor Link AK9563 smartcard reader
  usb: typec: altmodes/displayport: Fix probe pin assign check
  Revert "usb: gadget: u_ether: Do not make UDC parent of the net device"
This commit is contained in:
Linus Torvalds 2023-02-12 11:18:57 -08:00
commit e2bca0ebf7
3 changed files with 11 additions and 4 deletions

View file

@ -526,6 +526,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* DJI CineSSD */ /* DJI CineSSD */
{ USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM }, { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM },
/* Alcor Link AK9563 SC Reader used in 2022 Lenovo ThinkPads */
{ USB_DEVICE(0x2ce3, 0x9563), .driver_info = USB_QUIRK_NO_LPM },
/* DELL USB GEN2 */ /* DELL USB GEN2 */
{ USB_DEVICE(0x413c, 0xb062), .driver_info = USB_QUIRK_NO_LPM | USB_QUIRK_RESET_RESUME }, { USB_DEVICE(0x413c, 0xb062), .driver_info = USB_QUIRK_NO_LPM | USB_QUIRK_RESET_RESUME },

View file

@ -798,6 +798,7 @@ struct eth_dev *gether_setup_name(struct usb_gadget *g,
net->max_mtu = GETHER_MAX_MTU_SIZE; net->max_mtu = GETHER_MAX_MTU_SIZE;
dev->gadget = g; dev->gadget = g;
SET_NETDEV_DEV(net, &g->dev);
SET_NETDEV_DEVTYPE(net, &gadget_type); SET_NETDEV_DEVTYPE(net, &gadget_type);
status = register_netdev(net); status = register_netdev(net);
@ -872,6 +873,8 @@ int gether_register_netdev(struct net_device *net)
struct usb_gadget *g; struct usb_gadget *g;
int status; int status;
if (!net->dev.parent)
return -EINVAL;
dev = netdev_priv(net); dev = netdev_priv(net);
g = dev->gadget; g = dev->gadget;
@ -902,6 +905,7 @@ void gether_set_gadget(struct net_device *net, struct usb_gadget *g)
dev = netdev_priv(net); dev = netdev_priv(net);
dev->gadget = g; dev->gadget = g;
SET_NETDEV_DEV(net, &g->dev);
} }
EXPORT_SYMBOL_GPL(gether_set_gadget); EXPORT_SYMBOL_GPL(gether_set_gadget);

View file

@ -535,10 +535,10 @@ int dp_altmode_probe(struct typec_altmode *alt)
/* FIXME: Port can only be DFP_U. */ /* FIXME: Port can only be DFP_U. */
/* Make sure we have compatiple pin configurations */ /* Make sure we have compatiple pin configurations */
if (!(DP_CAP_DFP_D_PIN_ASSIGN(port->vdo) & if (!(DP_CAP_PIN_ASSIGN_DFP_D(port->vdo) &
DP_CAP_UFP_D_PIN_ASSIGN(alt->vdo)) && DP_CAP_PIN_ASSIGN_UFP_D(alt->vdo)) &&
!(DP_CAP_UFP_D_PIN_ASSIGN(port->vdo) & !(DP_CAP_PIN_ASSIGN_UFP_D(port->vdo) &
DP_CAP_DFP_D_PIN_ASSIGN(alt->vdo))) DP_CAP_PIN_ASSIGN_DFP_D(alt->vdo)))
return -ENODEV; return -ENODEV;
ret = sysfs_create_group(&alt->dev.kobj, &dp_altmode_group); ret = sysfs_create_group(&alt->dev.kobj, &dp_altmode_group);