Skip to contentSkip to conversation

Patch "usb: cdc-acm: send zero packet for intel 7260 modem" has been added to the 4.3-stable tree

PATCH [email protected] 1 participant 1 message Feb 14, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

usb: cdc-acm: send zero packet for intel 7260 modem

to the 4.3-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:

     usb-cdc-acm-send-zero-packet-for-intel-7260-modem.patch

and it can be found in the queue-4.3 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From ffdb1e369a73b380fce95b05f8498d92c43842b4 Mon Sep 17 00:00:00 2001

From: Lu Baolu <[email protected]>
Date: Wed, 6 Jan 2016 15:10:04 +0800
Subject: usb: cdc-acm: send zero packet for intel 7260 modem

From: Lu Baolu <[email protected]>

commit ffdb1e369a73b380fce95b05f8498d92c43842b4 upstream.

For Intel 7260 modem, it is needed for host side to send zero packet if the BULK OUT size is equal to USB endpoint max packet length. Otherwise, modem side may still wait for more data and cannot give response to host side.

---
 drivers/usb/class/cdc-acm.c |    6 ++++++
 drivers/usb/class/cdc-acm.h |    1 +
 2 files changed, 7 insertions(+)
drivers/usb/class/cdc-acm.c +6 -0
@@ -1405,6 +1405,8 @@ made_compressed_probe:
 				usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress),
 				NULL, acm->writesize, acm_write_bulk, snd);
 		snd->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+		if (quirks & SEND_ZERO_PACKET)
+			snd->urb->transfer_flags |= URB_ZERO_PACKET;
 		snd->instance = acm;
 	}
 
@@ -1862,6 +1864,10 @@ static const struct usb_device_id acm_id
 	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
 		USB_CDC_ACM_PROTO_AT_CDMA) },
 
+	{ USB_DEVICE(0x1519, 0x0452), /* Intel 7260 modem */
+	.driver_info = SEND_ZERO_PACKET,
+	},
+
 	{ }
 };
 
drivers/usb/class/cdc-acm.h +1 -0
@@ -134,3 +134,4 @@ struct acm {
 #define IGNORE_DEVICE			BIT(5)
 #define QUIRK_CONTROL_LINE_STATE	BIT(6)
 #define CLEAR_HALT_CONDITIONS		BIT(7)
+#define SEND_ZERO_PACKET		BIT(8)

Patches currently in stable-queue which might be from [email protected] are

queue-4.3/usb-xhci-handle-both-ssic-ports-in-pme-stuck-quirk.patch queue-4.3/usb-cdc-acm-send-zero-packet-for-intel-7260-modem.patch queue-4.3/usb-xhci-apply-xhci_pme_stuck_quirk-to-intel-broxton-m-platforms.patch queue-4.3/usb-cdc-acm-handle-unlinked-urb-in-acm-read-callback.patch