From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Meelis Roos <mroos@linux.ee>
Cc: alan@lxorguk.ukuu.org.uk, linux-kernel@vger.kernel.org
Subject: Re: Serial: bug in 8250.c when handling PCI or other level triggers
Date: Fri, 23 Dec 2005 09:33:43 +0000 [thread overview]
Message-ID: <20051223093343.GA22506@flint.arm.linux.org.uk> (raw)
In-Reply-To: <Pine.SOC.4.61.0512231117560.25532@math.ut.ee>
On Fri, Dec 23, 2005 at 11:20:59AM +0200, Meelis Roos wrote:
> >I notice you're using gcc 4.0.3. Have you tried other compiler
> >versions?
>
> Tried 3.3 (Debian 3.3.6). Discover still gets the errors, opening port
> with minicom didn't this time (maybe I did start minicom an power on the
> switch in different order). But when closing minicom, I got the messages
> again (after the AGP messages).
So not much change.
Ok, please apply this patch on top of the previous and re-send the
kernel messages. This will let us see what's going on with 'l' and
'end'.
Thanks.
--- a/drivers/serial/8250.c 2005-12-23 09:26:45.273235110 +0000
+++ b/drivers/serial/8250.c 2005-12-23 09:32:37.347434791 +0000
@@ -146,6 +146,9 @@
unsigned char iir_b;
unsigned char lsr_e;
unsigned char iir_e;
+ void *l;
+ void *eb;
+ void *ee;
} log[64];
unsigned char log_idx;
};
@@ -1348,8 +1351,11 @@
up->log[up->log_idx].type = 0;
up->log[up->log_idx].num = pass_counter;
up->log[up->log_idx].iir_b = iir;
+ up->log[up->log_idx].l = l;
+ up->log[up->log_idx].eb = end;
if (!(iir & UART_IIR_NO_INT)) {
+ up->log[up->log_idx].type = 1;
spin_lock(&up->port.lock);
serial8250_handle_port(up, regs);
spin_unlock(&up->port.lock);
@@ -1361,6 +1367,7 @@
end = l;
up->log[up->log_idx].iir_e = serial_in(up, UART_IIR);
+ up->log[up->log_idx].ee = end;
up->log_idx = (up->log_idx + 1) & 63;
l = l->next;
@@ -1402,16 +1409,19 @@
struct uart_8250_port *up = list_entry(l, struct uart_8250_port, list);
int i;
- printk("serial8250: port %p(%d)\n", up, up->port.line);
+ printk("serial8250: port %p(%d) head=%p end=%p\n", up, up->port.line, i->head, end);
for (i = 0; i < 64; i++)
- printk("%d: jif=%08lx type=%02x num=%02x iir=%02x lsr=%02x => iir=%02x lsr=%02x\n", i,
+ printk("%d: jif=%08lx type=%02x num=%02x iir=%02x lsr=%02x => iir=%02x lsr=%02x l=%p eb=%p ee=%p\n", i,
up->log[(up->log_idx + i) & 63].jiffies,
up->log[(up->log_idx + i) & 63].type,
up->log[(up->log_idx + i) & 63].num,
up->log[(up->log_idx + i) & 63].iir_b,
up->log[(up->log_idx + i) & 63].lsr_b,
up->log[(up->log_idx + i) & 63].iir_e,
- up->log[(up->log_idx + i) & 63].lsr_e);
+ up->log[(up->log_idx + i) & 63].lsr_e,
+ up->log[(up->log_idx + i) & 63].l,
+ up->log[(up->log_idx + i) & 63].eb,
+ up->log[(up->log_idx + i) & 63].ee);
l = l->next;
} while (l != i->head);
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
next prev parent reply other threads:[~2005-12-23 9:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-14 15:23 Serial: bug in 8250.c when handling PCI or other level triggers Alan Cox
2005-12-14 16:07 ` Meelis Roos
2005-12-14 17:24 ` Russell King
2005-12-14 18:43 ` Meelis Roos
2005-12-21 15:24 ` Russell King
2005-12-21 20:33 ` Meelis Roos
2005-12-21 22:15 ` Russell King
2005-12-22 10:35 ` Meelis Roos
2005-12-22 13:07 ` Russell King
2005-12-22 13:19 ` Meelis Roos
2005-12-23 9:20 ` Meelis Roos
2005-12-23 9:33 ` Russell King [this message]
2005-12-23 10:05 ` Meelis Roos
2005-12-23 10:41 ` Russell King
2005-12-27 13:54 ` Meelis Roos
2005-12-28 19:55 ` Russell King
2005-12-29 8:11 ` Meelis Roos
2006-01-08 23:24 ` Antonio Vargas
2006-01-09 8:54 ` Russell King
2005-12-14 22:29 ` Alan Cox
2005-12-15 19:00 ` Stuart MacDonald
2005-12-14 16:55 ` Russell King
2005-12-14 19:08 ` Alan Cox
2005-12-14 19:55 ` Russell King
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=20051223093343.GA22506@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mroos@linux.ee \
/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