public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Andrew Morton <akpm@osdl.org>
Cc: Michael Westermann <michael@dvmwest.de>, linux-kernel@vger.kernel.org
Subject: Re: DTR/DSR handshake in kernelspace third traying
Date: Sun, 10 Dec 2006 12:14:31 +0000	[thread overview]
Message-ID: <20061210121431.GA20456@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20061209225014.0888720b.akpm@osdl.org>

On Sat, Dec 09, 2006 at 10:50:14PM -0800, Andrew Morton wrote:
> > On Thu, 7 Dec 2006 21:16:27 +0100 Michael Westermann <michael@dvmwest.de> wrote:
> > Hello,
> > 
> > I've send 2 patches for a DTS/DSR handshaking to the list
> > 
> > http://lkml.org/lkml/2004/5/7/76  and long long time ago 1998
> > 
> > My problem are manufacturers the make printers with
> > DTR/DSR Handschaking. POS Printers are very sensible for
> > a buffer overrun!
> > 
> > For on or two printers, we can wire a adapter, for 10000...30000
> > printers is a software option the better way.
> > 
> > I've write a patch for 2.2 and published it, 
> > I've write a patch for 2.4 and published it, but i've see there is no
> > 
> > DTR/DSR Handshaking in the kernel 2.6.
> > 
> > I'm a litte bit  frusted. Are a few  thousands pos-systems not
> > enough for upgrading the standard kernel sources?
> > 
> > Have I a really chance to commit a patch for kernel 2.6.
> > 
> 
> I'd say so.  Please make sure that such a patch is against the very latest
> Linus kernel from ftp://ftp.kernel.org/pub/linux/kernel/v2.6/snapshots. 
> Also, the more comprehensive the patch's description the better - why it is
> needed, what it does, how it works, etc.  Your 2004 description was rather
> terse.
> 
> I seem to recall that the people who understand and work on this code
> discussed this issue earlier this year, but I forget the conclusion.  Some
> archive searching might be useful.

Andrew,

My stance on handshaking has always been that it should be something
controlled via termios, not via some driver specific ioctl() which is
different for every single driver.

I see that this 2.4 patch actually does that, which is great.  A
couple of points though:

1. CRTSCTS should select RTS/CTS flow control.  There should be CDTRDSR
   for DTR/DSR flow, not CHWFLOW plus some additional ioctl.

2. the patch does not adequately handle switching flow control modes.
   The handling in set_termios is not sufficient - eg, when switching
   from CRTSCTS with de-asserted CTS to CDTRDSR with asserted DSR will
   result in the driver believing that the flow control signal is still
   deasserted.  Incidentally, this also directly affects changing the
   flow control method via the additional ioctls.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

      reply	other threads:[~2006-12-10 15:37 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-07 20:16 DTR/DSR handshake in kernelspace third traying Michael Westermann
2006-12-10  6:50 ` Andrew Morton
2006-12-10 12:14   ` Russell King [this message]

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=20061210121431.GA20456@flint.arm.linux.org.uk \
    --to=rmk+lkml@arm.linux.org.uk \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michael@dvmwest.de \
    /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