> But in above case , there we can hit another race, if we have a sequence > like this > tty_init_dev->alloc_tty_struct -> tty_ldisc_init -> this will initialize > ldisc , > but at this moment disc_data is still NULL > > And if flush_to_ldisc comes in between, it will take ldisc reference and > proceeds receive buffer. So you need to move the lock up one line to protect the assignment to tty->port->itty. We can do that. At that point your flush_to_ldisc should see either port->itty = NULL or a valid initialized ldisc. Alan -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html