# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.431 -> 1.432 # drivers/usb/serial/kl5kusb105.c 1.3 -> 1.4 # drivers/usb/serial/belkin_sa.c 1.17 -> 1.18 # drivers/usb/serial/keyspan.c 1.21 -> 1.22 # drivers/usb/serial/ftdi_sio.c 1.24 -> 1.25 # drivers/usb/serial/omninet.c 1.15 -> 1.16 # drivers/usb/serial/whiteheat.c 1.14 -> 1.15 # drivers/usb/serial/empeg.c 1.20 -> 1.21 # drivers/usb/serial/pl2303.c 1.10 -> 1.11 # drivers/usb/serial/ir-usb.c 1.9 -> 1.10 # drivers/usb/serial/keyspan_pda.c 1.12 -> 1.13 # drivers/usb/serial/mct_u232.c 1.19 -> 1.20 # drivers/usb/serial/cyberjack.c 1.10 -> 1.11 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/02/27 greg@kroah.com 1.432 # usb serial drivers: # - removed all usage of port->sem as the usb serial core now does this. # -------------------------------------------- # diff -Nru a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c --- a/drivers/usb/serial/belkin_sa.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/belkin_sa.c Wed Feb 27 15:44:59 2002 @@ -207,8 +207,6 @@ dbg(__FUNCTION__" port %d", port->number); - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -230,8 +228,6 @@ } exit: - up (&port->sem); - return retval; } /* belkin_sa_open */ @@ -249,8 +245,6 @@ dbg(__FUNCTION__" port %d", port->number); - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { @@ -262,8 +256,6 @@ } port->open_count = 0; } - - up (&port->sem); } /* belkin_sa_close */ diff -Nru a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c --- a/drivers/usb/serial/cyberjack.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/cyberjack.c Wed Feb 27 15:44:59 2002 @@ -151,8 +151,6 @@ dbg(__FUNCTION__ " - port %d", port->number); - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -179,8 +177,6 @@ dbg(__FUNCTION__ " - usb_submit_urb(int urb)"); } - up (&port->sem); - return result; } @@ -188,8 +184,6 @@ { dbg(__FUNCTION__ " - port %d", port->number); - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { @@ -201,8 +195,6 @@ } port->open_count = 0; } - - up (&port->sem); } static int cyberjack_write (struct usb_serial_port *port, int from_user, const unsigned char *buf, int count) @@ -225,8 +217,6 @@ return (0); } - down (&port->sem); - if( (count+priv->wrfilled)>sizeof(priv->wrbuf) ) { /* To much data for buffer. Reset buffer. */ priv->wrfilled=0; @@ -235,8 +225,9 @@ /* Copy data */ if (from_user) { - if (copy_from_user(priv->wrbuf+priv->wrfilled, buf, count)) + if (copy_from_user(priv->wrbuf+priv->wrfilled, buf, count)) { return -EFAULT; + } } else { memcpy (priv->wrbuf+priv->wrfilled, buf, count); } @@ -277,7 +268,6 @@ /* Throw away data. No better idea what to do with it. */ priv->wrfilled=0; priv->wrsent=0; - up (&port->sem); return 0; } @@ -292,7 +282,6 @@ } } - up (&port->sem); return (count); } @@ -432,8 +421,6 @@ return; } - down (&port->sem); - dbg(__FUNCTION__ " - transmitting data (frame n)"); length = ((priv->wrfilled - priv->wrsent) > port->bulk_out_size) ? @@ -459,7 +446,6 @@ /* Throw away data. No better idea what to do with it. */ priv->wrfilled=0; priv->wrsent=0; - up (&port->sem); queue_task(&port->tqueue, &tq_immediate); mark_bh(IMMEDIATE_BH); return; @@ -477,7 +463,6 @@ priv->wrsent=0; } - up (&port->sem); queue_task(&port->tqueue, &tq_immediate); mark_bh(IMMEDIATE_BH); return; diff -Nru a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c --- a/drivers/usb/serial/empeg.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/empeg.c Wed Feb 27 15:44:59 2002 @@ -157,8 +157,6 @@ dbg(__FUNCTION__ " - port %d", port->number); - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -189,8 +187,6 @@ } - up (&port->sem); - return result; } @@ -208,8 +204,6 @@ if (!serial) return; - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { @@ -220,8 +214,6 @@ port->open_count = 0; } - up (&port->sem); - /* Uncomment the following line if you want to see some statistics in your syslog */ /* info ("Bytes In = %d Bytes Out = %d", bytes_in, bytes_out); */ } @@ -462,15 +454,7 @@ static void empeg_throttle (struct usb_serial_port *port) { dbg(__FUNCTION__ " - port %d", port->number); - - down (&port->sem); - usb_unlink_urb (port->read_urb); - - up (&port->sem); - - return; - } @@ -480,8 +464,6 @@ dbg(__FUNCTION__ " - port %d", port->number); - down (&port->sem); - port->read_urb->dev = port->serial->dev; result = usb_submit_urb(port->read_urb, GFP_KERNEL); @@ -489,10 +471,7 @@ if (result) err(__FUNCTION__ " - failed submitting read urb, error %d", result); - up (&port->sem); - return; - } diff -Nru a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c --- a/drivers/usb/serial/ftdi_sio.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/ftdi_sio.c Wed Feb 27 15:44:59 2002 @@ -319,8 +319,6 @@ dbg(__FUNCTION__); - down (&port->sem); - ++port->open_count; if (port->open_count == 1){ @@ -361,7 +359,6 @@ err(__FUNCTION__ " - failed submitting read urb, error %d", result); } - up (&port->sem); return result; } /* ftdi_sio_open */ @@ -374,7 +371,6 @@ dbg( __FUNCTION__); - down (&port->sem); --port->open_count; if (port->open_count <= 0) { @@ -411,9 +407,6 @@ tty_hangup(port->tty); } } - - up (&port->sem); - } /* ftdi_sio_close */ @@ -447,8 +440,6 @@ return (0); } - down(&port->sem); - count += data_offset; count = (count > port->bulk_out_size) ? port->bulk_out_size : count; @@ -456,7 +447,6 @@ if (from_user) { if (copy_from_user(port->write_urb->transfer_buffer + data_offset, buf, count - data_offset )){ - up (&port->sem); return -EFAULT; } } else { @@ -482,14 +472,11 @@ result = usb_submit_urb(port->write_urb, GFP_KERNEL); if (result) { err(__FUNCTION__ " - failed submitting write urb, error %d", result); - up (&port->sem); return 0; } - up (&port->sem); dbg(__FUNCTION__ " write returning: %d", count - data_offset); return (count - data_offset); - } /* ftdi_sio_write */ static void ftdi_sio_write_bulk_callback (struct urb *urb) diff -Nru a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c --- a/drivers/usb/serial/ir-usb.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/ir-usb.c Wed Feb 27 15:44:59 2002 @@ -252,8 +252,6 @@ dbg("%s - port %d", __FUNCTION__, port->number); - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -293,9 +291,6 @@ if (result) err("%s - failed submitting read urb, error %d", __FUNCTION__, result); } - - up (&port->sem); - return result; } @@ -312,8 +307,6 @@ if (!serial) return; - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { @@ -324,7 +317,6 @@ port->open_count = 0; } - up (&port->sem); } static int ir_write (struct usb_serial_port *port, int from_user, const unsigned char *buf, int count) diff -Nru a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c --- a/drivers/usb/serial/keyspan.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/keyspan.c Wed Feb 27 15:44:59 2002 @@ -861,10 +861,8 @@ dbg("keyspan_open called for port%d.\n", port->number); - down (&port->sem); already_active = port->open_count; ++port->open_count; - up (&port->sem); if (already_active) return 0; @@ -926,8 +924,6 @@ p_priv->out_flip = 0; p_priv->in_flip = 0; - down (&port->sem); - if (--port->open_count <= 0) { if (serial->dev) { /* Stop reading/writing urbs */ @@ -941,7 +937,6 @@ port->open_count = 0; port->tty = 0; } - up (&port->sem); } diff -Nru a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c --- a/drivers/usb/serial/keyspan_pda.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/keyspan_pda.c Wed Feb 27 15:44:59 2002 @@ -662,8 +662,6 @@ int rc = 0; struct keyspan_pda_private *priv; - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -707,12 +705,9 @@ } - - up (&port->sem); return rc; error: --port->open_count; - up (&port->sem); return rc; } @@ -721,8 +716,6 @@ { struct usb_serial *serial = port->serial; - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { @@ -737,8 +730,6 @@ } port->open_count = 0; } - - up (&port->sem); } diff -Nru a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c --- a/drivers/usb/serial/kl5kusb105.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/kl5kusb105.c Wed Feb 27 15:44:59 2002 @@ -358,8 +358,6 @@ dbg(__FUNCTION__" port %d", port->number); - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -437,8 +435,6 @@ } exit: - up (&port->sem); - return retval; } /* klsi_105_open */ @@ -455,8 +451,6 @@ if(!serial) return; - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { @@ -482,8 +476,6 @@ port->open_count = 0; info("kl5kusb105 port stats: %ld bytes in, %ld bytes out", priv->bytes_in, priv->bytes_out); } - - up (&port->sem); } /* klsi_105_close */ @@ -505,9 +497,6 @@ dbg(__FUNCTION__ " - port %d", port->number); - down (&port->sem); /* to lock against someone else trying to - take an URB we just selected from the pool */ - while (count > 0) { /* try to find a free urb (write 0 bytes if none) */ struct urb *urb = NULL; @@ -543,7 +532,6 @@ if (from_user) { if (copy_from_user(urb->transfer_buffer + KLSI_105_DATA_OFFSET, buf, size)) { - up (&port->sem); return -EFAULT; } } else { @@ -578,7 +566,6 @@ count -= size; } exit: - up (&port->sem); priv->bytes_out+=bytes_sent; return bytes_sent; /* that's how much we wrote */ @@ -1021,34 +1008,21 @@ static void klsi_105_throttle (struct usb_serial_port *port) { - dbg(__FUNCTION__ " - port %d", port->number); - - down (&port->sem); - usb_unlink_urb (port->read_urb); - - up (&port->sem); - - return; } + static void klsi_105_unthrottle (struct usb_serial_port *port) { int result; dbg(__FUNCTION__ " - port %d", port->number); - down (&port->sem); - port->read_urb->dev = port->serial->dev; result = usb_submit_urb(port->read_urb, GFP_KERNEL); if (result) err(__FUNCTION__ " - failed submitting read urb, error %d", result); - - up (&port->sem); - - return; } diff -Nru a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c --- a/drivers/usb/serial/mct_u232.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/mct_u232.c Wed Feb 27 15:44:59 2002 @@ -341,8 +341,6 @@ dbg(__FUNCTION__" port %d", port->number); - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -398,8 +396,6 @@ } exit: - up (&port->sem); - return 0; } /* mct_u232_open */ @@ -408,8 +404,6 @@ { dbg(__FUNCTION__" port %d", port->number); - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { @@ -421,8 +415,6 @@ } port->open_count = 0; } - - up (&port->sem); } /* mct_u232_close */ @@ -454,16 +446,12 @@ bytes_sent = 0; while (count > 0) { - - down (&port->sem); - size = (count > port->bulk_out_size) ? port->bulk_out_size : count; usb_serial_debug_data (__FILE__, __FUNCTION__, size, buf); if (from_user) { if (copy_from_user(port->write_urb->transfer_buffer, buf, size)) { - up (&port->sem); return -EFAULT; } } @@ -486,11 +474,8 @@ if (result) { err(__FUNCTION__ " - failed submitting write urb, error %d", result); - up (&port->sem); return result; } - - up (&port->sem); bytes_sent += size; if (write_blocking) diff -Nru a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c --- a/drivers/usb/serial/omninet.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/omninet.c Wed Feb 27 15:44:59 2002 @@ -157,8 +157,6 @@ if (!serial) return -ENODEV; - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -166,7 +164,6 @@ if( !od ) { err(__FUNCTION__"- kmalloc(%Zd) failed.", sizeof(struct omninet_data)); port->open_count = 0; - up (&port->sem); return -ENOMEM; } @@ -184,8 +181,6 @@ err(__FUNCTION__ " - failed submitting read urb, error %d", result); } - up (&port->sem); - return result; } @@ -204,8 +199,6 @@ if (!serial) return; - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { @@ -220,8 +213,6 @@ if (od) kfree(od); } - - up (&port->sem); } diff -Nru a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c --- a/drivers/usb/serial/pl2303.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/pl2303.c Wed Feb 27 15:44:59 2002 @@ -367,8 +367,6 @@ dbg (__FUNCTION__ " - port %d", port->number); - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -407,7 +405,6 @@ result = usb_submit_urb (port->read_urb, GFP_KERNEL); if (result) { err(__FUNCTION__ " - failed submitting read urb, error %d", result); - up (&port->sem); pl2303_close (port, NULL); return -EPROTO; } @@ -417,12 +414,10 @@ result = usb_submit_urb (port->interrupt_in_urb, GFP_KERNEL); if (result) { err(__FUNCTION__ " - failed submitting interrupt urb, error %d", result); - up (&port->sem); pl2303_close (port, NULL); return -EPROTO; } } - up (&port->sem); return 0; } @@ -442,8 +437,6 @@ dbg (__FUNCTION__ " - port %d", port->number); - down (&port->sem); - --port->open_count; if (port->open_count <= 0) { if (serial->dev) { @@ -478,8 +471,6 @@ } port->open_count = 0; } - - up (&port->sem); } static int set_modem_info (struct usb_serial_port *port, unsigned int cmd, unsigned int *value) diff -Nru a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c --- a/drivers/usb/serial/whiteheat.c Wed Feb 27 15:44:59 2002 +++ b/drivers/usb/serial/whiteheat.c Wed Feb 27 15:44:59 2002 @@ -306,8 +306,6 @@ dbg(__FUNCTION__" - port %d", port->number); - down (&port->sem); - ++port->open_count; if (port->open_count == 1) { @@ -354,16 +352,12 @@ } dbg(__FUNCTION__ " - exit"); - up (&port->sem); - return retval; error_exit: --port->open_count; dbg(__FUNCTION__ " - error_exit"); - up (&port->sem); - return retval; } @@ -374,7 +368,6 @@ dbg(__FUNCTION__ " - port %d", port->number); - down (&port->sem); --port->open_count; if (port->open_count <= 0) { @@ -391,7 +384,6 @@ usb_unlink_urb (port->read_urb); port->open_count = 0; } - up (&port->sem); } @@ -410,8 +402,6 @@ dbg(__FUNCTION__ " -port %d", port->number); - down (&port->sem); - if ((!port->tty) || (!port->tty->termios)) { dbg(__FUNCTION__" - no tty structures"); goto exit; @@ -492,7 +482,6 @@ whiteheat_send_cmd (port->serial, WHITEHEAT_SETUP_PORT, (__u8 *)&port_settings, sizeof(port_settings)); exit: - up (&port->sem); return; }