Skip to content

Commit 742afcc

Browse files
committed
Merge tag 'usb-serial-6.12-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
Johan writes: USB-serial fixes for 6.12-rc7 Here's a fix for a long-standing use-after-free in an io_edgeport debug printk and some new modem device ids. All have been in linux-next with no reported issues. * tag 'usb-serial-6.12-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial: USB: serial: qcserial: add support for Sierra Wireless EM86xx USB: serial: io_edgeport: fix use after free in debug printk USB: serial: option: add Quectel RG650V USB: serial: option: add Fibocom FG132 0x0112 composition
2 parents 0c08402 + 25eb47e commit 742afcc

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

drivers/usb/serial/io_edgeport.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -770,11 +770,12 @@ static void edge_bulk_out_data_callback(struct urb *urb)
770770
static void edge_bulk_out_cmd_callback(struct urb *urb)
771771
{
772772
struct edgeport_port *edge_port = urb->context;
773+
struct device *dev = &urb->dev->dev;
773774
int status = urb->status;
774775

775776
atomic_dec(&CmdUrbs);
776-
dev_dbg(&urb->dev->dev, "%s - FREE URB %p (outstanding %d)\n",
777-
__func__, urb, atomic_read(&CmdUrbs));
777+
dev_dbg(dev, "%s - FREE URB %p (outstanding %d)\n", __func__, urb,
778+
atomic_read(&CmdUrbs));
778779

779780

780781
/* clean up the transfer buffer */
@@ -784,8 +785,7 @@ static void edge_bulk_out_cmd_callback(struct urb *urb)
784785
usb_free_urb(urb);
785786

786787
if (status) {
787-
dev_dbg(&urb->dev->dev,
788-
"%s - nonzero write bulk status received: %d\n",
788+
dev_dbg(dev, "%s - nonzero write bulk status received: %d\n",
789789
__func__, status);
790790
return;
791791
}

drivers/usb/serial/option.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ static void option_instat_callback(struct urb *urb);
251251
#define QUECTEL_VENDOR_ID 0x2c7c
252252
/* These Quectel products use Quectel's vendor ID */
253253
#define QUECTEL_PRODUCT_EC21 0x0121
254+
#define QUECTEL_PRODUCT_RG650V 0x0122
254255
#define QUECTEL_PRODUCT_EM061K_LTA 0x0123
255256
#define QUECTEL_PRODUCT_EM061K_LMS 0x0124
256257
#define QUECTEL_PRODUCT_EC25 0x0125
@@ -1273,6 +1274,8 @@ static const struct usb_device_id option_ids[] = {
12731274
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG912Y, 0xff, 0, 0) },
12741275
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG916Q, 0xff, 0x00, 0x00) },
12751276
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) },
1277+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RG650V, 0xff, 0xff, 0x30) },
1278+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RG650V, 0xff, 0, 0) },
12761279

12771280
{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },
12781281
{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },
@@ -2320,6 +2323,9 @@ static const struct usb_device_id option_ids[] = {
23202323
{ USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x010b, 0xff, 0xff, 0x30) }, /* Fibocom FG150 Diag */
23212324
{ USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x010b, 0xff, 0, 0) }, /* Fibocom FG150 AT */
23222325
{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0111, 0xff) }, /* Fibocom FM160 (MBIM mode) */
2326+
{ USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x0112, 0xff, 0xff, 0x30) }, /* Fibocom FG132 Diag */
2327+
{ USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x0112, 0xff, 0xff, 0x40) }, /* Fibocom FG132 AT */
2328+
{ USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x0112, 0xff, 0, 0) }, /* Fibocom FG132 NMEA */
23232329
{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0115, 0xff), /* Fibocom FM135 (laptop MBIM) */
23242330
.driver_info = RSVD(5) },
23252331
{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a0, 0xff) }, /* Fibocom NL668-AM/NL652-EU (laptop MBIM) */

drivers/usb/serial/qcserial.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ static const struct usb_device_id id_table[] = {
166166
{DEVICE_SWI(0x1199, 0x9090)}, /* Sierra Wireless EM7565 QDL */
167167
{DEVICE_SWI(0x1199, 0x9091)}, /* Sierra Wireless EM7565 */
168168
{DEVICE_SWI(0x1199, 0x90d2)}, /* Sierra Wireless EM9191 QDL */
169+
{DEVICE_SWI(0x1199, 0x90e4)}, /* Sierra Wireless EM86xx QDL*/
170+
{DEVICE_SWI(0x1199, 0x90e5)}, /* Sierra Wireless EM86xx */
169171
{DEVICE_SWI(0x1199, 0xc080)}, /* Sierra Wireless EM7590 QDL */
170172
{DEVICE_SWI(0x1199, 0xc081)}, /* Sierra Wireless EM7590 */
171173
{DEVICE_SWI(0x413c, 0x81a2)}, /* Dell Wireless 5806 Gobi(TM) 4G LTE Mobile Broadband Card */

0 commit comments

Comments
 (0)