diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2008-08-06 21:44:12 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-08-13 20:32:57 -0400 |
commit | 934da4635c2d05cef474e5243ef05df95b2ad264 (patch) | |
tree | 0ce5d1645e8e6c79253e0b1133d65800122547e1 /drivers/usb/class/cdc-acm.h | |
parent | 672c4e1843c54227ff1bdf1fdd96f9c45c56aa85 (diff) |
usb: cdc-acm: stop dropping tx buffers
The "increase cdc-acm write throughput" patch left in place two
now-obsolete mechanisms, either of which can make the cdc-acm
driver drop TX data (nasty!). This patch removes them:
- The write_ready flag ... if an URB and buffer were found,
they can (and should!) always be used.
- TX path acm_wb_is_used() ... used when the buffer was just
allocated, so that check is pointless.
Also fix a won't-yet-matter leak of a write buffer on a disconnect path.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Engraf <david.engraf@netcom.eu>
Acked-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/class/cdc-acm.h')
-rw-r--r-- | drivers/usb/class/cdc-acm.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/usb/class/cdc-acm.h b/drivers/usb/class/cdc-acm.h index 85c3aaaab7c5..94266362ca68 100644 --- a/drivers/usb/class/cdc-acm.h +++ b/drivers/usb/class/cdc-acm.h | |||
@@ -106,8 +106,6 @@ struct acm { | |||
106 | struct list_head spare_read_bufs; | 106 | struct list_head spare_read_bufs; |
107 | struct list_head filled_read_bufs; | 107 | struct list_head filled_read_bufs; |
108 | int write_used; /* number of non-empty write buffers */ | 108 | int write_used; /* number of non-empty write buffers */ |
109 | int write_ready; /* write urb is not running */ | ||
110 | int old_ready; | ||
111 | int processing; | 109 | int processing; |
112 | int transmitting; | 110 | int transmitting; |
113 | spinlock_t write_lock; | 111 | spinlock_t write_lock; |