public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Fulghum <paulkf@microgate.com>
To: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: Greg KH <greg@kroah.com>, Oleksiy <Oleksiy@kharkiv.com.ua>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: pl2303/usb-serial driver problem in 2.4.27-pre6
Date: Sat, 23 Oct 2004 18:00:12 -0500	[thread overview]
Message-ID: <1098572412.5996.6.camel@at2.pipehead.org> (raw)
In-Reply-To: <20041023180625.GA12113@logos.cnet>

On Sat, 2004-10-23 at 13:06, Marcelo Tosatti wrote:
> On Tue, Oct 12, 2004 at 10:10:04AM -0700, Greg KH wrote:
> > On Mon, Oct 11, 2004 at 02:22:32PM +0300, Oleksiy wrote:
> > > Hi all,
> > > 
> > > I have a problem using GPRS inet vi my Siemens S55 attached with USB 
> > > cable since kernel version 2.4.27-pre5, the link is established well, 
> > > but then no packets get received, looking with tcpdump shows outgoing 
> > > ping packets and just few per several minutes received back. I'm unable 
> > > to ping, do nslookup, etc.
> > > The problem started when i switched from kernel 2.4.26 (linux slackware 
> > > 10.0) to 2.4.28-pre3. None of ppp otions haven't changed and all the 
> > > same options were set during kerenel config. So i decided to test all 
> > > kernels between 2.4.26 and 2.4.28-pre4 (also not working). Link works 
> > > well in 2.4.27-pre5 and stop working in 2.4.27-pre6. No "strange" 
> > > messages or errors in the logs. firewall is disabled (ACCEPT for all).
> > 
> > Can you enable CONFIG_DEBUG?
> > 
> > There were no pl2303 driver changes between 2.4.27-pre5 and pre6, so I
> > don't think it's that driver...

--- linux-2.4.27-pre5/drivers/usb/serial/pl2303.c	2004-04-14 08:05:35.000000000 -0500
+++ linux-2.4.27-pre6/drivers/usb/serial/pl2303.c	2004-10-23 17:47:34.000000000 -0500
@@ -107,6 +107,7 @@ MODULE_DEVICE_TABLE (usb, id_table);
 #define VENDOR_READ_REQUEST		0x01
 
 #define UART_STATE			0x08
+#define UART_STATE_TRANSIENT_MASK	0x74
 #define UART_DCD			0x01
 #define UART_DSR			0x02
 #define UART_BREAK_ERROR		0x04
@@ -198,6 +199,9 @@ static int pl2303_write (struct usb_seri
 
 	dbg("%s - port %d, %d bytes", __FUNCTION__, port->number, count);
 
+	if (!count)
+		return count;
+
 	if (port->write_urb->status == -EINPROGRESS) {
 		dbg("%s - already writing", __FUNCTION__);
 		return 0;
@@ -678,6 +682,7 @@ static void pl2303_read_int_callback (st
 	struct pl2303_private *priv = usb_get_serial_port_data(port);
 	unsigned char *data = urb->transfer_buffer;
 	unsigned long flags;
+	u8 uart_state;
 
 	dbg("%s (%d)", __FUNCTION__, port->number);
 
@@ -708,8 +713,10 @@ static void pl2303_read_int_callback (st
 		return;
 
 	/* Save off the uart status for others to look at */
+	uart_state = data[UART_STATE];
 	spin_lock_irqsave(&priv->lock, flags);
-	priv->line_status = data[UART_STATE];
+	uart_state |= (priv->line_status & UART_STATE_TRANSIENT_MASK);
+	priv->line_status = uart_state;
 	spin_unlock_irqrestore(&priv->lock, flags);
 	wake_up_interruptible (&priv->delta_msr_wait);
 
@@ -767,7 +774,9 @@ static void pl2303_read_bulk_callback (s
 
 	spin_lock_irqsave(&priv->lock, flags);
 	status = priv->line_status;
+	priv->line_status &= ~UART_STATE_TRANSIENT_MASK;
 	spin_unlock_irqrestore(&priv->lock, flags);
+	wake_up_interruptible (&priv->delta_msr_wait); //AF from 2.6
 
 	/* break takes precedence over parity, */
 	/* which takes precedence over framing errors */

-- 
Paul Fulghum
paulkf@microgate.com



  reply	other threads:[~2004-10-23 23:00 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-11 11:22 pl2303/usb-serial driver problem in 2.4.27-pre6 Oleksiy
2004-10-11 11:36 ` Marcelo Tosatti
2004-10-12 14:34   ` Oleksiy
2004-10-12 17:48   ` Pete Zaitcev
2004-10-13 19:32     ` Alexander Wigen
2004-10-13 17:42       ` Greg KH
2004-10-14 14:06         ` Alexander Wigen
2004-10-14  7:50           ` Jan-Benedict Glaw
2004-10-12 17:10 ` Greg KH
2004-10-23 18:06   ` Marcelo Tosatti
2004-10-23 23:00     ` Paul Fulghum [this message]
2004-10-24  0:14       ` Paul Fulghum
2004-10-27 20:16         ` Paul Fulghum
2004-10-30  3:49           ` Greg KH
2004-10-30 15:36             ` Paul Fulghum
2004-10-30 23:52               ` Paul Fulghum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1098572412.5996.6.camel@at2.pipehead.org \
    --to=paulkf@microgate.com \
    --cc=Oleksiy@kharkiv.com.ua \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo.tosatti@cyclades.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox