aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/io_edgeport.c
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2010-02-18 11:44:01 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-02 17:55:12 -0500
commita108bfcb372d8c4452701039308fb95747911c59 (patch)
tree3528621937692e28081f71131cddc3130e2641ad /drivers/usb/serial/io_edgeport.c
parent2832fc11f1360668482beec06dbcd631ae5f0cf1 (diff)
USB: tty: Prune uses of tty_request_room in the USB layer
We have lots of callers that do not need to do this in the first place. Remove the calls as they both cost CPU and for big buffers can mess up the multi-page allocation avoidance. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/io_edgeport.c')
-rw-r--r--drivers/usb/serial/io_edgeport.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c
index 66fb58f427c..3ef8df0ef88 100644
--- a/drivers/usb/serial/io_edgeport.c
+++ b/drivers/usb/serial/io_edgeport.c
@@ -2055,18 +2055,13 @@ static void edge_tty_recv(struct device *dev, struct tty_struct *tty,
2055{ 2055{
2056 int cnt; 2056 int cnt;
2057 2057
2058 do { 2058 cnt = tty_insert_flip_string(tty, data, length);
2059 cnt = tty_buffer_request_room(tty, length); 2059 if (cnt < length) {
2060 if (cnt < length) { 2060 dev_err(dev, "%s - dropping data, %d bytes lost\n",
2061 dev_err(dev, "%s - dropping data, %d bytes lost\n", 2061 __func__, length - cnt);
2062 __func__, length - cnt); 2062 }
2063 if (cnt == 0) 2063 data += cnt;
2064 break; 2064 length -= cnt;
2065 }
2066 tty_insert_flip_string(tty, data, cnt);
2067 data += cnt;
2068 length -= cnt;
2069 } while (length > 0);
2070 2065
2071 tty_flip_buffer_push(tty); 2066 tty_flip_buffer_push(tty);
2072} 2067}