From nobody Sat Feb 7 15:02:26 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 790392E339F; Thu, 6 Mar 2025 11:07:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741259260; cv=none; b=KjXS7F+HxbxO07bkz5oCRddy2UiBZXBt9UR9VoS90ULbqw/guMli/+HaI1e2OFqeN00kh8O9G2U+8Y25K+ofMaVAgkEWqOE/KOBQ6/2cF51PjIkzIr8T+33TUwtgi0s/pBHO3kEIdjJ9Sy7kMZijW6w6rUUM6n3bM11IMB6hXEY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741259260; c=relaxed/simple; bh=Qcxo/DoicDHC+bB71KTQ3zd68ADRh2MeqhcxhbWBSH0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Ww1Mcq2u51M0DSUZ//x4+3vguOQbxJRN8q50dhOkyUDA+JcmTMHoIbC6crq0BTAM8y2wpHcw2TXeFFxbTbU+WPSsaXrtKTA5ojoLEnk/3074QaFZEISooK9xzyfuKFyalAxtukFBYAoxCof1QWQyg0YgeR8CVzpA9SGAxl07tHw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=a0AsMR23; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="a0AsMR23" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E76E0C4CEE0; Thu, 6 Mar 2025 11:07:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741259260; bh=Qcxo/DoicDHC+bB71KTQ3zd68ADRh2MeqhcxhbWBSH0=; h=From:To:Cc:Subject:Date:From; b=a0AsMR23a9Wr6BlWHMBfDzVfbm0k9gRb/en9fY26q/IWu3XKpUijUuQVYGMIhb96R eDHqsUJDanC5ZvQkci6JpySxeETr1x94pi4e7b0hTA7/6k6yNe/hLhcY84xBblj+JD oZu9OSgMGUjROl+hiN9Rr59Q58RzjG80mppWc7Z4ndIw/SmPbqg61Qib00wCiAAXTr 3QwY3wdfmDmWN5j6YTrp2I9KYj2b/h3g/XoIQMRHNXZKS3ENZKnAQAH7c0vI2UHhTD y+bCiD64JAWj0Y1DRecM/SbddPen+FwIHnfpFtTBK+8Hd7MsXrHici3YiR/sCXetbM qRYrNCZ62/UxQ== Received: from johan by xi.lan with local (Exim 4.97.1) (envelope-from ) id 1tq94i-000000004mu-3yoU; Thu, 06 Mar 2025 12:07:37 +0100 From: Johan Hovold To: linux-usb@vger.kernel.org Cc: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Johan Hovold , Fabio Porcedda , Daniele Palmas , stable@vger.kernel.org Subject: [PATCH] USB: serial: option: match on interface class for Telit FN990B Date: Thu, 6 Mar 2025 12:07:14 +0100 Message-ID: <20250306110714.18369-1-johan@kernel.org> X-Mailer: git-send-email 2.45.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The device id entries for Telit FN990B ended up matching only on the interface protocol. While this works, the protocol is qualified by the interface class (and subclass) which should have been included. Switch to matching using USB_DEVICE_AND_INTERFACE_INFO() while keeping the entries sorted also by protocol for consistency. Link: https://lore.kernel.org/20250227110655.3647028-2-fabio.porcedda@gmail= .com/ Cc: Fabio Porcedda Cc: Daniele Palmas Cc: stable@vger.kernel.org Signed-off-by: Johan Hovold --- drivers/usb/serial/option.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 58bd54e8c483..1ea2870725ac 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -1394,22 +1394,22 @@ static const struct usb_device_id option_ids[] =3D { .driver_info =3D RSVD(0) | NCTRL(3) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c8, 0xff), /* Telit FE9= 10C04 (rmnet) */ .driver_info =3D RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d0, 0x60) }, /* Teli= t FN990B (rmnet) */ - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d0, 0x40) }, - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d0, 0x30), + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d0, 0xff, 0xff, 0x30= ), /* Telit FN990B (rmnet) */ .driver_info =3D NCTRL(5) }, - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d1, 0x60) }, /* Teli= t FN990B (MBIM) */ - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d1, 0x40) }, - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d1, 0x30), + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d0, 0xff, 0xff, 0x40= ) }, + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d0, 0xff, 0xff, 0x60= ) }, + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d1, 0xff, 0xff, 0x30= ), /* Telit FN990B (MBIM) */ .driver_info =3D NCTRL(6) }, - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d2, 0x60) }, /* Teli= t FN990B (RNDIS) */ - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d2, 0x40) }, - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d2, 0x30), + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d1, 0xff, 0xff, 0x40= ) }, + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d1, 0xff, 0xff, 0x60= ) }, + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d2, 0xff, 0xff, 0x30= ), /* Telit FN990B (RNDIS) */ .driver_info =3D NCTRL(6) }, - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d3, 0x60) }, /* Teli= t FN990B (ECM) */ - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d3, 0x40) }, - { USB_DEVICE_INTERFACE_PROTOCOL(TELIT_VENDOR_ID, 0x10d3, 0x30), + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d2, 0xff, 0xff, 0x40= ) }, + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d2, 0xff, 0xff, 0x60= ) }, + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d3, 0xff, 0xff, 0x30= ), /* Telit FN990B (ECM) */ .driver_info =3D NCTRL(6) }, + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d3, 0xff, 0xff, 0x40= ) }, + { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d3, 0xff, 0xff, 0x60= ) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), .driver_info =3D NCTRL(0) | RSVD(1) | RSVD(3) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM), --=20 2.45.3