Skip to contentSkip to conversation

Mainpine IQ Express Rev3 problems beginning 2.6.36

DISCUSSION Lee Howard 2 participants 10 messages Dec 9, 2010 – Jan 25, 2011 TTY layer and serial drivers

lore
Share & tools
lore

Lee Howard

author
#0 lore raw

Hello everyone,

A week ago I had a customer report to me that they were having problems using the Mainpine IQ Express Rev3 (multiport modem which uses the Oxsemi OXPCIe95x chipset) after updating their system from kernel 2.6.22.10 (which they patched because native support for the IQ Express didn't enter the kernel until 2.6.28) to kernel 2.6.36.

As I had never used any 2.6.36 kernel, myself, I explained that I had experienced no problem with the 2.6.35.6 kernel (as found in Fedora 14) at which point they installed kernel 2.6.35.8 and reported back that this had resolved the problem for them.

Following their report I then tested by installing the 2.6.37-rc4 kernel (using 'make oldconfig', taking .config from the Fedora 14 kernel that was working), and I was quickly able to determine that there were problems because simple communications with the modems were not working properly using 'minicom'. (I also have now tested with 2.6.37-rc5 with the same result.) Characters appear to be getting lost/dropped in the communication... for example, I *expect* the following on the minicom terminal screen when I start it up as it initializes the modem:

-------------------
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 OK

-------------------

The blinking cursor will be on the line following the OK. This is what happens when using kernel 2.6.35. However, when I use 2.6.37-rc5 this is what I see:

-------------------
AT S7=45 S0=0 L1
-------------------

Sometimes there is a character or two more on the screen but there will be no OK and the cursor will be blinking at the end of the line of commands... which leads me to believe that the modem did not see the CR+LF from the application. If I simply press enter on the terminal, then I'll see the OK as expected. So it seems to me that only the first bunch of characters are making it through and that the rest are getting dropped for some reason.

setserial tells me the following about the port:

# setserial -G /dev/ttyS4
/dev/ttyS4 uart 16950/954 port 0x0000 irq 18 baud_base 4000000 spd_normal skip_test

I think I can say with confidence that the problem started with 2.6.36.

What can I do to help solve the problem?

Thanks,

Lee.

Signature · 4 lines
*Lee Howard*
*Mainpine, Inc. Software Development Lead*
Tel: +1 866 363 6680 | Fax: +1 360 462 8160
[email protected] | www.mainpine.com
#1 lore raw
Quoted 47 lines · Lee Howard

Hello everyone,

A week ago I had a customer report to me that they were having problems using the Mainpine IQ Express Rev3 (multiport modem which uses the Oxsemi OXPCIe95x chipset) after updating their system from kernel 2.6.22.10 (which they patched because native support for the IQ Express didn't enter the kernel until 2.6.28) to kernel 2.6.36.

As I had never used any 2.6.36 kernel, myself, I explained that I had experienced no problem with the 2.6.35.6 kernel (as found in Fedora 14) at which point they installed kernel 2.6.35.8 and reported back that this had resolved the problem for them.

Following their report I then tested by installing the 2.6.37-rc4 kernel (using 'make oldconfig', taking .config from the Fedora 14 kernel that was working), and I was quickly able to determine that there were problems because simple communications with the modems were not working properly using 'minicom'. (I also have now tested with 2.6.37-rc5 with the same result.) Characters appear to be getting lost/dropped in the communication... for example, I *expect* the following on the minicom terminal screen when I start it up as it initializes the modem:

-------------------
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK

-------------------

The blinking cursor will be on the line following the OK. This is what happens when using kernel 2.6.35. However, when I use 2.6.37-rc5 this is what I see:

-------------------
AT S7=45 S0=0 L1
-------------------

Sometimes there is a character or two more on the screen but there will be no OK and the cursor will be blinking at the end of the line of commands... which leads me to believe that the modem did not see the CR+LF from the application. If I simply press enter on the terminal, then I'll see the OK as expected. So it seems to me that only the first bunch of characters are making it through and that the rest are getting dropped for some reason.

setserial tells me the following about the port:

Quoted 7 lines
# setserial -G /dev/ttyS4
/dev/ttyS4 uart 16950/954 port 0x0000 irq 18 baud_base 4000000
spd_normal skip_test

I think I can say with confidence that the problem started with 2.6.36.

What can I do to help solve the problem?

What type of device is this? A pci card or something else? What driver controls it?

Also, the best thing to do would be if you could run 'git bisect' to narrow the problem down to the specific patch that caused the problem. Any chance you could do that?

thanks,

greg k-h

author
#2 lore raw
Quoted 60 lines

From: Greg KH [mailto:[email protected]]
Sent: Wednesday, December 08, 2010 10:43 PM

Quoted 6 lines · Lee Howard

Hello everyone,

A week ago I had a customer report to me that they were having problems using the Mainpine IQ Express Rev3 (multiport modem which uses the Oxsemi OXPCIe95x chipset) after updating their system from kernel 2.6.22.10 (which they patched because native support

for the IQ

Quoted 3 lines

Express didn't enter the kernel until 2.6.28) to kernel 2.6.36.

As I had never used any 2.6.36 kernel, myself, I explained

that I had

Quoted 8 lines

experienced no problem with the 2.6.35.6 kernel (as found in Fedora
14) at which point they installed kernel 2.6.35.8 and reported back that this had resolved the problem for them.

Following their report I then tested by installing the 2.6.37-rc4 kernel (using 'make oldconfig', taking .config from the Fedora 14 kernel that was working), and I was quickly able to determine that there were problems because simple communications with the

modems were

Quoted 16 lines

not working properly using 'minicom'. (I also have now tested with 2.6.37-rc5 with the same result.) Characters appear to be getting lost/dropped in the communication... for example, I *expect* the following on the minicom terminal screen when I start it up as it initializes the modem:

-------------------
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK

-------------------

The blinking cursor will be on the line following the OK. This is what happens when using kernel 2.6.35. However, when I use 2.6.37-rc5 this is what I see:

Quoted 6 lines

-------------------
AT S7=45 S0=0 L1
-------------------

Sometimes there is a character or two more on the screen but there will be no OK and the cursor will be blinking at the end of

the line

Quoted 4 lines

of commands... which leads me to believe that the modem did not see the CR+LF from the application. If I simply press enter on the terminal, then I'll see the OK as expected. So it seems to me that only the first bunch of characters are making it through

and that the

Quoted 8 lines

rest are getting dropped for some reason.

setserial tells me the following about the port:

# setserial -G /dev/ttyS4
/dev/ttyS4 uart 16950/954 port 0x0000 irq 18 baud_base 4000000 
spd_normal skip_test
Quoted 6 lines
Quoted 1 line

I think I can say with confidence that the problem started

with 2.6.36.

Quoted 2 lines

What can I do to help solve the problem?

What type of device is this? A pci card or something else?

The Mainpine IQ Express cards are multiport PCIe cards with modems attached to the serial ports.

Quoted 1 line

What driver controls it?

8250

Quoted 4 lines

Also, the best thing to do would be if you could run 'git bisect' to narrow the problem down to the specific patch that caused the problem.
Any chance you could do that?

I've been at that for three days now. It's very tedious and cumbersome because, even starting with 'git bisect start -- drivers/serial' which narrows-down the anticipated number of runs to 6, it's very difficult to do because most of the kernel revisions that are being tested have some bug in them (they don't build at all, they have oopses, etc.) and I find myself spending a lot of time only to have to do a 'git bisect skip' if I don't want to try to work-around those problems. Eventually I found myself simply disabling modules in the build that I don't need to perform the test... And that worked better until I started running into other problems in the test that were not the same as the one I was having before... So when I'm doing 'git bisect' and come across a revision that doesn't work but doesn't have the same problems as the target problem, what do I do? Should I mark it "bad" or "skip" it?

Thanks,

Lee.

#3 lore raw
Quoted 14 lines · Lee Howard
Quoted 1 line

What type of device is this? A pci card or something else?

The Mainpine IQ Express cards are multiport PCIe cards with modems attached to the serial ports.

Quoted 1 line

What driver controls it?

8250

Quoted 4 lines

Also, the best thing to do would be if you could run 'git bisect' to narrow the problem down to the specific patch that caused the problem.
Any chance you could do that?

Quoted 13 lines

I've been at that for three days now. It's very tedious and cumbersome because, even starting with 'git bisect start -- drivers/serial' which narrows-down the anticipated number of runs to 6, it's very difficult to do because most of the kernel revisions that are being tested have some bug in them (they don't build at all, they have oopses, etc.) and I find myself spending a lot of time only to have to do a 'git bisect skip' if I don't want to try to work-around those problems. Eventually I found myself simply disabling modules in the build that I don't need to perform the test... And that worked better until I started running into other problems in the test that were not the same as the one I was having before... So when I'm doing 'git bisect' and come across a revision that doesn't work but doesn't have the same problems as the target problem, what do I do? Should I mark it "bad" or "skip" it?

Don't limit yourself to changes in drivers/serial as there are lots of tty fixes in other parts of the kernel that could have caused issues with this.

As for build issues, try to make a minimal working config for your system, using 'make localmodconfig'. That will speed up your build time immensely as well as reduce your chances of build and runtime problems with the intermediate kernels.

best of luck,

greg k-h

author
#4 lore raw
Quoted 8 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Sunday, December 12, 2010 8:52 AM

As for build issues, try to make a minimal working config for your system, using 'make localmodconfig'. That will speed up your build time immensely as well as reduce your chances of build and runtime problems with the intermediate kernels.

Thank-you, that did help immensely.

Here's the 'git bisect' result...

--------------
7a56aa45982bb87bfca98a2832b5ae782c03364a is the first bad commit commit 7a56aa45982bb87bfca98a2832b5ae782c03364a

Author: Yegor Yefremov <[email protected]>
Date:   Wed Jun 16 16:29:55 2010 +0200

serial: add UART_CAP_EFR and UART_CAP_SLEEP flags to 16C950 UARTs
definition

Adding UART_CAP_EFR and UART_CAP_SLEEP flags will enable sleep mode and automatic CTS flow control for 16C950 UARTs. It will also avoid capabilities detection warning like this:

"ttyS0: detected caps 00000700 should be 00000100"

:040000 040000 1776ca8d5c653834363c0778b5b404ee52bd2d69
b81cfe4f302a674935181bd248641873820517e5 M drivers
--------------

Indeed, if I remove the UART_CAP_EFR flag from later kernel revisions there is no problem.

Here is the 'dmesg' output for 8250 after removing UART_CAP_EFR...

--------------

[    0.980209] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.245280] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    1.266813] 00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    1.266936] serial 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ
18
[    1.266954] 1 ports detected on Oxford PCI Express device
[    1.267029] ttyS4: detected caps 00000700 should be 00000500
[    1.267043] 0000:02:00.0: ttyS4 at MMIO 0xfd5fd000 (irq = 18) is a
16C950/954
[    1.267095] serial 0000:03:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ
16
[    1.267105] 4 ports detected on Oxford PCI Express device
[    1.267175] ttyS5: detected caps 00000700 should be 00000500
[    1.267180] 0000:03:00.0: ttyS5 at MMIO 0xfc9fd000 (irq = 16) is a
16C950/954
[    1.267269] ttyS6: detected caps 00000700 should be 00000500
[    1.267274] 0000:03:00.0: ttyS6 at MMIO 0xfc9fd200 (irq = 16) is a
16C950/954
[    1.267362] ttyS7: detected caps 00000700 should be 00000500
[    1.267366] 0000:03:00.0: ttyS7 at MMIO 0xfc9fd400 (irq = 16) is a
16C950/954
[    1.267454] ttyS8: detected caps 00000700 should be 00000500
[    1.267459] 0000:03:00.0: ttyS8 at MMIO 0xfc9fd600 (irq = 16) is a
16C950/954
[    1.267505] serial 0000:04:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ
18
[    1.267514] 2 ports detected on Oxford PCI Express device
[    1.267583] ttyS9: detected caps 00000700 should be 00000500
[    1.267588] 0000:04:00.0: ttyS9 at MMIO 0xfcffd000 (irq = 18) is a
16C950/954
[    1.267678] ttyS10: detected caps 00000700 should be 00000500
[    1.267683] 0000:04:00.0: ttyS10 at MMIO 0xfcffd200 (irq = 18) is a
16C950/954
[    1.267723] serial 0000:06:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ
19
[    1.288452] 0000:06:00.0: ttyS11 at I/O 0xcf00 (irq = 19) is a 16550A
[    1.309208] 0000:06:00.0: ttyS12 at I/O 0xcf08 (irq = 19) is a 16550A
[    1.329963] 0000:06:00.0: ttyS13 at I/O 0xcf10 (irq = 19) is a 16550A
[    1.350723] 0000:06:00.0: ttyS14 at I/O 0xcf18 (irq = 19) is a 16550A

--------------

00:09 is the on-board serial controller, so that's ttyS1

0000:02:00.0 is a 1-port Rev3 IQ Express, that's ttyS4

0000:03:00.0 is a 4-port Rev3 IQ Express, that's ttyS5-ttyS8

0000:04:00.0 is a 2-port Rev3 IQ Express, that's ttyS9-ttyS10

0000:06:00.0 is a 4-port Rev2 IQ Express, that's ttyS11-ttyS14 (these had no problem).

Thanks,

Lee.

author
#5 lore raw
Quoted 41 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Lee Howard
Sent: Tuesday, December 14, 2010 11:50 AM
To: 'Greg KH'
Cc: [email protected]
Subject: RE: Mainpine IQ Express Rev3 problems beginning 2.6.36

Quoted 8 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Sunday, December 12, 2010 8:52 AM

As for build issues, try to make a minimal working config for your system, using 'make localmodconfig'. That will speed up your build time immensely as well as reduce your chances of build and runtime problems with the intermediate kernels.

Thank-you, that did help immensely.

Here's the 'git bisect' result...

--------------
7a56aa45982bb87bfca98a2832b5ae782c03364a is the first bad commit commit 7a56aa45982bb87bfca98a2832b5ae782c03364a

Author: Yegor Yefremov <[email protected]>
Date:   Wed Jun 16 16:29:55 2010 +0200

serial: add UART_CAP_EFR and UART_CAP_SLEEP flags to
16C950 UARTs definition

Adding UART_CAP_EFR and UART_CAP_SLEEP flags will enable
sleep mode
and automatic CTS flow control for 16C950 UARTs. It will
also avoid
capabilities detection warning like this:

"ttyS0: detected caps 00000700 should be 00000100"

Quoted 6 lines

:040000 040000 1776ca8d5c653834363c0778b5b404ee52bd2d69
b81cfe4f302a674935181bd248641873820517e5 M drivers
--------------

Indeed, if I remove the UART_CAP_EFR flag from later kernel revisions there is no problem.

Greg,

What's to be done?

Thanks,

Lee.

#6 lore raw
Quoted 45 lines · Lee Howard
Quoted 45 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Lee Howard
Sent: Tuesday, December 14, 2010 11:50 AM
To: 'Greg KH'
Cc: [email protected]
Subject: RE: Mainpine IQ Express Rev3 problems beginning 2.6.36

Quoted 8 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Sunday, December 12, 2010 8:52 AM

As for build issues, try to make a minimal working config for your system, using 'make localmodconfig'. That will speed up your build time immensely as well as reduce your chances of build and runtime problems with the intermediate kernels.

Thank-you, that did help immensely.

Here's the 'git bisect' result...

--------------
7a56aa45982bb87bfca98a2832b5ae782c03364a is the first bad commit commit 7a56aa45982bb87bfca98a2832b5ae782c03364a

Author: Yegor Yefremov <[email protected]>
Date:   Wed Jun 16 16:29:55 2010 +0200

serial: add UART_CAP_EFR and UART_CAP_SLEEP flags to
16C950 UARTs definition

Adding UART_CAP_EFR and UART_CAP_SLEEP flags will enable
sleep mode
and automatic CTS flow control for 16C950 UARTs. It will
also avoid
capabilities detection warning like this:

"ttyS0: detected caps 00000700 should be 00000100"

:040000 040000 1776ca8d5c653834363c0778b5b404ee52bd2d69
b81cfe4f302a674935181bd248641873820517e5 M drivers
--------------

Quoted 6 lines
Quoted 2 lines

Indeed, if I remove the UART_CAP_EFR flag from later kernel revisions there is no problem.

Greg,

What's to be done?

Sorry for the delay, I think Pavel's posted patch will solve this issue for you, right?

thanks,

greg k-h

author
#7 lore raw
Quoted 61 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, January 10, 2011 4:03 PM
To: Lee Howard
Cc: [email protected]
Subject: Re: Mainpine IQ Express Rev3 problems beginning 2.6.36

Quoted 3 lines · Lee Howard
Quoted 3 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of

Lee Howard

Quoted 10 lines
Quoted 10 lines

Sent: Tuesday, December 14, 2010 11:50 AM
To: 'Greg KH'
Cc: [email protected]
Subject: RE: Mainpine IQ Express Rev3 problems beginning 2.6.36

Quoted 5 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Sunday, December 12, 2010 8:52 AM

As for build issues, try to make a minimal working

config for your

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

system, using 'make localmodconfig'. That will speed up your build time immensely as well as reduce your chances of

build and

Quoted 12 lines
Quoted 12 lines
Quoted 1 line

runtime problems with the intermediate kernels.

Thank-you, that did help immensely.

Here's the 'git bisect' result...

--------------
7a56aa45982bb87bfca98a2832b5ae782c03364a is the first bad commit commit 7a56aa45982bb87bfca98a2832b5ae782c03364a

Author: Yegor Yefremov <[email protected]>
Date:   Wed Jun 16 16:29:55 2010 +0200
Quoted 4 lines
Quoted 4 lines

serial: add UART_CAP_EFR and UART_CAP_SLEEP flags to 16C950
UARTs definition

Adding UART_CAP_EFR and UART_CAP_SLEEP flags will

enable sleep

Quoted 17 lines
Quoted 16 lines

mode
and automatic CTS flow control for 16C950 UARTs. It will also
avoid
capabilities detection warning like this:

"ttyS0: detected caps 00000700 should be 00000100"

:040000 040000 1776ca8d5c653834363c0778b5b404ee52bd2d69
b81cfe4f302a674935181bd248641873820517e5 M drivers
--------------

Indeed, if I remove the UART_CAP_EFR flag from later kernel revisions there is no problem.

Quoted 6 lines
Quoted 3 lines

Greg,

What's to be done?

Sorry for the delay, I think Pavel's posted patch will solve this issue for you, right?

I've looked in the linux-serial archives for posts by Pavel for the last month, but I don't see a patch. Please tell me where I can find this patch.

Thanks,

Lee.

#8 lore raw
Quoted 63 lines · Lee Howard
Quoted 63 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, January 10, 2011 4:03 PM
To: Lee Howard
Cc: [email protected]
Subject: Re: Mainpine IQ Express Rev3 problems beginning 2.6.36

Quoted 3 lines · Lee Howard
Quoted 3 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of

Lee Howard

Quoted 10 lines
Quoted 10 lines

Sent: Tuesday, December 14, 2010 11:50 AM
To: 'Greg KH'
Cc: [email protected]
Subject: RE: Mainpine IQ Express Rev3 problems beginning 2.6.36

Quoted 5 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Sunday, December 12, 2010 8:52 AM

As for build issues, try to make a minimal working

config for your

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

system, using 'make localmodconfig'. That will speed up your build time immensely as well as reduce your chances of

build and

Quoted 12 lines
Quoted 12 lines
Quoted 1 line

runtime problems with the intermediate kernels.

Thank-you, that did help immensely.

Here's the 'git bisect' result...

--------------
7a56aa45982bb87bfca98a2832b5ae782c03364a is the first bad commit commit 7a56aa45982bb87bfca98a2832b5ae782c03364a

Author: Yegor Yefremov <[email protected]>
Date:   Wed Jun 16 16:29:55 2010 +0200
Quoted 4 lines
Quoted 4 lines

serial: add UART_CAP_EFR and UART_CAP_SLEEP flags to 16C950
UARTs definition

Adding UART_CAP_EFR and UART_CAP_SLEEP flags will

enable sleep

Quoted 19 lines
Quoted 10 lines

mode
and automatic CTS flow control for 16C950 UARTs. It will also
avoid
capabilities detection warning like this:

"ttyS0: detected caps 00000700 should be 00000100"

Quoted 6 lines

:040000 040000 1776ca8d5c653834363c0778b5b404ee52bd2d69
b81cfe4f302a674935181bd248641873820517e5 M drivers
--------------

Indeed, if I remove the UART_CAP_EFR flag from later kernel revisions there is no problem.

Greg,

Quoted 7 lines
Quoted 4 lines
Quoted 1 line

What's to be done?

Sorry for the delay, I think Pavel's posted patch will solve this issue for you, right?

I've looked in the linux-serial archives for posts by Pavel for the last month, but I don't see a patch. Please tell me where I can find this patch.

I've attached it below.

thanks,

greg k-h

Quoted 1 line

From [email protected] Sat Jan 8 23:38:58 2011

Return-Path: <[email protected]> X-OfflineIMAP-873005426-6772656752656d6f7465-746f646f: 1294595209-0154868123845-v6.2.0
Delivered-To: unknown
Received: from imap.suse.de ([unix socket])

	 by imap-int (Cyrus v2.2.12) with LMTPA;
	 Sun, 09 Jan 2011 08:38:58 +0100
X-Sieve: CMU Sieve 2.2
Received: from relay1.suse.de (relay1.suse.de [149.44.160.133])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "relay.suse.de", Issuer "CAcert Class 3 Root" (verified OK))
	by imap.suse.de (Postfix) with ESMTPS id 7CCF63C539A9
	for <[email protected]>; Sun,  9 Jan 2011 08:38:58 +0100 (CET)
Received: by relay1.suse.de (Postfix)
	id 6E027344BA65; Sun,  9 Jan 2011 08:38:58 +0100 (CET)
Received: from relay1.suse.de (localhost [127.0.0.1])
	by relay1.suse.de (Postfix) with ESMTP id 644B9344BA64
	for <[email protected]>; Sun,  9 Jan 2011 08:38:58 +0100 (CET)

Received: from relay1.suse.de ([127.0.0.1])
by relay1.suse.de (relay1.suse.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 01359-10 for <[email protected]>;
Sun, 9 Jan 2011 08:38:58 +0100 (CET)
Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15])

	by relay1.suse.de (Postfix) with ESMTP id 18EB4344BA61
	for <[email protected]>; Sun,  9 Jan 2011 08:38:58 +0100 (CET)
Received: from atrey.karlin.mff.cuni.cz (ksp.mff.cuni.cz [195.113.26.206])
	by mx2.suse.de (Postfix) with ESMTP id 0F1ED4844E
	for <[email protected]>; Sun,  9 Jan 2011 08:38:57 +0100 (CET)
Received: by atrey.karlin.mff.cuni.cz (Postfix, from userid 512)
	id 7B4B8F01C3; Sun,  9 Jan 2011 08:38:57 +0100 (CET)

Date: Sun, 9 Jan 2011 08:38:48 +0100
From: Pavel Machek <[email protected]>
To: Greg KH <[email protected]>
Cc: Alan Cox <[email protected]>,
[email protected], [email protected], [email protected], [email protected], [email protected]
Subject: unbreak billionton CF card (was Re: [000/152] 2.6.36.3-stable
review)
Message-ID: <[email protected]>
References: <[email protected]>
<[email protected]> <[email protected]> <[email protected]> <[email protected]>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <[email protected]>
User-Agent: Mutt/1.5.20 (2009-06-14)
X-Virus-Scanned: by amavisd-new at relay1.suse.de
X-Spam-Status: No, score=-3.599 tagged_above=-20 required=5
tests=[BAYES_00=-2.599, MY_LINUX=-1]
X-Spam-Score: -3.599
X-Spam-Level:
Status: RO
Content-Length: 1129

Unbreak Billionton CF bluetooth card. This actually fixes a regression on zaurus.

---

Quoted 7 lines
Quoted 4 lines

Flow control flag seems to be responsible.

But... it hits me and then... me. So I'd like to see it resolved in devel tree, but it may not 100% vital for stable.

Ok, care to make up a patch I can apply for Linus's tree first that works for you?

./drivers/serial - ./drivers/serial.ofic

drivers/serial/8250.c renamed from drivers/serial.ofic/8250.c +2 -1
diff -X /usr/src/linux/.gitignore -ur ./drivers/serial.ofic/8250.c ./drivers/serial/8250.c
@@ -236,7 +236,8 @@
 		.fifo_size	= 128,
 		.tx_loadsz	= 128,
 		.fcr		= UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
-		.flags		= UART_CAP_FIFO | UART_CAP_EFR | UART_CAP_SLEEP,
+		/* UART_CAP_EFR breaks billionon CF bluetooth card. */
+		.flags		= UART_CAP_FIFO | UART_CAP_SLEEP,
 	},
 	[PORT_16654] = {
 		.name		= "ST16654",
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
author
#9 lore raw
Quoted 77 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Tuesday, January 11, 2011 3:03 PM
To: Lee Howard
Cc: [email protected]
Subject: Re: Mainpine IQ Express Rev3 problems beginning 2.6.36

Quoted 9 lines · Lee Howard
Quoted 9 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, January 10, 2011 4:03 PM
To: Lee Howard
Cc: [email protected]
Subject: Re: Mainpine IQ Express Rev3 problems beginning 2.6.36

On Fri, Dec 17, 2010 at 05:25:19AM -0800, Lee Howard wrote:

Quoted 8 lines
Quoted 8 lines
Quoted 3 lines
Quoted 3 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of

Lee Howard

Quoted 4 lines
Quoted 4 lines

Sent: Tuesday, December 14, 2010 11:50 AM
To: 'Greg KH'
Cc: [email protected]
Subject: RE: Mainpine IQ Express Rev3 problems

beginning 2.6.36

Quoted 8 lines
Quoted 8 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Sunday, December 12, 2010 8:52 AM

As for build issues, try to make a minimal working

config for your

Quoted 1 line
Quoted 1 line
Quoted 1 line

system, using 'make localmodconfig'. That will

speed up your

Quoted 10 lines
Quoted 10 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line

build time immensely as well as reduce your chances of

build and

Quoted 8 lines
Quoted 8 lines
Quoted 1 line

runtime problems with the intermediate kernels.

Thank-you, that did help immensely.

Here's the 'git bisect' result...

--------------
7a56aa45982bb87bfca98a2832b5ae782c03364a is the first

bad commit

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

commit 7a56aa45982bb87bfca98a2832b5ae782c03364a

Author: Yegor Yefremov <[email protected]>
Date:   Wed Jun 16 16:29:55 2010 +0200

serial: add UART_CAP_EFR and UART_CAP_SLEEP flags

to 16C950

Quoted 25 lines
Quoted 25 lines
Quoted 3 lines
Quoted 3 lines

UARTs definition

Adding UART_CAP_EFR and UART_CAP_SLEEP flags will

enable sleep

Quoted 20 lines
Quoted 10 lines

mode
and automatic CTS flow control for 16C950 UARTs. It will
also avoid
capabilities detection warning like this:

"ttyS0: detected caps 00000700 should be 00000100"

Quoted 6 lines

:040000 040000 1776ca8d5c653834363c0778b5b404ee52bd2d69
b81cfe4f302a674935181bd248641873820517e5 M drivers
--------------

Indeed, if I remove the UART_CAP_EFR flag from later kernel revisions there is no problem.

Greg,

What's to be done?

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

Sorry for the delay, I think Pavel's posted patch will solve this issue for you, right?

I've looked in the linux-serial archives for posts by Pavel for the last month, but I don't see a patch. Please tell me where

I can find this patch.

I've attached it below.

Thank you. Sorry for my delay in responding. Yes, the posted patch will solve the issue for me.

I was going to look into whether UART_CAP_SLEEP was meaningful without UART_CAP_EFR because I thought I had read somewhere that it was not. But I just haven't managed to make time to do that.

Thanks,

Lee.