|
@@ -952,19 +952,6 @@ static const struct control_pins e100_modem_pins[NR_PORTS] =
|
|
|
/* Input */
|
|
|
#define E100_DSR_GET(info) ((*e100_modem_pins[(info)->line].dsr_port) & e100_modem_pins[(info)->line].dsr_mask)
|
|
|
|
|
|
-
|
|
|
-/*
|
|
|
- * tmp_buf is used as a temporary buffer by serial_write. We need to
|
|
|
- * lock it in case the memcpy_fromfs blocks while swapping in a page,
|
|
|
- * and some other program tries to do a serial write at the same time.
|
|
|
- * Since the lock will only come under contention when the system is
|
|
|
- * swapping and available memory is low, it makes sense to share one
|
|
|
- * buffer across all the serial ports, since it significantly saves
|
|
|
- * memory if large numbers of serial ports are open.
|
|
|
- */
|
|
|
-static unsigned char *tmp_buf;
|
|
|
-static DEFINE_MUTEX(tmp_buf_mutex);
|
|
|
-
|
|
|
/* Calculate the chartime depending on baudrate, numbor of bits etc. */
|
|
|
static void update_char_time(struct e100_serial * info)
|
|
|
{
|
|
@@ -3150,7 +3137,7 @@ static int rs_raw_write(struct tty_struct *tty,
|
|
|
|
|
|
/* first some sanity checks */
|
|
|
|
|
|
- if (!tty || !info->xmit.buf || !tmp_buf)
|
|
|
+ if (!tty || !info->xmit.buf)
|
|
|
return 0;
|
|
|
|
|
|
#ifdef SERIAL_DEBUG_DATA
|
|
@@ -4106,7 +4093,6 @@ rs_open(struct tty_struct *tty, struct file * filp)
|
|
|
{
|
|
|
struct e100_serial *info;
|
|
|
int retval;
|
|
|
- unsigned long page;
|
|
|
int allocated_resources = 0;
|
|
|
|
|
|
info = rs_table + tty->index;
|
|
@@ -4124,17 +4110,6 @@ rs_open(struct tty_struct *tty, struct file * filp)
|
|
|
|
|
|
tty->low_latency = !!(info->flags & ASYNC_LOW_LATENCY);
|
|
|
|
|
|
- if (!tmp_buf) {
|
|
|
- page = get_zeroed_page(GFP_KERNEL);
|
|
|
- if (!page) {
|
|
|
- return -ENOMEM;
|
|
|
- }
|
|
|
- if (tmp_buf)
|
|
|
- free_page(page);
|
|
|
- else
|
|
|
- tmp_buf = (unsigned char *) page;
|
|
|
- }
|
|
|
-
|
|
|
/*
|
|
|
* If the port is in the middle of closing, bail out now
|
|
|
*/
|