On 21/03/2011 11:27, Alan Cox wrote: > It's quite likely that was as broken before your change as after. The > locking in the code makes no sense so I flagged it up. The > nozomi ntty_write also has lots of oddness in it that really needs > sorting out. > > I suspect that the chunk > > if (!dc || !port) > return -ENODEV; > > mutex_lock(&port->tty_sem); > > if (unlikely(!port->port.count)) { > DBG1(" "); > goto exit; > } > > and > > /* notify card */ > if (unlikely(dc == NULL)) { > DBG1("No device context?"); > goto exit; > } > > and the mutex unlock are actually not doing anything > > On the write_room case I think that as the code already uses tty_port > helpers it needs to simply just return the correct value and not do all > the other checks. chars_in_buffer() likewise > > So in fact I don't think at this point the tty_sem needs replacing with > anything, but the various bogus port.count checks want ripping out. > > Thank you very much for the explanation. I will do my best to respin the patch with appropriate changes. Jack -- To unsubscribe from this list: send the line "unsubscribe linux-ppp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html