patch-2.4.20 linux-2.4.20/drivers/usb/serial/digi_acceleport.c
Next file: linux-2.4.20/drivers/usb/serial/empeg.c
Previous file: linux-2.4.20/drivers/usb/serial/cyberjack.c
Back to the patch index
Back to the overall index
- Lines: 697
- Date:
Thu Nov 28 15:53:14 2002
- Orig file:
linux-2.4.19/drivers/usb/serial/digi_acceleport.c
- Orig date:
Fri Aug 2 17:39:45 2002
diff -urN linux-2.4.19/drivers/usb/serial/digi_acceleport.c linux-2.4.20/drivers/usb/serial/digi_acceleport.c
@@ -14,6 +14,10 @@
* Peter Berger (pberger@brimson.com)
* Al Borchers (borchers@steinerpoint.com)
*
+* (12/03/2001) gkh
+* switched to using port->open_count instead of private version.
+* Removed port->active
+*
* (04/08/2001) gb
* Identify version on module load.
*
@@ -231,19 +235,16 @@
#include <linux/config.h>
#include <linux/kernel.h>
-#include <linux/sched.h>
-#include <linux/signal.h>
#include <linux/errno.h>
-#include <linux/poll.h>
#include <linux/init.h>
#include <linux/slab.h>
-#include <linux/fcntl.h>
#include <linux/tty.h>
#include <linux/tty_driver.h>
#include <linux/tty_flip.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include <linux/tqueue.h>
+#include <asm/uaccess.h>
#include <linux/usb.h>
#ifdef CONFIG_USB_SERIAL_DEBUG
@@ -411,14 +412,14 @@
/* Structures */
-typedef struct digi_serial {
+struct digi_serial {
spinlock_t ds_serial_lock;
struct usb_serial_port *ds_oob_port; /* out-of-band port */
int ds_oob_port_num; /* index of out-of-band port */
int ds_device_started;
-} digi_serial_t;
+};
-typedef struct digi_port {
+struct digi_port {
spinlock_t dp_port_lock;
int dp_port_num;
int dp_out_buf_len;
@@ -429,7 +430,6 @@
int dp_write_urb_in_use;
unsigned int dp_modem_signals;
wait_queue_head_t dp_modem_change_wait;
- int dp_open_count; /* inc on open, dec on close */
int dp_transmit_idle;
wait_queue_head_t dp_transmit_idle_wait;
int dp_throttled;
@@ -438,7 +438,7 @@
int dp_in_close; /* close in progress */
wait_queue_head_t dp_close_wait; /* wait queue for close */
struct tq_struct dp_wakeup_task;
-} digi_port_t;
+};
/* Local Function Declarations */
@@ -483,12 +483,12 @@
{ } /* Terminating entry */
};
-static __devinitdata struct usb_device_id id_table_2 [] = {
+static struct usb_device_id id_table_2 [] = {
{ USB_DEVICE(DIGI_VENDOR_ID, DIGI_2_ID) },
{ } /* Terminating entry */
};
-static __devinitdata struct usb_device_id id_table_4 [] = {
+static struct usb_device_id id_table_4 [] = {
{ USB_DEVICE(DIGI_VENDOR_ID, DIGI_4_ID) },
{ } /* Terminating entry */
};
@@ -498,55 +498,51 @@
/* device info needed for the Digi serial converter */
static struct usb_serial_device_type digi_acceleport_2_device = {
- name: "Digi USB",
- id_table: id_table_2,
- needs_interrupt_in: DONT_CARE,
- needs_bulk_in: MUST_HAVE,
- needs_bulk_out: MUST_HAVE,
- num_interrupt_in: 0,
- num_bulk_in: 4,
- num_bulk_out: 4,
- num_ports: 3,
- open: digi_open,
- close: digi_close,
- write: digi_write,
- write_room: digi_write_room,
- write_bulk_callback: digi_write_bulk_callback,
- read_bulk_callback: digi_read_bulk_callback,
- chars_in_buffer: digi_chars_in_buffer,
- throttle: digi_rx_throttle,
- unthrottle: digi_rx_unthrottle,
- ioctl: digi_ioctl,
- set_termios: digi_set_termios,
- break_ctl: digi_break_ctl,
- startup: digi_startup,
- shutdown: digi_shutdown,
+ .owner = THIS_MODULE,
+ .name = "Digi USB",
+ .id_table = id_table_2,
+ .num_interrupt_in = 0,
+ .num_bulk_in = 4,
+ .num_bulk_out = 4,
+ .num_ports = 3,
+ .open = digi_open,
+ .close = digi_close,
+ .write = digi_write,
+ .write_room = digi_write_room,
+ .write_bulk_callback = digi_write_bulk_callback,
+ .read_bulk_callback = digi_read_bulk_callback,
+ .chars_in_buffer = digi_chars_in_buffer,
+ .throttle = digi_rx_throttle,
+ .unthrottle = digi_rx_unthrottle,
+ .ioctl = digi_ioctl,
+ .set_termios = digi_set_termios,
+ .break_ctl = digi_break_ctl,
+ .startup = digi_startup,
+ .shutdown = digi_shutdown,
};
static struct usb_serial_device_type digi_acceleport_4_device = {
- name: "Digi USB",
- id_table: id_table_4,
- needs_interrupt_in: DONT_CARE,
- needs_bulk_in: MUST_HAVE,
- needs_bulk_out: MUST_HAVE,
- num_interrupt_in: 0,
- num_bulk_in: 5,
- num_bulk_out: 5,
- num_ports: 4,
- open: digi_open,
- close: digi_close,
- write: digi_write,
- write_room: digi_write_room,
- write_bulk_callback: digi_write_bulk_callback,
- read_bulk_callback: digi_read_bulk_callback,
- chars_in_buffer: digi_chars_in_buffer,
- throttle: digi_rx_throttle,
- unthrottle: digi_rx_unthrottle,
- ioctl: digi_ioctl,
- set_termios: digi_set_termios,
- break_ctl: digi_break_ctl,
- startup: digi_startup,
- shutdown: digi_shutdown,
+ .owner = THIS_MODULE,
+ .name = "Digi USB",
+ .id_table = id_table_4,
+ .num_interrupt_in = 0,
+ .num_bulk_in = 5,
+ .num_bulk_out = 5,
+ .num_ports = 4,
+ .open = digi_open,
+ .close = digi_close,
+ .write = digi_write,
+ .write_room = digi_write_room,
+ .write_bulk_callback = digi_write_bulk_callback,
+ .read_bulk_callback = digi_read_bulk_callback,
+ .chars_in_buffer = digi_chars_in_buffer,
+ .throttle = digi_rx_throttle,
+ .unthrottle = digi_rx_unthrottle,
+ .ioctl = digi_ioctl,
+ .set_termios = digi_set_termios,
+ .break_ctl = digi_break_ctl,
+ .startup = digi_startup,
+ .shutdown = digi_shutdown,
};
@@ -600,13 +596,12 @@
{
unsigned long flags;
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
spin_lock_irqsave( &priv->dp_port_lock, flags );
digi_wakeup_write( port );
spin_unlock_irqrestore( &priv->dp_port_lock, flags );
- MOD_DEC_USE_COUNT;
}
static void digi_wakeup_write( struct usb_serial_port *port )
@@ -647,8 +642,8 @@
int ret = 0;
int len;
- struct usb_serial_port *oob_port = (struct usb_serial_port *)((digi_serial_t *)port->serial->private)->ds_oob_port;
- digi_port_t *oob_priv = (digi_port_t *)oob_port->private;
+ struct usb_serial_port *oob_port = (struct usb_serial_port *)((struct digi_serial *)port->serial->private)->ds_oob_port;
+ struct digi_port *oob_priv = (struct digi_port *)oob_port->private;
unsigned long flags = 0;
@@ -689,7 +684,7 @@
spin_unlock_irqrestore( &oob_priv->dp_port_lock, flags );
if( ret ) {
- err( __FUNCTION__ ": usb_submit_urb failed, ret=%d",
+ err("%s: usb_submit_urb failed, ret=%d", __FUNCTION__,
ret );
}
@@ -716,7 +711,7 @@
int ret = 0;
int len;
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
unsigned char *data = port->write_urb->transfer_buffer;
unsigned long flags = 0;
@@ -778,7 +773,7 @@
spin_unlock_irqrestore( &priv->dp_port_lock, flags );
if( ret ) {
- err( __FUNCTION__ ": usb_submit_urb failed, ret=%d, port=%d",
+ err("%s: usb_submit_urb failed, ret=%d, port=%d", __FUNCTION__,
ret, priv->dp_port_num );
}
@@ -802,9 +797,9 @@
{
int ret;
- digi_port_t *port_priv = (digi_port_t *)port->private;
- struct usb_serial_port *oob_port = (struct usb_serial_port *)((digi_serial_t *)port->serial->private)->ds_oob_port;
- digi_port_t *oob_priv = (digi_port_t *)oob_port->private;
+ struct digi_port *port_priv = (struct digi_port *)port->private;
+ struct usb_serial_port *oob_port = (struct usb_serial_port *)((struct digi_serial *)port->serial->private)->ds_oob_port;
+ struct digi_port *oob_priv = (struct digi_port *)oob_port->private;
unsigned char *data = oob_port->write_urb->transfer_buffer;
unsigned long flags = 0;
@@ -854,7 +849,7 @@
spin_unlock_irqrestore( &oob_priv->dp_port_lock, flags );
if( ret ) {
- err( __FUNCTION__ ": usb_submit_urb failed, ret=%d",
+ err("%s: usb_submit_urb failed, ret=%d", __FUNCTION__,
ret );
}
@@ -881,7 +876,7 @@
int ret;
unsigned char buf[2];
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
unsigned long flags = 0;
@@ -921,7 +916,7 @@
{
unsigned long flags;
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
dbg( "digi_rx_throttle: TOP: port=%d", priv->dp_port_num );
@@ -942,7 +937,7 @@
int ret = 0;
int len;
unsigned long flags;
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
struct tty_struct *tty = port->tty;
@@ -975,7 +970,7 @@
spin_unlock_irqrestore( &priv->dp_port_lock, flags );
if( ret ) {
- err( __FUNCTION__ ": usb_submit_urb failed, ret=%d, port=%d",
+ err("%s: usb_submit_urb failed, ret=%d, port=%d", __FUNCTION__,
ret, priv->dp_port_num );
}
@@ -986,7 +981,7 @@
struct termios *old_termios )
{
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
unsigned int iflag = port->tty->termios->c_iflag;
unsigned int cflag = port->tty->termios->c_cflag;
unsigned int old_iflag = old_termios->c_iflag;
@@ -1210,7 +1205,7 @@
unsigned int cmd, unsigned long arg )
{
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
unsigned int val;
unsigned long flags = 0;
@@ -1262,7 +1257,7 @@
{
int ret,data_len,new_len;
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
unsigned char *data = port->write_urb->transfer_buffer;
unsigned char user_buf[64]; /* 64 bytes is max USB bulk packet */
unsigned long flags = 0;
@@ -1334,7 +1329,7 @@
/* return length of new data written, or error */
spin_unlock_irqrestore( &priv->dp_port_lock, flags );
if( ret < 0 ) {
- err( __FUNCTION__ ": usb_submit_urb failed, ret=%d, port=%d",
+ err("%s: usb_submit_urb failed, ret=%d, port=%d", __FUNCTION__,
ret, priv->dp_port_num );
}
@@ -1349,27 +1344,27 @@
struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
struct usb_serial *serial;
- digi_port_t *priv;
+ struct digi_port *priv;
int ret = 0;
dbg( "digi_write_bulk_callback: TOP, urb->status=%d", urb->status );
/* port and serial sanity check */
- if( port == NULL || (priv=(digi_port_t *)(port->private)) == NULL ) {
- err( __FUNCTION__ ": port or port->private is NULL, status=%d",
+ if( port == NULL || (priv=(struct digi_port *)(port->private)) == NULL ) {
+ err("%s: port or port->private is NULL, status=%d", __FUNCTION__,
urb->status );
return;
}
serial = port->serial;
if( serial == NULL || serial->private == NULL ) {
- err( __FUNCTION__ ": serial or serial->private is NULL, status=%d", urb->status );
+ err("%s: serial or serial->private is NULL, status=%d", __FUNCTION__, urb->status );
return;
}
/* handle oob callback */
if( priv->dp_port_num
- == ((digi_serial_t *)(serial->private))->ds_oob_port_num ) {
+ == ((struct digi_serial *)(serial->private))->ds_oob_port_num ) {
dbg( "digi_write_bulk_callback: oob callback" );
spin_lock( &priv->dp_port_lock );
priv->dp_write_urb_in_use = 0;
@@ -1386,7 +1381,7 @@
/* try to send any buffered data on this port, if it is open */
spin_lock( &priv->dp_port_lock );
priv->dp_write_urb_in_use = 0;
- if( priv->dp_open_count && port->write_urb->status != -EINPROGRESS
+ if( port->open_count && port->write_urb->status != -EINPROGRESS
&& priv->dp_out_buf_len > 0 ) {
*((unsigned char *)(port->write_urb->transfer_buffer))
@@ -1413,14 +1408,12 @@
/* also queue up a wakeup at scheduler time, in case we */
/* lost the race in write_chan(). */
- MOD_INC_USE_COUNT;
- if (schedule_task(&priv->dp_wakeup_task) == 0)
- MOD_DEC_USE_COUNT;
+ schedule_task(&priv->dp_wakeup_task);
spin_unlock( &priv->dp_port_lock );
if( ret ) {
- err( __FUNCTION__ ": usb_submit_urb failed, ret=%d, port=%d",
+ err("%s: usb_submit_urb failed, ret=%d, port=%d", __FUNCTION__,
ret, priv->dp_port_num );
}
@@ -1431,7 +1424,7 @@
{
int room;
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
unsigned long flags = 0;
@@ -1454,7 +1447,7 @@
static int digi_chars_in_buffer( struct usb_serial_port *port )
{
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
if( port->write_urb->status == -EINPROGRESS
@@ -1475,12 +1468,12 @@
int ret;
unsigned char buf[32];
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
struct termios not_termios;
unsigned long flags = 0;
-dbg( "digi_open: TOP: port=%d, active=%d, open_count=%d", priv->dp_port_num, port->active, priv->dp_open_count );
+dbg( "digi_open: TOP: port=%d, open_count=%d", priv->dp_port_num, port->open_count );
/* be sure the device is started up */
if( digi_startup_device( port->serial ) != 0 )
@@ -1494,32 +1487,17 @@
return( -EAGAIN );
}
- /* inc module use count before sleeping to wait for closes */
- ++priv->dp_open_count;
- MOD_INC_USE_COUNT;
-
/* wait for a close in progress to finish */
while( priv->dp_in_close ) {
cond_wait_interruptible_timeout_irqrestore(
&priv->dp_close_wait, DIGI_RETRY_TIMEOUT,
&priv->dp_port_lock, flags );
if( signal_pending(current) ) {
- --priv->dp_open_count;
- MOD_DEC_USE_COUNT;
return( -EINTR );
}
spin_lock_irqsave( &priv->dp_port_lock, flags );
}
- /* if port is already open, just return */
- /* be sure exactly one open proceeds */
- if( port->active ) {
- spin_unlock_irqrestore( &priv->dp_port_lock, flags );
- return( 0 );
- }
-
- /* first open, mark port as active */
- port->active = 1;
spin_unlock_irqrestore( &priv->dp_port_lock, flags );
/* read modem signals automatically whenever they change */
@@ -1556,24 +1534,15 @@
int ret;
unsigned char buf[32];
struct tty_struct *tty = port->tty;
- digi_port_t *priv = (digi_port_t *)port->private;
+ struct digi_port *priv = (struct digi_port *)port->private;
unsigned long flags = 0;
-dbg( "digi_close: TOP: port=%d, active=%d, open_count=%d", priv->dp_port_num, port->active, priv->dp_open_count );
+dbg( "digi_close: TOP: port=%d, open_count=%d", priv->dp_port_num, port->open_count );
/* do cleanup only after final close on this port */
spin_lock_irqsave( &priv->dp_port_lock, flags );
- if( priv->dp_open_count > 1 ) {
- --priv->dp_open_count;
- MOD_DEC_USE_COUNT;
- spin_unlock_irqrestore( &priv->dp_port_lock, flags );
- return;
- } else if( priv->dp_open_count <= 0 ) {
- spin_unlock_irqrestore( &priv->dp_port_lock, flags );
- return;
- }
priv->dp_in_close = 1;
spin_unlock_irqrestore( &priv->dp_port_lock, flags );
@@ -1644,11 +1613,8 @@
tty->closing = 0;
spin_lock_irqsave( &priv->dp_port_lock, flags );
- port->active = 0;
priv->dp_write_urb_in_use = 0;
priv->dp_in_close = 0;
- --priv->dp_open_count;
- MOD_DEC_USE_COUNT;
wake_up_interruptible( &priv->dp_close_wait );
spin_unlock_irqrestore( &priv->dp_port_lock, flags );
@@ -1667,7 +1633,7 @@
{
int i,ret = 0;
- digi_serial_t *serial_priv = (digi_serial_t *)serial->private;
+ struct digi_serial *serial_priv = (struct digi_serial *)serial->private;
struct usb_serial_port *port;
@@ -1689,8 +1655,7 @@
port->write_urb->dev = port->serial->dev;
if( (ret=usb_submit_urb(port->read_urb)) != 0 ) {
- err(
- __FUNCTION__ ": usb_submit_urb failed, ret=%d, port=%d",
+ err("%s: usb_submit_urb failed, ret=%d, port=%d", __FUNCTION__,
ret, i );
break;
}
@@ -1706,8 +1671,8 @@
{
int i;
- digi_port_t *priv;
- digi_serial_t *serial_priv;
+ struct digi_port *priv;
+ struct digi_serial *serial_priv;
dbg( "digi_startup: TOP" );
@@ -1716,13 +1681,11 @@
/* number of regular ports + 1 for the out-of-band port */
for( i=0; i<serial->type->num_ports+1; i++ ) {
- serial->port[i].active = 0;
-
/* allocate port private structure */
priv = serial->port[i].private =
- (digi_port_t *)kmalloc( sizeof(digi_port_t),
+ (struct digi_port *)kmalloc( sizeof(struct digi_port),
GFP_KERNEL );
- if( priv == (digi_port_t *)0 ) {
+ if( priv == (struct digi_port *)0 ) {
while( --i >= 0 )
kfree( serial->port[i].private );
return( 1 ); /* error */
@@ -1736,7 +1699,6 @@
priv->dp_write_urb_in_use = 0;
priv->dp_modem_signals = 0;
init_waitqueue_head( &priv->dp_modem_change_wait );
- priv->dp_open_count = 0;
priv->dp_transmit_idle = 0;
init_waitqueue_head( &priv->dp_transmit_idle_wait );
priv->dp_throttled = 0;
@@ -1756,9 +1718,9 @@
/* allocate serial private structure */
serial_priv = serial->private =
- (digi_serial_t *)kmalloc( sizeof(digi_serial_t),
+ (struct digi_serial *)kmalloc( sizeof(struct digi_serial),
GFP_KERNEL );
- if( serial_priv == (digi_serial_t *)0 ) {
+ if( serial_priv == (struct digi_serial *)0 ) {
for( i=0; i<serial->type->num_ports+1; i++ )
kfree( serial->port[i].private );
return( 1 ); /* error */
@@ -1779,8 +1741,6 @@
{
int i;
- digi_port_t *priv;
- unsigned long flags;
dbg( "digi_shutdown: TOP, in_interrupt()=%d", in_interrupt() );
@@ -1791,17 +1751,6 @@
usb_unlink_urb( serial->port[i].write_urb );
}
- /* dec module use count */
- for( i=0; i<serial->type->num_ports; i++ ) {
- priv = serial->port[i].private;
- spin_lock_irqsave( &priv->dp_port_lock, flags );
- while( priv->dp_open_count > 0 ) {
- MOD_DEC_USE_COUNT;
- --priv->dp_open_count;
- }
- spin_unlock_irqrestore( &priv->dp_port_lock, flags );
- }
-
/* free the private data structures for all ports */
/* number of regular ports + 1 for the out-of-band port */
for( i=0; i<serial->type->num_ports+1; i++ )
@@ -1815,34 +1764,34 @@
{
struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
- digi_port_t *priv;
+ struct digi_port *priv;
int ret;
dbg( "digi_read_bulk_callback: TOP" );
/* port sanity check, do not resubmit if port is not valid */
- if( port == NULL || (priv=(digi_port_t *)(port->private)) == NULL ) {
- err( __FUNCTION__ ": port or port->private is NULL, status=%d",
+ if( port == NULL || (priv=(struct digi_port *)(port->private)) == NULL ) {
+ err("%s: port or port->private is NULL, status=%d", __FUNCTION__,
urb->status );
return;
}
if( port->serial == NULL
|| serial_paranoia_check( port->serial, __FUNCTION__ )
|| port->serial->private == NULL ) {
- err( __FUNCTION__ ": serial is bad or serial->private is NULL, status=%d", urb->status );
+ err("%s: serial is bad or serial->private is NULL, status=%d", __FUNCTION__, urb->status );
return;
}
/* do not resubmit urb if it has any status error */
if( urb->status ) {
- err( __FUNCTION__ ": nonzero read bulk status: status=%d, port=%d", urb->status, priv->dp_port_num );
+ err("%s: nonzero read bulk status: status=%d, port=%d", __FUNCTION__, urb->status, priv->dp_port_num );
return;
}
/* handle oob or inb callback, do not resubmit if error */
if( priv->dp_port_num
- == ((digi_serial_t *)(port->serial->private))->ds_oob_port_num ) {
+ == ((struct digi_serial *)(port->serial->private))->ds_oob_port_num ) {
if( digi_read_oob_callback( urb ) != 0 )
return;
} else {
@@ -1853,7 +1802,7 @@
/* continue read */
urb->dev = port->serial->dev;
if( (ret=usb_submit_urb(urb)) != 0 ) {
- err( __FUNCTION__ ": failed resubmitting urb, ret=%d, port=%d",
+ err("%s: failed resubmitting urb, ret=%d, port=%d", __FUNCTION__,
ret, priv->dp_port_num );
}
@@ -1875,7 +1824,7 @@
struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
struct tty_struct *tty = port->tty;
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
int opcode = ((unsigned char *)urb->transfer_buffer)[0];
int len = ((unsigned char *)urb->transfer_buffer)[1];
int status = ((unsigned char *)urb->transfer_buffer)[2];
@@ -1889,12 +1838,12 @@
/* do not process callbacks on closed ports */
/* but do continue the read chain */
- if( priv->dp_open_count == 0 )
+ if( port->open_count == 0 )
return( 0 );
/* short/multiple packet check */
if( urb->actual_length != len + 2 ) {
- err( __FUNCTION__ ": INCOMPLETE OR MULTIPLE PACKET, urb->status=%d, port=%d, opcode=%d, len=%d, actual_length=%d, status=%d", urb->status, priv->dp_port_num, opcode, len, urb->actual_length, status );
+ err("%s: INCOMPLETE OR MULTIPLE PACKET, urb->status=%d, port=%d, opcode=%d, len=%d, actual_length=%d, status=%d", __FUNCTION__, urb->status, priv->dp_port_num, opcode, len, urb->actual_length, status );
return( -1 );
}
@@ -1963,9 +1912,9 @@
spin_unlock( &priv->dp_port_lock );
if( opcode == DIGI_CMD_RECEIVE_DISABLE ) {
- dbg( __FUNCTION__ ": got RECEIVE_DISABLE" );
+ dbg("%s: got RECEIVE_DISABLE", __FUNCTION__ );
} else if( opcode != DIGI_CMD_RECEIVE_DATA ) {
- dbg( __FUNCTION__ ": unknown opcode: %d", opcode );
+ dbg("%s: unknown opcode: %d", __FUNCTION__, opcode );
}
return( throttled ? 1 : 0 );
@@ -1987,7 +1936,7 @@
struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
struct usb_serial *serial = port->serial;
- digi_port_t *priv = (digi_port_t *)(port->private);
+ struct digi_port *priv = (struct digi_port *)(port->private);
int opcode, line, status, val;
int i;
@@ -2023,7 +1972,7 @@
if( val & DIGI_READ_INPUT_SIGNALS_CTS ) {
priv->dp_modem_signals |= TIOCM_CTS;
/* port must be open to use tty struct */
- if( priv->dp_open_count
+ if( port->open_count
&& port->tty->termios->c_cflag & CRTSCTS ) {
port->tty->hw_stopped = 0;
digi_wakeup_write( port );
@@ -2031,7 +1980,7 @@
} else {
priv->dp_modem_signals &= ~TIOCM_CTS;
/* port must be open to use tty struct */
- if( priv->dp_open_count
+ if( port->open_count
&& port->tty->termios->c_cflag & CRTSCTS ) {
port->tty->hw_stopped = 1;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)