Re: Problems with CF bluetooth

From: Pavel Machek
Date: Thu Sep 29 2005 - 16:32:49 EST


Hi!

> > I believe it would happen with any other CF card, too. Can you
> > hciattach it, unplug, hciattach again?
>
> actually I don't have any of them with me and I don't saw a problem with
> my Casira of a serial port.

Following patch seems to work around it. And yes, printk() triggers
twice after

root@amd:~# ~pavel/bin/billionton_start
hciattach: no process killed
hci0: Type: UART
BD Address: 00:10:60:AB:25:9A ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:201 acl:0 sco:0 events:9 errors:0
TX bytes:168 acl:0 sco:0 commands:8 errors:0

root@amd:~# ~pavel/bin/billionton_start
no state->info
no state->info
hci0: Type: UART
BD Address: 00:10:60:AB:25:9A ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:201 acl:0 sco:0 events:9 errors:0
TX bytes:168 acl:0 sco:0 commands:8 errors:0

root@amd:~#

Pavel

Workaround billionton eject problem.

---
commit 81a2889a21eb2bfdf8b242f2cc2cc1d6ad424ea2
tree 35187ac07854fda50f07e9de3eb1c46db2cdd0a7
parent 5fb2493e110ff081e4463e7ab65eff487a3a14f6
author <pavel@amd.(none)> Thu, 29 Sep 2005 23:21:18 +0200
committer <pavel@amd.(none)> Thu, 29 Sep 2005 23:21:18 +0200

drivers/serial/serial_core.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -521,7 +521,9 @@ static void uart_flush_buffer(struct tty
DPRINTK("uart_flush_buffer(%d) called\n", tty->index);

spin_lock_irqsave(&port->lock, flags);
- uart_circ_clear(&state->info->xmit);
+ if (!state->info)
+ printk(KERN_CRIT "no state->info\n");
+ else uart_circ_clear(&state->info->xmit);
spin_unlock_irqrestore(&port->lock, flags);
tty_wakeup(tty);
}


--
if you have sharp zaurus hardware you don't need... you know my address
# Take 2.6.12-rc3-mm3
#
# PCMCIA config:
# card "Cyber-blue Compact Flash Card"
# manfid 0x0279, 0x950b
# bind "serial_cs"
#

killall hciattach
sleep .1
setserial /dev/ttyBT baud_base 921600
hciattach -s 921600 /dev/ttyBT bcsp
hciconfig hci0 up
hciconfig