Commit 82e46b31 authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman

TTY: isdn, use xmit_buf from tty_port

Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Cc: Karsten Keil <isdn@linux-pingi.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ba43294d
...@@ -333,7 +333,7 @@ isdn_tty_countDLE(unsigned char *buf, int len) ...@@ -333,7 +333,7 @@ isdn_tty_countDLE(unsigned char *buf, int len)
static int static int
isdn_tty_handleDLEdown(modem_info *info, atemu *m, int len) isdn_tty_handleDLEdown(modem_info *info, atemu *m, int len)
{ {
unsigned char *p = &info->xmit_buf[info->xmit_count]; unsigned char *p = &info->port.xmit_buf[info->xmit_count];
int count = 0; int count = 0;
while (len > 0) { while (len > 0) {
...@@ -477,7 +477,7 @@ isdn_tty_senddown(modem_info *info) ...@@ -477,7 +477,7 @@ isdn_tty_senddown(modem_info *info)
return; return;
} }
skb_reserve(skb, skb_res); skb_reserve(skb, skb_res);
memcpy(skb_put(skb, buflen), info->xmit_buf, buflen); memcpy(skb_put(skb, buflen), info->port.xmit_buf, buflen);
info->xmit_count = 0; info->xmit_count = 0;
#ifdef CONFIG_ISDN_AUDIO #ifdef CONFIG_ISDN_AUDIO
if (info->vonline & 2) { if (info->vonline & 2) {
...@@ -1152,7 +1152,7 @@ isdn_tty_write(struct tty_struct *tty, const u_char *buf, int count) ...@@ -1152,7 +1152,7 @@ isdn_tty_write(struct tty_struct *tty, const u_char *buf, int count)
isdn_tty_check_esc(buf, m->mdmreg[REG_ESC], c, isdn_tty_check_esc(buf, m->mdmreg[REG_ESC], c,
&(m->pluscount), &(m->pluscount),
&(m->lastplus)); &(m->lastplus));
memcpy(&(info->xmit_buf[info->xmit_count]), buf, c); memcpy(&info->port.xmit_buf[info->xmit_count], buf, c);
#ifdef CONFIG_ISDN_AUDIO #ifdef CONFIG_ISDN_AUDIO
if (info->vonline) { if (info->vonline) {
int cc = isdn_tty_handleDLEdown(info, m, c); int cc = isdn_tty_handleDLEdown(info, m, c);
...@@ -1906,13 +1906,15 @@ isdn_tty_modem_init(void) ...@@ -1906,13 +1906,15 @@ isdn_tty_modem_init(void)
#ifdef CONFIG_ISDN_AUDIO #ifdef CONFIG_ISDN_AUDIO
skb_queue_head_init(&info->dtmf_queue); skb_queue_head_init(&info->dtmf_queue);
#endif #endif
if (!(info->xmit_buf = kmalloc(ISDN_SERIAL_XMIT_MAX + 5, GFP_KERNEL))) { info->port.xmit_buf = kmalloc(ISDN_SERIAL_XMIT_MAX + 5,
GFP_KERNEL);
if (!info->port.xmit_buf) {
printk(KERN_ERR "Could not allocate modem xmit-buffer\n"); printk(KERN_ERR "Could not allocate modem xmit-buffer\n");
retval = -ENOMEM; retval = -ENOMEM;
goto err_unregister; goto err_unregister;
} }
/* Make room for T.70 header */ /* Make room for T.70 header */
info->xmit_buf += 4; info->port.xmit_buf += 4;
} }
return 0; return 0;
err_unregister: err_unregister:
...@@ -1921,7 +1923,7 @@ isdn_tty_modem_init(void) ...@@ -1921,7 +1923,7 @@ isdn_tty_modem_init(void)
#ifdef CONFIG_ISDN_TTY_FAX #ifdef CONFIG_ISDN_TTY_FAX
kfree(info->fax); kfree(info->fax);
#endif #endif
kfree(info->xmit_buf - 4); kfree(info->port.xmit_buf - 4);
} }
tty_unregister_driver(m->tty_modem); tty_unregister_driver(m->tty_modem);
err: err:
...@@ -1942,7 +1944,7 @@ isdn_tty_exit(void) ...@@ -1942,7 +1944,7 @@ isdn_tty_exit(void)
#ifdef CONFIG_ISDN_TTY_FAX #ifdef CONFIG_ISDN_TTY_FAX
kfree(info->fax); kfree(info->fax);
#endif #endif
kfree(info->xmit_buf - 4); kfree(info->port.xmit_buf - 4);
} }
tty_unregister_driver(dev->mdm.tty_modem); tty_unregister_driver(dev->mdm.tty_modem);
put_tty_driver(dev->mdm.tty_modem); put_tty_driver(dev->mdm.tty_modem);
......
...@@ -461,7 +461,6 @@ typedef struct modem_info { ...@@ -461,7 +461,6 @@ typedef struct modem_info {
int send_outstanding;/* # of outstanding send-requests */ int send_outstanding;/* # of outstanding send-requests */
int xmit_size; /* max. # of chars in xmit_buf */ int xmit_size; /* max. # of chars in xmit_buf */
int xmit_count; /* # of chars in xmit_buf */ int xmit_count; /* # of chars in xmit_buf */
unsigned char *xmit_buf; /* transmit buffer */
struct sk_buff_head xmit_queue; /* transmit queue */ struct sk_buff_head xmit_queue; /* transmit queue */
atomic_t xmit_lock; /* Semaphore for isdn_tty_write */ atomic_t xmit_lock; /* Semaphore for isdn_tty_write */
#ifdef CONFIG_ISDN_AUDIO #ifdef CONFIG_ISDN_AUDIO
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment