Thread (1 message) 1 message, 1 author, 2008-10-09

Re: small design problem with hso driver

From: Denis Joseph Barrow <hidden>
Date: 2008-10-09 09:01:59

Hi,
I've found something suspicous but am not sure if
it's my problem. It looks like it when I'm
doing a gdb debug session but I can't believe
code so wrong can get into the kernel
& it didn't cause problems before.

Have a look at /drivers/char/tty_io.c

tty_open

around line 2234 this calls
tty->ops->open which calls hso_serial_open
& if this returns an error i.e. -ENODEV
release_dev is called which calls in tty_open
which calls tty->ops_close around line 2003 in tty_io.c.

Surely if the driver returns an error code on hso_serial_open
hso_serial_close shouldn't be called
or have I a complete misunderstanding
of char driver semantics.

Greg KH wrote:
On Wed, Oct 08, 2008 at 03:52:38PM +0200, Denis Joseph Barrow wrote:
quoted
Hi,
I'm getting a fairly consistently reproducable problem
with the 3g modem hso driver. The most reproducable
bug I have.

It happens when I plug out the usb modem & ctrl-c
out of an ioctl call with the modem connected in paralell over ppp
with wvdial 

Basically whats happening is the hso_serial_close
is being called more times than the hso_serial_open &
I don't know why.
Care to put a trace or printk() to determine who is doing each open and
close?

thanks,

greg k-h

-- 
best regards,
D.J. Barrow
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help