mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Adam Kropelin" <akropel1@rochester.rr.com>
To: "Nick Pasich" <NewsLetters@NickAndBarb.net>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
	"Nick Pasich" <NewsLetters@NickAndBarb.net>,
	<linux-usb-devel@lists.sourceforge.net>,
	"Greg Kroah-Hartman" <greg@kroah.com>,
	"Al Borchers" <alborchers@steinerpoint.com>,
	<linux-kernel@vger.kernel.org>,
	"Peter Berger" <pberger@brimson.com>
Subject: Re: [linux-usb-devel] Edgeport UPS Monitoring Problems
Date: Sun, 29 Jul 2007 10:04:44 -0400	[thread overview]
Message-ID: <008001c7d1e9$6a8625b0$03c8a8c0@kroptech.com> (raw)
In-Reply-To: <20070729124813.GA30633@69.17.112.251>

[-- Attachment #1: Type: text/plain, Size: 1873 bytes --]

From: "Nick Pasich" <NewsLetters@NickAndBarb.net>
> Here's the dmesg output ......
>
> [...]
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: LCR - 
> write to send_cmd_write_uart_register register 0x03
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: 
> SendCmdWriteUartReg - Not writing to MCR Register
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: MCR - 
> write to send_cmd_write_uart_register register 0x0b
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: 
> SendCmdWriteUartReg - Not writing to MCR Register
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: 
> change_port_settings - baud rate = 9600
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: 
> SendCmdWriteBaudRate - NOT Setting baud rate for port = 0, baud = 9600

Yup, there's what I expected. Not setting the baud rate and not writing 
status registers is unlikely to produce working results. This 9600 must 
be the default setting being applied.

> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: 
> SendCmdWriteUartReg - Not writing to MCR Register
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: MCR - 
> write to send_cmd_write_uart_register register 0x0b
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: 
> SendCmdWriteUartReg - Not writing to MCR Register
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: 
> change_port_settings - baud rate = 2400
> Jul 29 05:20:07 NICK2 kernel: drivers/usb/serial/io_edgeport.c: 
> SendCmdWriteBaudRate - NOT Setting baud rate for port = 0, baud = 2400

Here's apcupsd trying to set 2400 baud.

Please try the attached patch (against 2.6.22.1). This will allow 
writing to the baud rate and MCR/LCR registers on non-EPIC adapters. I 
suspect the previous code was a copy-paste error.

--Adam

[-- Attachment #2: usb-serial-edgeport-non-epic-baud-rate-fix.patch --]
[-- Type: application/octet-stream, Size: 1533 bytes --]

--- linux-2.6.22.1/drivers/usb/serial/io_edgeport.c	2007-07-10 14:56:30.000000000 -0400
+++ linux-2.6.22.1.new/drivers/usb/serial/io_edgeport.c	2007-07-29 09:45:18.000000000 -0400
@@ -2366,9 +2366,8 @@
 	int status;
 	unsigned char number = edge_port->port->number - edge_port->port->serial->minor;
 
-	if ((!edge_serial->is_epic) ||
-	    ((edge_serial->is_epic) &&
-	     (!edge_serial->epic_descriptor.Supports.IOSPSetBaudRate))) {
+	if (edge_serial->is_epic &&
+	    !edge_serial->epic_descriptor.Supports.IOSPSetBaudRate) {
 		dbg("SendCmdWriteBaudRate - NOT Setting baud rate for port = %d, baud = %d",
 		    edge_port->port->number, baudRate);
 		return 0;
@@ -2461,18 +2460,16 @@
 
 	dbg("%s - write to %s register 0x%02x", (regNum == MCR) ? "MCR" : "LCR", __FUNCTION__, regValue);
 
-	if ((!edge_serial->is_epic) ||
-	    ((edge_serial->is_epic) &&
-	     (!edge_serial->epic_descriptor.Supports.IOSPWriteMCR) &&
-	     (regNum == MCR))) {
+	if (edge_serial->is_epic &&
+	    !edge_serial->epic_descriptor.Supports.IOSPWriteMCR &&
+	    regNum == MCR) {
 		dbg("SendCmdWriteUartReg - Not writing to MCR Register");
 		return 0;
 	}
 
-	if ((!edge_serial->is_epic) ||
-	    ((edge_serial->is_epic) &&
-	     (!edge_serial->epic_descriptor.Supports.IOSPWriteLCR) &&
-	     (regNum == LCR))) {
+	if (edge_serial->is_epic &&
+	    !edge_serial->epic_descriptor.Supports.IOSPWriteLCR &&
+	    regNum == LCR) {
 		dbg ("SendCmdWriteUartReg - Not writing to LCR Register");
 		return 0;
 	}

  reply	other threads:[~2007-07-29 14:05 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-27 20:37 Nick Pasich
2007-07-27 22:22 ` Andrew Morton
2007-07-28 23:10   ` [linux-usb-devel] " Adam Kropelin
2007-07-29 12:48     ` Nick Pasich
2007-07-29 14:04       ` Adam Kropelin [this message]
2007-07-29 14:36         ` Nick Pasich

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='008001c7d1e9$6a8625b0$03c8a8c0@kroptech.com' \
    --to=akropel1@rochester.rr.com \
    --cc=NewsLetters@NickAndBarb.net \
    --cc=akpm@linux-foundation.org \
    --cc=alborchers@steinerpoint.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=pberger@brimson.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

Powered by JetHome