summaryrefslogtreecommitdiff
path: root/drivers/usb/class/cdc-acm.h
diff options
context:
space:
mode:
authorTobias Herzog <t-herzog@gmx.de>2017-03-30 23:15:11 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-04-01 12:05:03 +0300
commitea2583529cd17ab313dfe3cabf2215f38c6399a7 (patch)
tree1878bcfb54bd49c7a2133e19f373c6babef1e784 /drivers/usb/class/cdc-acm.h
parent1bb9914e1730417d530de9ed37e59efdc647146b (diff)
downloadlinux-ea2583529cd17ab313dfe3cabf2215f38c6399a7.tar.xz
cdc-acm: reassemble fragmented notifications
USB devices may have very limited endpoint packet sizes, so that notifications can not be transferred within one single usb packet. Reassembling of multiple packages may be necessary. Signed-off-by: Tobias Herzog <t-herzog@gmx.de> Acked-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/class/cdc-acm.h')
-rw-r--r--drivers/usb/class/cdc-acm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.h b/drivers/usb/class/cdc-acm.h
index c980f11cdf56..b51913836409 100644
--- a/drivers/usb/class/cdc-acm.h
+++ b/drivers/usb/class/cdc-acm.h
@@ -98,6 +98,9 @@ struct acm {
struct acm_wb *putbuffer; /* for acm_tty_put_char() */
int rx_buflimit;
spinlock_t read_lock;
+ u8 *notification_buffer; /* to reassemble fragmented notifications */
+ unsigned int nb_index;
+ unsigned int nb_size;
int write_used; /* number of non-empty write buffers */
int transmitting;
spinlock_t write_lock;